分类问题的⽬标是将输⼊变量线性分类模型 - 图1分到线性分类模型 - 图2个离散的类别线性分类模型 - 图3中的某⼀类,通常类别之间是互不相交的,也就会将输入空间划分为不同的决策区域,区域的边界通常称为决策边界,或决策面。
现在我们先探讨分类的线性模型:指决策⾯是输⼊向量线性分类模型 - 图4的线性函数,因此被定义为线性分类模型 - 图5维输⼊空间中的线性分类模型 - 图6维超平⾯。如果数据集可以被线性决策⾯精确地分类,那么我们说这个数据集是线性可分的。
对于回归问题来说,⽬标向量线性分类模型 - 图7就是⼀个实数向量,它的值是我们想要预测的。在分类问题中,使⽤⽬标值的⽅式来表⽰类别标签有许多不同的⽅式。根据类别的多少,可分为二分类问题和多分类问题,前者常用0/1二元表示法,后者常用”1-of-K”的方式来表示目标向量。
为了实现分类,一个“简单”的思路就是借助之前介绍的线性回归模型,将输出进行一个二次映射,使其能输出离散的分类变量
线性分类模型 - 图8
其中线性分类模型 - 图9被称为激活函数,通常是非线性函数。而决策面对应于线性分类模型 - 图10,其中线性分类模型 - 图11为常数,由于输入与输出是一一映射的,此时必然有线性分类模型 - 图12线性分类模型 - 图13为常数,所以决策面是输入变量线性分类模型 - 图14的线性函数。但模型本身由于激活函数的非线性变换作用,不再是参数的线性模型了,仅称为推广的线性模型

1 判别函数

判别函数是⼀个以向量线性分类模型 - 图15为输⼊,把它分配到线性分类模型 - 图16个类别中的某⼀个类别(记作线性分类模型 - 图17)的函数。我们先集中讨论线性判别函数——决策⾯是超平⾯的判别函数。

1.1 判别目标

1.1.1 二分类

线性判别函数的最简单的形式是
线性分类模型 - 图18
线性分类模型 - 图19称为权向量。由于决策平面是输入变量的常数,为了方便,我们将决策面线性分类模型 - 图20记为线性分类模型 - 图21,其中偏置线性分类模型 - 图22称为阈值,因为如果输入项线性分类模型 - 图23则输入被分类到线性分类模型 - 图24中,否则为线性分类模型 - 图25类。
显然对于使用线性判别函数的二分类问题而言,就是要找一个唯一的超平面,将线性分类模型 - 图26的输入空间一分为二,接下来我们就探讨线性判别函数中各个参数对决策面的影响。

  • 权重参数线性分类模型 - 图27

考虑决策面上任意两个不同的点线性分类模型 - 图28线性分类模型 - 图29,由于决策面为常数,所以有
线性分类模型 - 图30
所以线性分类模型 - 图31与决策面内任何向量都正交,因此线性分类模型 - 图32是垂直于决策超平面的法向量。如果线性分类模型 - 图33位于决策面线性分类模型 - 图34的区域,那么我们知道对于从线性分类模型 - 图35指向线性分类模型 - 图36的向量线性分类模型 - 图37与参数向量线性分类模型 - 图38的内积满足线性分类模型 - 图39
因此法向量总是指向线性分类模型 - 图40的区域的。

  • 偏置参数线性分类模型 - 图41

对于决策平面内任意一点线性分类模型 - 图42,我们知道对应向量的模线性分类模型 - 图43即为该点到原点的距离,而该向量在法向量方向上的投影即为原点到决策平面的垂直距离。令线性分类模型 - 图44线性分类模型 - 图45线性分类模型 - 图46的夹角,由于线性分类模型 - 图47,得
线性分类模型 - 图48
因此可以说:线性分类模型 - 图49确定决策面的方向,线性分类模型 - 图50确定决策面的位置。

截屏2020-12-15 下午10.27.06.png

