第3章基本概念
本章介绍机器学习中的常用概念,包括算法的分类,算法的评价指标,以及模型选择问题。按照样本数据是否带有标签值,可以将机器学习算法分为有监督学习与无监督学习。按照标签值的类型,可以将有监督学习算法进一步细分为分类问题与回归问题。按照求解的方法,可以将有监督学习算法分为生成模型与判别模型。
比较算法的优劣需要使用算法的评价指标。对于分类问题,常用的评价指标是准确率;对于回归问题,是回归误差。二分类问题由于其特殊性,我们为它定义了精度与召回率指标,在此基础上可以得到ROC曲线。对于多分类问题,常用的评价指标是混淆矩阵。
泛化能力是衡量有监督学习算法的核心标准。与模型泛化能力相关的概念有过拟合与欠拟合,对泛化误差进行分解可以得到方差与偏差的概念。正则化技术是解决过拟合问题的一种常见方法,在本章中我们将会介绍它的实例-岭回归算法。
3.1算法分类
按照样本数据的特点以及求解手段,机器学习算法有不同的分类标准。这里介绍有监督学习和无监督学习,分类问题与回归问题,生成模型与判别模型的概念。强化学习是一种特殊的机器学习算法,它的原理将在第20章详细介绍。
3.1.1监督信号
根据样本数据是否带有标签值(label),可以将机器学习算法分成有监督学习和无监督学习两类。要识别26个英文字母图像,我们需要将每张图像和它是哪个字符即其所属的类别对应起来,图像的类别就是标签值。
有监督学习(supervised learning)的样本数据带有标签值,它从训练样本中学习得到一个模型,然后用这个模型对新的样本进行预测推断。样本由输入值与标签值组成:
(),y x
其中x为样本的特征向量,是模型的输入值;y为标签值,是模型的输出值。标签值可以是整数也可以是实数,还可以是向量。有监督学习的目标是给定训练样本集,根据它确定映射函数:
正则化是最小化策略的实现
()
y f=x
确定这个函数的依据是它能够很好的解释训练样本,让函数输出值与样本真实标签值之间的误差最小化,或者让训练样本集的似然函数最大化。训练样本数是有限的,而样本集所有可能的取值在很多情况下是一个无限集,因此只能从中选取一部分样本参与训练。整个样本的集合称为样本空间。
日常生活中的很多机器学习应用,如垃圾邮件分类、手写文字识别、人脸识别、语音识别等都是有监督学习。这类问题需要先收集训练样本,对样本进行进行标注,用标注好的样
本训模型,然后用模型对新的样本进行预测。
无监督学习(unsupervised learning)对没有标签的样本进行分析,发现样本集的结构或者分布规律。无监督学习的典型代表是聚类,表示学习,和数据降维,它们处理的样本都不带有标签值。
聚类也是分类问题,但没有训练过程。算法把一批没有标签的样本划分成多个类,使得在某种相似度指标下每一类中的样本尽量相似,不同类的样本之间尽量不同。聚类算法的样本只有输入向量而没有标签值,也没有训练过程。在第18章中将详细介绍各种典型的聚类算法。
无监督学习的另一类典型算法是表示学习,它从样本中自动学习出有用的特征,用于分类和聚类等目的。典型的实现有自动编码器和受限玻尔兹曼机,它们的输入是没有标签值的数据如图像或语音信号,输出值是提取的特征向量。在第14章将详细介绍自动编码器和受限玻尔兹曼机的原理。
数据降维也是一种无监督学习算法,它将n维空间中的向量x通过某种映射函数映射到
更低维的m维空间中,在这里m n
()
φ
y x
=
通过将数据映射到低维空间,可以更容易的对它们进行分析与显示。如果映射到2维或3维空间,可以直观的将数据可视化。在第7章中将详细介绍数据降维算法。
对于有些应用问题,标注训练样本的成本很高。如何利用少量有标签样本与大量无标签样本进行学习是一个需要解决的问题,一种方法是半监督学习(Semi-Supervised Learning)。半监督学习的训练样本是有标签样本与无标签样本的混合,一般情况下,无标签样本的数量远大于有标签样本数。半监督学习的原理将在第19章详细讲述。
3.1.2分类问题与回归问题
在有监督学习中,如果样本的标签是整数,则预测函数是一个向量到整数的映射:
n→
这称为分类问题。样本的标签是其类别编号,一般从0或者1开始编号。如果类型数为2,则称为二分类问题,类别标签一般设置成+1和-1,分别对应正样本和负样本。例如,如果要判断一张图像是否为人脸,则正样本为人脸,负样本为非人脸。
对于分类问题,如果预测函数是线性函数则称为线性模型,它是n维空间的线性划分。线性函数是超平面,在二维平面中是直线,在三维空间中是平面。二分类问题的线性预测函数为:
()
T
w x
sgn b+
其中w是权重向量,b是偏置项。线性支持向量机,logistic回归等属于线性模型,它们的预测函数都是上面这种形式。
非线性模型的决策函数是非线性函数,分类边界是n维空间中的曲面。在实际应用中大多数情况下数据是非线性的,因此要求预测函数具有非线性建模的能力。使用非线性核的支持向量机,人工神经网络,决策树等都属于非线性模型。
在有监督学习中,如果标签值是连续实数,则称为回归问题,此时预测函数是向量到实数的映射:
n→
例如,我们根据一个人的学历,工作年限等特征预测它的收入,这就是一个回归问题,因为收入是实数值而不是类别标签。
和分类问题一样,预测函数可以是线性函数也可以是非线性函数。如果是线性函数则称为线性回归。
对于有监督学习,机器学习算法在训练时的任务是给定训练样本集,选择预测函数的类型,然后确定函数的参数值,如线性模型中的w 和b 。确定参数的常用方法是构造一个损失函数(loss function ),它表示预测函数的输出值与样本标签值之间的误差。对所有训练样本的误差求平均值,这个值是参数θ的函数:
()()1
1min ;l i i L L l ==∑θθx θ其中();i L x θ为单个样本的损失函数,l 为训练样本数。训练的目标是最小化损失函数,求解损失函数的极小值可以确定θ的值,从而确定预测函数。对机器学习算法来说关键的一步是确定损失函数,一旦它确定了,剩下的就是求解最优化问题,这在数学上一般有标准的解决方案。
下面以线性回归为例来说明有监督学习算法的训练过程。假设有l 个训练样本(),i i y x ,其中i x 为特征向量,i y 为实数标签值。线性回归的预测函数为:
()T f b
=+x w x 权重向量w 和偏置b 是训练要确定的参数。定义损失函数为误差平方和的均值,即均方误差:
()()21
12l i i i L f y l ==-∑x 将回归函数代入损失函数的定义,可以得到如下的损失函数:
()2T 1
12l i i i L b y l ==+-∑w x 为简化表述,将权重向量和特征向量进行增广,即将w 和b 进行合并,得到扩充后的向量:
,b ⎡⎤⎣⎦→w w
类似的,对x 也进行扩充:
,1⎡⎤⎣⎦→x x 目标函数可以简化为:
()2T 1
12l i i i L y l ==-∑w x 可以证明这个目标函数是凸函数。它的二阶偏导数为:
21
1l ki kj k i j L x x w w l =∂=∂∂∑其中,ki x 为第k 个样本的特征向量的第i 个分量。因此目标函数的Hessian 矩阵为:
<11........................l l k k k kn k k k k k kn l k l l kn k kn kn kn k kn kn k k x x x x x x x x l l x x x x x x x x =====⎡⎤
⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎣⎦=∑∑∑∑∑写成矩阵形式为:
[]T 1T l l l l ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦
x x x X X x 其中X 是所有样本的特征向量按照列构成的矩阵。对于任意不为0的向量x ,有:
()()T
T T 0
=≥x X Xx Xx Xx 因此Hessian 矩阵是半正定矩阵,上面的优化问题是一个凸优化问题,可以用梯度下降法或牛顿法求解。损失函数对j w 的偏导数为:()T 1
1l i i ij i j L y x w l =∂=-∂∑w x 得到对权重的梯度之后,可以用梯度下降法进行更新。由于是凸优化问题,因此梯度下降法可以保证收敛到全局最优解。也可以直接寻梯度为0的点来解此问题,求解线性方程组,这就是经典的最小二乘法。
3.1.3判别模型与生成模型
按照求解的方法,可以将分类算法分成判别模型和生成模型。给定特征向量x 与标签值y ,生成模型对联合概率(),p y x 建模,判别模型对条件概率()p y x 进行建模。另外,不使用概率模型的分类器也被归类为判别模型,它直接得到预测函数而不关心样本的概率分布:
()
y f =x 这三种模型也分别被称为生成学习,条件学习,以及判别学习。除此之外,对生成模型和判别模型还有另外一种定义。生成模型对条件概率()p y x 建模,判别模型对条件概率()
p y x 建模。前者可以用来根据标签值y (也可以称为隐变量)生成随机的样本数据x ,而后者则根据样本特征向量x 的值判断它的标签值y 。
常见的生成模型有贝叶斯分类器,高斯混合模型,隐马尔可夫模型,受限玻尔兹曼机,
生成对抗网络等。典型的判别模型有决策树,kNN算法,人工神经网络,支持向量机,logistic 回归,AdaBoost算法等。
3.1.4强化学习
强化学习是一类特殊的机器学习算法,它根据输入数据确定要执行的动作,输入数据是环境参数。和有监督学习算法类似,这里也有训练过程中。训练时,对正确的动作做出奖励,对错误的动作进行惩罚,训练完成之后用得到的模型进行预测。在第20章中将详细介绍这种算法。
3.2模型评价指标
我们需要评价各种机器学习算法和模型的好坏,以进行比较,因此需要定义衡量模型精度的指标。有监督学习分为训练与预测两个阶段,我们一般用与训练样本集不同的另一个样本集统计算法的精度。更复杂的做法是再引入一个验证集,用于确定模型的某些人工设定的参数,优化模型。
对于分类问题,评价指标是准确率,它定义为测试样本集中被正确分类的样本数与测试样本总数的比值。对于回归问题,评价指标是回归误差,定义为预测函数输出值与样本标签值之间的均方误差。
3.2.1精度与召回率
精度与召回率是分类问题的评价指标。对于二分类问题,它的样本只有正样本和负样本两类。以人脸检测问题为例,正样本是人脸,负样本是非人脸;对于垃圾邮件分类,正样本是垃圾邮件,负样本是正常邮件。
测试样本中正样本被分类器判定为正样本的数量记为TP(true positive的简写),被判定为负样本的数量记为FN(false negative的简写);负样本被分类器判定为负样本的数量记为TN(true negative的简写),被判定为正样本的数量记为FP(false positive的简写)。精度和召回率分别定义为:
()
+
TP/TP FP
召回率定义为:
()
+
TP/TP FN
精度是被分类器判定为正样本的样本中真正的正样本所占的比例,值越接近1,对正样本的分类越准确。召回率是所有正样本中被分类器判定为正样本的比例。一种极端情况是让分类器的输出都为正样本,此时召回率为1,但精度会非常低。
3.2.2ROC曲线
对于二分类问题,我们可以调整分类器的灵敏度从而得到不同的分类结果。将各种灵敏度下的准确率指标连成一条曲线,就是ROC曲线(接收机操作曲线)。首先定义真阳率和假阳率指标。真阳率(TPR)是所有正样本被分类器判定为正样本的比例:
()
=+
TPR TP/TP FN
在人脸检测中正样本是人脸,这个指标就是检测率,即所有待检测的人脸中能够检测出

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。