概述
- 机器学习,即从样本数据中寻找规律,建立模型对未知的数据进行观测。如识别手写体数字,首先提供大量手写体数字图像(每张图像都通过人工标记了它是什么数字),我们把这些图像作为训练数据,通过学习算法自动生成模型,依靠模型识别新的手写体数字
基本概念
- 我们以买芒果作为例子:
(1)首先,我们选取一些芒果,列出它们的特征(颜色、大小、形状、产地、品牌)及要预测的标签。标签可以是连续值(芒果甜度、成熟度的综合打分),也可以是离散值(好、坏两类标签)。这样一个同时标记好特征和标签的芒果叫做样本
(2)一组样本的集合称为数据集,我们通常将数据集分为两部分:训练集和测试集。训练集中的样本用来训练模型,得到模型;测试集中的样本用来检验训练得到样本的可靠性
- 学习过程:
我们通常用一个𝐷维向量𝒙=[𝑥1,𝑥2,⋯,𝑥𝐷]T表示一个芒果的所有特征构成的向量,称为特征向量,其中每一维表示一个特征;用标量𝑦来表示芒果的标签。这里要注意的是,并不是所有的样本特征都是数值型,有的需要通过转换表示为特征向量
机器学习三要素
机器学习方法可以粗略的分为三个基本要素:模型、学习准则、优化算法
模型
模型就是一个能够描述x、y关系的真实映射函数或者真实条件概率分布,模型分为线性模型和非线性模型
- 线性模型的假设空间为一个参数化的线性函数族, 即
𝑓(𝒙;𝜃)=𝒘𝒙+𝑏,
其中参数𝜃包含了权重向量𝒘和偏置𝑏.
- 广义的非线性模型可以写为多个非线性基函数𝜙(𝒙)的线性组合
𝑓(𝒙;𝜃)=𝒘𝜙(𝒙)+𝑏,
其中𝜙(𝒙)=[𝜙1(𝒙),𝜙2(𝒙),⋯,𝜙𝐾(𝒙)]T为𝐾个非线性基函数组成的向量,参数𝜃 包含了权重向量𝒘和偏置𝑏.
如果𝜙(𝒙)本身为可学习的基函数,比如
𝜙(𝒙)=ℎ(𝒘𝜙′(𝒙)+𝑏𝑘),∀1≤𝑘≤𝐾,
其中ℎ(⋅)为非线性函数,𝜙′(𝒙)为另一组基函数,𝒘𝑘和𝑏𝑘为可学习的参数,则 𝑓(𝒙;𝜃)就等价于神经网络模型.
学习准则
一个好的模型应该每一个(x,y)在空间中的取值都与真实映射函数一致,为了描述模型的好坏,我们引入期望错误来衡量:
损失函数
损失函数是一个非负实数函数,用于量化模型预测值和真实标签值间的差异
- 几种常用的损失函数
风险最小化准则
- 一个好的模型,期望错误应该较小。但是由于我们不可能知道所有的数据分布,所以实际上无法计算其期望风险。我们能计算的只能是经验错误,即在训练集上的平均损失:
因此我们规定,使得经验错误最小的模型,就是好的模型,这就是经验风险最小化原则
- 经验风险最小化原则带来的过拟合问题:根据大数定理,当训练集大小|𝒟|趋向于无穷大时,经验风险就趋向于期望风险.然而通常情况下,我们无法获取无限的训练样本,并且由于训练数据少、存在一些噪声数据,不能很好地反映全部数据的真实分布.这时,经验风险最小化原则很容易导致模型在训练集上错误率很低,但是在未知数据上错误率很高,这就是过拟合
为了解决过拟合问题,一般在经验风险最小化的基础上再引入参数的正则化来限制模型能力,使其不要过度地最小化经验风险。这种准则就是结构风险最小化准则:
- 与过拟合相反的概念是欠拟合,即模型在训练集上错误率比较高,这一般是由于模型能力不足导致的(也可能是我们正则化时过度限制模型能力)
总之,学习准则可以理解为从一个有限、有噪声的数据集中,尽可能的降低泛化错误,建立一个能够更好地预测未知样本的模型
优化算法
- 确定了学习准则后,如何找到最优模型就是一个最优化问题。
- 在机器学习中,优化可以分为参数优化和超参数优化。模型 𝑓(𝒙;𝜃)中的𝜃称为模型的参数,可以通过优化算法进行学习;除了可学习的参数𝜃之外,还有一类参数是用来定义模型结构或优化策略的,这类参数叫作超参数
常见的超参数包括 :聚类算法中的类别个数、梯度下降法中的步长、正则化项的系数、神经网络的层数、支持向量机中的核函数等.超参数的选取一般都是组合优化问题,很难通过优化算法来自动学习.因此,超参数优化是机器学习的一个经验性很强的技术,通常是按照人的经验设定,或者通过搜索的方法对一组超参数组合进行不断试错调整.
- 几种优化算法:
机器学习的简单示例:线性回归
简单理解,线性回归就是拟合成一个一次函数
- 下边,介绍四种不同的参数估计方法:
偏差方差分解
在建模时,我们需要在模型的拟合能力和复杂度之间权衡。拟合能力过强,复杂度较高,且易造成过拟合;拟合能力过低,复杂度虽然降低,但可能造成欠拟合。因此,我们引入偏差-方差分解,以在模型的拟合程度和复杂度间取得较好的平衡
P53~55
机器学习算法的类型
机器学习算法的标准分类多样,按照函数类型,可分为线性类型和非线性类型;按照学习准则,分为统计方法和非统计方法。
一般来说,我们根据训练样本以及反馈方式的不同,主要将算法分为以下几类:
(1)监督学习,其训练集中每个样本都有标签。根据标签类型的不同,我们又可以把监督学习分为以下三种:
a.回归问题。标签是连续值,输出的模型也是连续值
b.分类问题。标签是离散的,由根据类别数量分为二分裂和多分类
c.结构化学习。标签是结构化的对象,如序列、树、图等
(2)无监督学习。训练样本不含有标签,例如聚类、密度估计、特征学习、降维
(3)强化学习。通过交互来学习,电脑做出一个动作,环境给予即时或延时的奖励。电脑在和环境的交互中不断学习并调整策略,来取得最大化的期望总回报
值得注意的是,监督学习和无监督学习的区别在于训练集数据是否有标签,强化学习则不需要给出训练样本,是一种在线的学习机制
数据的特征表示
数据有文本、音频、图像、视频等多种类型,不同类型的数据,其原始特征的空间也不相同.机器学习算法要求输入的样本特征是数学上可计算的,因此在机器学习之前我们需要将这些不同类型的数据转换为向量表示。比如一张灰度图像(像素数量为𝐷)的特征空间为[0,255]𝐷,一个自然语言句子(长度为𝐿)的特征空 间为|𝒱|𝐿,其中𝒱为词表集合.
- 数据特征转换
(1)图像特征。图像中每个像素点的灰度值+直方图、宽高比、笔画数、纹理特征、边缘特征等额外特征,构成一个向量
(2)文本特征。一种方法是使用词袋模型,设训练集合中的词都来自一个词表𝒱,大小为|𝒱|,则每个样本可以表示为一个|𝒱|维的向量𝒙∈ℝ|𝒱|.向量𝒙 中第𝑖维的值表示词表中的第𝑖个词是否在𝑥中出现.如果出现,值为1,否则为0.
但是词袋模型仅仅将文本看做词的集合,不考虑词序信息,难以精准表示文本信息。因此我们有了第二种方法:N元特征,即每N个连续词构成一个基本单元,然后用词袋模型表示。
(3)表示学习。表示学习就是让机器自动的学习出有效的特征,从而避免了直接使用原始特征对机器学习能力的高要求,以及人工特征提取带来的人力物力浪费
传统的特征学习
传统的特征学习,即通过人为的设计一些准则,然后根据这些准则选取有效的特征。特征学习主要有两种方法,特征选择和特征抽取
特征选择
特征选择,选取原始特征集合的一个子集,使得基于这个子集训练的模型准确率最高。实际上就是保留有效特征,移除冗余特征
- 子集搜索。使用贪心策略:由空集合开始,每一轮添加该轮最优的特征(前向搜索);或者从原始特征集合开始,每次删除最冗余的特征(反向搜索)
子集搜索又分为过滤式方法和包裹式方法:
特征抽取
特征选择和特征抽取可以在不丢失原始特征信息的前提下,去掉噪声信息,减少特征数量。也就进而减少了特征向量的维度,所以特征选择和特征提取也经常称为降维
深度学习
传统的机器学习中,特征提取和预测模型的学习是分离的,机器学习模型仅仅指后边根据提取到的特征学习模型。
而深度学习则将特征学习和模型的预测学习有机统一到一个模型中,从而避免了两者准则的不一致性
深度学习方法的难点在于如何评价表示学习对最终系统输出结果的贡献或影响,即贡献度分配问题.目前比较有效的模型是神经网络,即将最后的输出层作为预测学习,其他层作为表示学习.
评价指标
机器学习中的著名理论和定理
PAC学习理论
在机器学习中,通常用经验或多次试验来选择合适的模型、训练样本数据等,但是这样往往不太可靠,成本也较高。
为此我们提出了计算学习理论,来分析问题难度、计算模型能力,指导机器学习模型和算法的设计。计算学习理论中,最基础的理论就是可能近似正确(PAC)学习理论
- 机器学习中,一个关键的问题是期望错误和经验错误间的差异,称为泛化错误。泛化错误决定了机器学习模型能否精准的预测未知数据
由于我们不可能知道所有数据的真实分布,因此期望学习到一个期望错误为0的函数是不切实际的。所以,我们降低建模的期望,只要求能够有一定概率学习到一个近似正确的假设,这就是PAC学习。
- PAC学习可以分为两部分理解:
(1)近似正确(Approximately Correct):要求泛化错误小于某个值,来保证模型可以较好的预测到未知数据
(2)可能(Probably):机器学习有‘可能’(一定概率)学习到这样一个近似正确的假设,不是一定能学习到
- 在机器学习中,模型越复杂,模型泛化能力越差,达到相同泛化能力需要的样本数量越多。当然,我们也可以通过正则化来限制模型的复杂度
没有免费午餐定理
任何算法都有局限性,不存在一种算法合适于所有的领域和任务
奥卡姆剃刀原理:若无必要,勿增实体
简单的模型泛化能力更好,因此有两个性能相近的模型时,我们会选择更为简单的模型。这也就是在机器学习的学习准则中,我们经常引入参数正则化,来限制模型能力,避免过拟合
在机器学习中,我们在保证模型性能相近的情况下,要尽可能的是模型简单,这就是奥卡姆剃刀原理
丑小鸭定理:丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大(这里的丑小鸭指的是白天鹅的幼雏,而不是丑陋的小鸭子)
世界上不存在相似性的客观标准,一切相似性的标准都是主观的。
如果从体型大小或外貌的角度来看,丑小鸭和白天鹅的区别大于两只白天鹅的区别;但是如果从基因的角度来看,丑小鸭与它父母的差别要小于它父母和其他白天鹅之间的差别.
归纳偏置
在机器学习中,很多学习算法经常会对学习的问题做一些假设,这些假设就 称为归纳偏置.
比如在最近邻分类器中,我们 会假设在特征空间中,一个小的局部区域中的大部分样本同属一类.在朴素贝叶 斯分类器中,我们会假设每个特征的条件概率是互相独立的.
归纳偏置在贝叶斯学习中也经常称为先验.
总结
- 机器学习算法虽然种类繁多,但是基本要素就三个:模型、学习准则、优化算法。大部分机器学习算法,实际上就是这三个基本要素的不同组合。值得注意的是,相同的模型也可以有不同的学习算法,比如线性分类模型有感知器、Logistic 回归和支持向量机,它们之间的差异在于使用了不同的学习准则和优化算法
- 此外,机器学习的一个重要内容是表示学习。传统的表示学习方法包括特征选择和特征抽取
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。