另外,对于空间中任意的输入点线性分类模型 - 图52,线性判别函数线性分类模型 - 图53所表示的物理意义?考虑线性分类模型 - 图54在决策面上的投影点线性分类模型 - 图55,我们有
线性分类模型 - 图56
其中r表示点线性分类模型 - 图57到决策面的垂直距离,等式两侧同乘线性分类模型 - 图58,由于决策面上的点线性分类模型 - 图59满足线性分类模型 - 图60,可知
线性分类模型 - 图61
这说明二分类的判别函数线性分类模型 - 图62的值给出了点线性分类模型 - 图63到决策⾯的垂直距离r的⼀个有符号的度量!给定判别函数时即决策面随之确定为某个超平面线性分类模型 - 图64,此时线性分类模型 - 图65为常数,故而线性分类模型 - 图66越大则该点距离决策面的垂直距离r也越大。

1.1.2 多分类

将线性判别函数推广到线性分类模型 - 图67个类别中,即为多分类问题。容易想到的一种方法是设置多个二分类器,比如:

  • 线性分类模型 - 图68个二分类器:每个分类器的目标是区分一个输入是否属于线性分类模型 - 图69类,称为“1对其他”(one-vs-the-rest)分类器;
  • 线性分类模型 - 图70个二分类器:对类别进行两两判别,称为“1对1”(one-vs-one)分类器。K个类别中任取两个类别进行二分类,每个类别都需要和其余的线性分类模型 - 图71个类别进行二分类,所以共需要线性分类模型 - 图72个分类器,最后根据所有分类器的“总投票得分”选取最高的一个类;

对于严格进行0/1输出的简单的线性二分类器,这两种方案都存在大量的“平局”情况,会产生如下图所示的无法分类区域
截屏2020-12-15 下午11.06.23.png
从另一个角度看线性判别函数,不考虑阈值,而将线性分类模型 - 图74看作“打分函数”,其输出变量则为“得分”。我们可以通过引入K个这样的打分函数
线性分类模型 - 图75每个线性分类模型 - 图76给出当前输入线性分类模型 - 图77属于类别线性分类模型 - 图78的可能性得分,这样就能通过取得分最高的线性分类模型 - 图79对应的类别来对当前输入进行分类了。这种情况下任意两个类别线性分类模型 - 图80线性分类模型 - 图81间的决策面为
线性分类模型 - 图82这种方法能够避开无法按分类区域的原因是因为其决策面有良好的几何性质——单连通凸多面体
截屏2020-12-15 下午11.39.28.png

1.2 线性判别函数参数学习方法

接下来主要介绍三种学习线性判别函数的参数的⽅法,主要区别在于参数估计时的“目标”不同。需要注意的是至今我们都仅使用了线性判别函数,未对其输出进行非线性的激活函数映射,因此这里讨论的都仅仅是关于线性判别函数的参数估计方法。

1.2.1 最小平方方法

从线性回归模型“借鉴”最小化平方误差函数作为目标。直接考虑一个一般的K分类问题,其中目标向量使用“1-of-K”的二元表示方式。每个类别线性分类模型 - 图84都对应一个线性模型线性分类模型 - 图85,我们令线性分类模型 - 图86线性分类模型 - 图87,均为D+1维的向量,使用矩阵对K个模型进行整体表示
线性分类模型 - 图88
最终的分类结果对应输出的K维向量中线性分类模型 - 图89最大的类别。考虑一个大小为N的训练集线性分类模型 - 图90,接下来我们进行平方和误差的表示。令输入矩阵线性分类模型 - 图91和目标值矩阵线性分类模型 - 图92,平方和误差函数可写成线性分类模型 - 图93
同样,最大似然估计等价于最小化该误差函数,令线性分类模型 - 图94,可得解析解
线性分类模型 - 图95
最⼩平⽅⽅法对于判别函数的参数给出了精确的解析解。但是它仍然有很严重的问题,如图所示,问题主要表现在两个方面:
截屏2020-12-16 下午10.20.14.png

  • 对于离群点缺少鲁棒性;
  • 决策面的选择较差;

实际原因是:最⼩平⽅⽅法对应于⾼斯条件分布假设下的最⼤似然法,⽽⼆值⽬标向量的概率分布显然不是⾼斯分布。

1.2.2 Fisher线性判别函数

之前我们也曾提到过分类问题的关键在于找到决策面,正确划分决策空间。
截屏2020-12-16 下午11.27.10.png
最⼩平⽅⽅法中确定线性判别函数的⽬标是使模型的预测尽可能地与⽬标值接近,但这对于分类问题来说可能发生“过度反应”,因为对于分类问题我们追求的是所有点都能被划分到正确的类别空间中,而不是数据集的“平均预测距离误差”最小,所以说这可能更多是一个不恰当的目标
Fisher判别准则就是一种更适合分类问题的“决策面挑选标准”,其⽬标是最大化输出空间的类别间区分度

a. 二分类Fisher判别函数

一个思路是找到类别空间的中心点(代表点)——线性分类模型 - 图98,将这两个点的距离线性分类模型 - 图99最大化。之前的二分类线性判别函数里提到过线性判别函数线性分类模型 - 图100输出值的一个物理意义为:“输入点线性分类模型 - 图101到决策⾯的垂直距离的⼀个有符号的度量”,而线性分类模型 - 图102越大则线性分类模型 - 图103距离决策面的垂直距离越大,由于是有符号距离,对于不同类别的点而言会分列决策面两边,线性分类模型 - 图104越大则两点距离决策面垂直距离越远,此时线性分类模型 - 图105的值也随之增大。
另一种角度是从映射(投影)来看待线性判别函数,将D维的输入线性分类模型 - 图106映射为1维的输出线性分类模型 - 图107,由于决策面上的点满足线性分类模型 - 图108,因此映射后均为原点,而对于非决策面上的点,由于线性分类模型 - 图109是该点到决策面的有符号度量,如下图所示,距离决策面越远对应映射后的距离也越远。

截屏2020-12-17 上午12.49.34.png
对于如何选择这个类别中心,一种最为简单的⽅式就是类别均值投影——Fisher判别函数的思路就是利用样本之间的均值向量代表类别的“中心点”:
线性分类模型 - 图111
我们的判别函数要使得下式取得最大值
线性分类模型 - 图112
但是通过增⼤线性分类模型 - 图113,这个表达式可以任意⼤。为解决这个问题可将线性分类模型 - 图114限制为单位长度,即线性分类模型 - 图115,再使⽤拉格朗⽇乘数法来进⾏有约束的最优化求解。

这个⽅法还有⼀个问题,如图所⽰。这幅图中的两个类别在原始⼆维空间中可以完美地被分开,但是当投影到连接它们的均值的直线上时,就有了⼀定程度的重叠。如果类概率分布的协⽅差矩阵与对⾓化矩阵差距较⼤,这种问题就会出现 TODO。
Fisher准则根据类间方差与类内方差的比值来定义模型参数的学习目标。首先定义类内方差,对于属于某个类别线性分类模型 - 图116内部的方差,有
线性分类模型 - 图117

对于二分类问题,整个数据集总的类内方差定义为线性分类模型 - 图118,因此类间方差与类内方差的比值为
线性分类模型 - 图119

为了显式表达这个比值与模型参数线性分类模型 - 图120的关系,可进行如下表示
线性分类模型 - 图121

线性分类模型 - 图122
其中线性分类模型 - 图123为类间协方差矩阵,线性分类模型 - 图124为类内协方差矩阵,得
线性分类模型 - 图125
对上式关于模型参数线性分类模型 - 图126求导,可得其取得最大值的条件
线性分类模型 - 图127
这个结果就被定义为Fisher线性判别函数了,虽然严格来说并非一个判别函数,而是数据向一维投影的方向上的选择方式,但是通过使用投影将输入空间中的数据点映射都一维过程中,不同类别的点被“分离”开了,因此在一维空间中根据类间的分离位置设定一个阈值,用于分类。

b. 多分类Fisher判别函数

同样可以扩展到一般的多分类问题中。

1.2.3 感知器算法

不同于前面的线性判别,感知器算法属于推广的线性判别模型,引入不连续的非线性激活函数,其形式为线性分类模型 - 图128
模型输出的+1与-1可直接对应二分类问题中的正负两个类别。引入非线性激活函数后,为了便于模型参数的求解?,感知器算法中使用了额外的误差函数,当前的非线性激活函数相当于是线性基函数模型线性分类模型 - 图129符号函数sign,当模型输出与实际目标值不一致时有线性分类模型 - 图130,考虑预测结果中误分类的样本集线性分类模型 - 图131的求和作为误差函数
线性分类模型 - 图132
可以理解为对于输入空间中各个区域,如果某样本位于正确分类的区域,那么其对于误差函数的贡献为0,如果当前的样本线性分类模型 - 图133属于错误分类区域,之前提到过点线性分类模型 - 图134到线性模型决策⾯的垂直距离为线性分类模型 - 图135,所以样本点距离当前决策面距离越远,则其分类错误时对于误差函数中的贡献也越大。线性分类模型 - 图136关于线性分类模型 - 图137分段线性的,使用随机梯度下降算法代替梯度解析解,线性分类模型 - 图138的更新公式为
线性分类模型 - 图139
其中线性分类模型 - 图140为学习率,t表示更新的轮数(每轮中依次使用误分类集合中的每个样本进行参数的梯度更新)。如果将参数的学习速率线性分类模型 - 图141设为1,有线性分类模型 - 图142,也就是参数的更新为方式为:对于二分类中被错误分类的正样本,我们把向量样本输入向量线性分类模型 - 图143加到当前对于权向量线性分类模型 - 图144的估计值上,⽽对于负样本,我们从 线性分类模型 - 图145中减去向量线性分类模型 - 图146。过程如下图所示
截屏2020-12-20 下午3.20.36.png
直观上来说,参数向量线性分类模型 - 图148作为法向量时与线性分类模型 - 图149区域内的样本点的内积为负(夹角小于90°),反之在线性分类模型 - 图150对应区域内的点则夹角大于90°。使用错分的正样本(线性分类模型 - 图151)按参数更新公式进行更新时,即是对线性分类模型 - 图152线性分类模型 - 图153求和,也就是对线性分类模型 - 图154进行旋转,使得更新后的线性分类模型 - 图155线性分类模型 - 图156二者的夹角变小。错分的负样本的更新过程同理。

感知器收敛定理表明,如果训练数据线性可分,那么感知器算法可以保证在有限步骤内找到⼀个精确解。但即使数据集是线性可分的,也可能有多个解,并且最终哪个解会被找到依赖于参数的初始化以及数据点出现的顺序。而对于线性不可分的数据集,感知器算法永远不会收敛。
实际应用中数据在给定的基函数下经常是线性不可分的,或者收敛步骤过大,需要设定步骤的上限或是误差的下限,方便得到一个可用的近似解。
TODO

2 概率生成式模型

之前提到过:判别式模型对后验概率分布线性分类模型 - 图157建模,特点是可直接用于样本分类预测。而生成式模型的特点是对联合概率分布线性分类模型 - 图158建模,或者等价地对类条件概率密度线性分类模型 - 图159与类先验线性分类模型 - 图160进行建模,再通过贝叶斯定理来计算后验概率密度。

2.1 分类问题中的sigmoid函数

2.1.1 二分类问题

使用类条件概率密度线性分类模型 - 图161和类先验线性分类模型 - 图162表示后验概率分布时有
线性分类模型 - 图163
其中
线性分类模型 - 图164
形似线性分类模型 - 图165的函数称为logistic sigmoid函数,定义为
线性分类模型 - 图166
其函数图像如下,“sigmoid”的意思是“S形”。这种函数有时被称为“挤压函数”,因为它把整个实数轴映射到了⼀个有限的区间中,这个函数在许多分类算法中都有着重要的作⽤。

2.1.2 多分类的情况

sigmoid函数对于多分类的推广如下
线性分类模型 - 图167
其中线性分类模型 - 图168。这被称为归一化指数或者softmax函数,因为它表示“max”函数的⼀个平滑版本

2.1.3 sigmoid函数特性

a. 对称性

线性分类模型 - 图169

b. 反函数的概率性

线性分类模型 - 图170
上式为logistic sigmoid函数的反函数,称为logit函数,也称为log odds,因为一个事件发生的几率(odds)是指该事件发生的概率p与不发生的概率1-p的比值线性分类模型 - 图171。注意到其分子分母之和为1,所以sigmoid的输出进行概率化解释是很方便的。

c. 单调性

**

2.2 连续输入

2.2.1 分类模型中的sigmoid函数

同样以高斯噪声为背景,假定类条件概率密度线性分类模型 - 图172呈高斯分布,并假定所有类别下的协方差矩阵线性分类模型 - 图173相同,有
线性分类模型 - 图174
线性分类模型 - 图175其中
线性分类模型 - 图176
我们发现高斯类条件分类假设下,后验概率可明确表示为“输入的线性函数 + sigmoid激活函数”的形式,由于sigmoid函数关于输入线性分类模型 - 图177是单调增的,因此后验概率线性分类模型 - 图178为常数的分类阈值,对应在输入空间时的决策面也是线性的线性分类模型 - 图179,而先验概率函数线性分类模型 - 图180仅出现在偏置参数线性分类模型 - 图181中,而偏置参数影响的是决策面到输入空间原点的距离,先验概率分布的改变将使得最终的决策超平面产生“平移”。下图给出了二维输入空间下的效果示例。
截屏2020-12-20 下午5.32.32.png

对于多分类的情况也有类似的情况。最终的分类结果可使用最⼩错误分类率时的决策方式,选择后验概率最大的类别进行输出。而决策面对应了后验概率最⼤的两个类别在概率相等时输入空间的位置。因此通过向一般的简单的线性模型加入sigmoid激活函数,我们期望线性模型的输出线性分类模型 - 图183,这样我们就能得到一个可以概率化解释的推广的线性模型。这种模型有着不错的“解释性”,因为我们可以将模型的输出解释为线性分类模型 - 图184,也就是之前提过的log odd形式——表示事件发生/不发生的概率比值。
如果我们不假设各个类别的协⽅差矩阵相同,允许每个类条件概率密度线性分类模型 - 图185有⾃⼰的协⽅差矩阵,那么后验概率式中的⼆次项不会被消去,从⽽引出了⼆次判别函数。下图给出了线性决策边界和⼆次决策边界的一个示例。
截屏2020-12-20 下午5.51.15.png

*2.2.2 高斯输入下的最大似然解

2.3 离散输入

对于离散输入的情况,我们以二元特征线性分类模型 - 图187为例,假设输入是D维的,则离散概率分布线性分类模型 - 图188共包含线性分类模型 - 图189种可能取值,一般情况下只能用类似表格的形式一一表示。若我们假设其服从朴素贝叶斯假设——特征之间相互独立,那么就可以使用伯努利分布的连乘形式对类条件概率分布进行简洁表达
线性分类模型 - 图190
代入多分类下后验概率的softmax函数表达式线性分类模型 - 图191,其中
线性分类模型 - 图192
和之前类似,线性分类模型 - 图193仍然是输入变量的线性函数,因此在离散输入的朴素贝叶斯假设下,后验类概率密度仍可表示为线性函数模型中加入logistic sigmoid/softmax激活函数变换的形式。

2.4 指数族分布

正如我们已经看到的,⽆论是服从⾼斯分布的输⼊,还是离散的输⼊,后验类概率密度都是由⼀般的线性模型和logistic sigmoid(K=2个类别)或者softmax(K≥2个类别)激活函数给出。通过假定类条件概率密度线性分类模型 - 图194是指数族分布的成员,可以看到上述结果都是更⼀般的结果的特例。

3 概率判别式模型

在概率生成式模型中,为了求后验类概率,需要确定类条件概率密度线性分类模型 - 图195的具体选择,先使⽤最⼤似然⽅法估计线性分类模型 - 图196的参数以及类先验概率线性分类模型 - 图197,然后使⽤贝叶斯定理就可以求出后验类概率了。但这类方法需要预先对类条件概率密度进行假设,才能得到似然函数的具体形式,进而利用MLE求解。
另⼀种⽅法是显示地使⽤⼀般的线性模型的函数形式,然后使⽤最⼤似然法直接确定它的参数,这种⽅法属于判别式训练的⼀种形式。判别式⽅法的主要优点是需要确定的可调节参数通常更少,并且不需要对类条件概率密度进行假设,就能得到不错的模型表现。

3.1 固定基函数的使用

⽬前为⽌,我们已经考虑了直接对输⼊向量线性分类模型 - 图198进⾏分类的分类模型。但如果我们⾸先使⽤⼀个基函数向量 线性分类模型 - 图199对输⼊变量进⾏⼀个固定的⾮线性变换,以上这些算法仍然适⽤,区别在于最终的决策边界在特征空间φ中是线性的,可能在线性分类模型 - 图200的原始输入空间对应非线性的决策边界。如图下图所示,在特征空间线性分类模型 - 图201线性可分的类别未必在原始的观测空间线性分类模型 - 图202中线性可分。
截屏2020-12-21 下午10.45.39.png
对于许多实际问题来说,类条件概率密度线性分类模型 - 图204之间有着相当⼤的重叠,也就是说对于某些线性分类模型 - 图205,可能有在多个类别线性分类模型 - 图206下都存在不为0的后验概率线性分类模型 - 图207,比如下图的绿框部分。
截屏2020-12-21 下午10.53.42.png
在这种情况下,获取最优解还需要使⽤到之前讨论过的决策论。需要注意的是,⾮线性变换并不保证能消除这些重叠。而且有些变换会增加重叠的程度,或者在原始观测空间中不存在重叠的地⽅产⽣出新的重叠,但恰当地进行⾮线性变换确实能让后验概率的建模过程更简单。

3.2 Logistic回归(二分类)

之前讨论过,在⼀般的假设条件下,对于二分类问题,类别线性分类模型 - 图209的后验概率可以写成作⽤在输入向量线性分类模型 - 图210的线性函数上的logistic sigmoid函数形式,这里我们将输入替换为特征向量线性分类模型 - 图211,同样也有
线性分类模型 - 图212
线性分类模型 - 图213,这个模型被称为logistic回归(注意这是一个分类模型)。
对于⼀个M维特征空间线性分类模型 - 图214,使用logistic回归模型时共有M个可调节参数。如果我们使⽤之前提到的基于⾼斯类条件概率密度假设的最⼤似然⽅法,那么我们需要2M个参数来描述均值线性分类模型 - 图215,以及线性分类模型 - 图216个参数来描述共享的协⽅差矩阵线性分类模型 - 图217,再算上类先验线性分类模型 - 图218,参数总数共线性分类模型 - 图219,这随着M的增长⽽呈⼆次⽅增长,因此对于⼤的特征维度值,直接使⽤logistic回归模型有着很明显的优势。

3.2.1 logisitic回归的MLE

首先给出logisitic sigmoid函数的导数,其可用sigmoid函数形式进行表示
线性分类模型 - 图220
以二分类问题为例,对一个大小为N的数据集线性分类模型 - 图221线性分类模型 - 图222,似然函数为
线性分类模型 - 图223
通过取负对数似然定义一个误差函数,称为交叉熵(cross-entropy)误差函数,如下
线性分类模型 - 图224
其中线性分类模型 - 图225,关于模型参数线性分类模型 - 图226求导得
线性分类模型 - 图227
不难发现这与线性回归问题中使用平方和误差函数后的梯度函数形式是一致的。这个式子可理解为数据点n对梯度的贡献为⽬标值和模型预测值之间的“误差”线性分类模型 - 图228与基函数向量线性分类模型 - 图229的乘积。(损失函数

但此时我们无法求得解析解,而需要使用梯度下降或类似的方法(如后边介绍的拟牛顿法)会更为方便
线性分类模型 - 图230
需要引起注意的是,最⼤似然⽅法对于线性可分的数据集会产⽣严重的过拟合现象。这是由于最⼤似然解出现在超平⾯对应于线性分类模型 - 图231的情况,它等价于线性分类模型 - 图232。最⼤似然解把数据集分成了两类,并且线性分类模型 - 图233的⼤⼩可趋向于⽆穷⼤。这种情况下logistic sigmoid函数在特征空间中会非常陡峭,接近于⼀个阶跃函数, 从概率上看,这使得每⼀个来⾃类别线性分类模型 - 图234的训练数据线性分类模型 - 图235后验概率无限逼近1,即线性分类模型 - 图236。并且最⼤似然⽅法⽆法区分某个解优于另⼀个解,在实际应⽤中哪个解被找到将会依赖于优化算法的选择和参数的初始化,即使相比于模型的参数,数据点的数量很多,只要数据是线性可分的这个问题就可能出现。但也可以通过引⼊先验概率,然后使用最大后验估计MAP求解,或者等价地给误差函数增加⼀个正则化项,以避免这种奇异性。TODO

3.3 迭代重加权最小平方

对于logistic回归来说,由于其似然函数,或者交叉熵误差函数不再有解析解了,因此我们需要另寻迭代⽅法求出最⼩值或其近似。多数方程不存在求根公式,因此求精确根非常困难,甚至不可解,从而寻找方程的近似根就显得特别重要。
常见的迭代方法使用函数线性分类模型 - 图237泰勒级数前面几项来寻找方程的根,牛顿迭代法(或称Newton-Raphson迭代)是求方程根的重要方法之一,其最大优点是在方程的单根附近具有平方收敛。该方法使⽤了对数似然函数的局部⼆次近似,其权值的更新形式如下
线性分类模型 - 图238
其中线性分类模型 - 图239是一个Hessian矩阵,其矩阵元素由线性分类模型 - 图240的二阶导数构成(详见)。

3.3.1 牛顿法应用于线性回归

我们先以线性回归问题为例,探讨牛顿法的高效性。由于线性回归模型的解就是最小化平方和误差函数的解,我们对其梯度使用Newton-Raphson迭代法
线性分类模型 - 图241
代入权值更新式得到
线性分类模型 - 图242
这与最小二乘法的解完全一致,这是因为线性分类模型 - 图243为常量矩阵且正定(函数的Hessian矩阵正定则说明当前为凸函数,可以找到全局最小值点),并且误差函数是二次的,对于二次函数,泰勒展开的二阶展开式可以“完美近似”,没有高于二阶的偏导项,因此牛顿法只用一步就给出了精确解!

如果Hessian矩阵半正定就表示存在支撑超平面,从而函数是凸的;反过来如果函数是凸的,Hessian阵一定半正定,反证:假设Hessian矩阵不是半正定的,则存在负特征值和相应的特征向量,沿该特征向量移动一小段距离就会走到当前位置的切平面以下。详细证明可参考

3.3.2 牛顿法应用于logistic回归

我们将类似的求解步骤引入logistic回归中
线性分类模型 - 图244
线性分类模型 - 图245是N×N的对角矩阵,其第n行的对角元素线性分类模型 - 图246。此时Hessian矩阵不再为常量,但由于线性分类模型 - 图247为对称矩阵,且其二次型线性分类模型 - 图248,故线性分类模型 - 图249正定矩阵,误差函数是关于线性分类模型 - 图250的凸函数,有唯一的最小值,通过参数迭代更新可逼近该极值点
线性分类模型 - 图251
我们看到更新公式的形式为⼀组加权的最⼩平⽅问题的法⽅程解,权重来自对角矩阵线性分类模型 - 图252,且依赖于参数向量 线性分类模型 - 图253,因此我们必须迭代使用法⽅程,每次使⽤新的权向量线性分类模型 - 图254计算⼀个修正的权矩阵线性分类模型 - 图255。因此这个算法被称为迭代重加权最⼩平⽅(IRLS)。与加权的最⼩平⽅问题⼀样, 对角矩阵线性分类模型 - 图256可以看成⽅差。

3.4 多分类Logistic回归

同样,我们将Logistic回归推广到线性分类模型 - 图257的多分类问题中,我们知道多分类问题中后验概率由特征变量的线性组合再加入softmax变换给出,即线性分类模型 - 图258

这里的线性分类模型 - 图259即为第k类对应的线性模型的输出。为了使用最大似然直接确定各个模型的参数线性分类模型 - 图260,我们需要写出似然函数,使用“1-of-K”进行输出表达较为容易,即目标向量线性分类模型 - 图261是一个二元向量,当该目标向量指向多分类中的第k类时,则其第k个元素为1,剩余元素为0,后边也会看到这样表示得到的似然函数易于求解。可得似然函数
线性分类模型 - 图262

因此负对数似然函数为
线性分类模型 - 图263
这被称为多分类交叉熵误差函数。其中线性分类模型 - 图264,那么误差函数关于多分类logistic模型中K个权值参数中任意一个线性分类模型 - 图265的梯度为
线性分类模型 - 图266
这里线性分类模型 - 图267,我们再一次看到了这种形式的梯度函数——误差线性分类模型 - 图268与基函数线性分类模型 - 图269的乘积,与线性回归模型的平方和误差函数以及二分类的logistic回归模型的误差函数中一样。这种简洁形式的梯度在进行数值计算的时候是十分方便的,且不用考虑数值溢出的问题。同样可使用Newton-Raphson迭代构成对应的IRLS算法。

*3.5 Probit回归

我们已经看到,对于由指数族分布描述的⼀⼤类的类条件概率分布,最终求出的后验类概率为作⽤在特征变量的线性函数上的logistic(或者softmax)变换,其中的线性函数部分依赖于指数族分布自身的性质。
然⽽并非所有的类条件概率密度都有这样简单的后验概率函数形式,假设类条件概率分布未知且无法由指数族分布进行描述,我们希望仍能找到合适的判别式概率模型。以二分类问题为前提,对于一般的(推广)线性模型,我们表示为线性分类模型 - 图270
其中线性分类模型 - 图271,且线性分类模型 - 图272为激活函数。对于每个输入线性分类模型 - 图273,先计算出线性模型的输出线性分类模型 - 图274,然后使用如下的函数进行“非线性激活”映射,得到目标的预测值
线性分类模型 - 图275
也就是噪声阈值模型,一旦我们对阈值线性分类模型 - 图276的概率密度线性分类模型 - 图277进行了假设,那么对应的激活函数就能由累积分布函数给出
线性分类模型 - 图278
若我们假设线性分类模型 - 图279是零均值、单位方差的高斯概率密度函数,对应的累积分布为
线性分类模型 - 图280
这被称为逆probit函数(这里probit的含义是自变量对累积标准正态分布函数的逆作用?),如下图所示,其累积分布函数也为sigmoid形
截屏2020-12-23 上午1.14.02.png
我们仍然可以使⽤最⼤似然法来确定模型的参数,使⽤probit回归得到的结果倾向于与logistic回归得到的结果类似。
在实际应⽤中经常出现的⼀个问题是离群点,它可能由输⼊向量线性分类模型 - 图282的测量误差产⽣,或者由⽬标值线性分类模型 - 图283的错误标记产⽣。由于这些点可以位于错误的⼀侧中距离理想决策边界相当远的位置上,因此他们会严重地⼲扰分类器。注意,在这⼀点上,logistic回归模型与probit回归模型的表现不同, 因为对于线性分类模型 - 图284,logistic sigmoid函数的渐进衰减接近于线性分类模型 - 图285,⽽probit激活函数的衰减接近于线性分类模型 - 图286,因此probit模型对于离群点会更加敏感。

*3.6 标准链接函数

如果假设⽬标变量的条件分布来⾃于指数族分布,对应的激活函数选为标准链接函数是⼀个普遍情况。

*4 拉普拉斯近似 & 贝叶斯Logistic回归