机器学习(西瓜书笔记)第三章

三、线性模型
3.1基本形式
线性模型:

试图学得一个通过属性的线性组合来进行预测的函数,即

用向量形式写成

由于w直观的表达了各属性在预测中的重要性,由此线性模型有很好的可解释性
3.2线性回归
3.2.1定义
所谓线性回归,就是已知数据集学成一个线性模型f(x)=w1x1+w2x2+...+wdxd+b=w^Tx+b,使得误差平方和最小。

最小化的过程,称为线性回归模型的最小二乘“参数估计”。让它分别对w和b求导,得

令上面的两个式子为0,解得

3.2.2多元线性回归

可利用最小二乘法对w和b进行估计,把w和b吸入向量形式w^=(w;b),把数据集D表示为m*(d+1)大小的矩阵X,每行对应一个示例,该行前d个元素对应于示例的d个属性值,最后一个元素均置为1,即

再把标记写成向量形式y=(y1;y2;...;ym)
误差平方和的矩阵形式

当X^TX为满秩矩阵或正定矩阵,令上式为0可得

广义线性模型考虑单调可微函数g(x)

最终学得的线性回归模型为

3.2.3正则化项
在现实任务中,我们会遇到大量的变量,数目甚至超过样例数,导致X的列数多余行数,X^TX往往不是满秩矩阵,此时可以解出多个w^ ,它们都能使均方误差最小化,选择哪一个解作为输出,将由学习算法的归纳偏好决定
3.2.4对数线性回归
假设我们认为示例对应的输出标记在指数尺度上变化,可将输出标记的对数作为线性模型逼近的目标,即

实际上是在试图让逼近y

考虑单调可微函数g(·),令

这样得到的模型是“广义线性模型”,其中函数g(·)称为联系函数,对数线性回归是广义线性模型在g(·)在ln(·)的特例
3.3对数线性回归
对于分类任务,在广义线性模型中,只需找到一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。
对于二分类任务,输出标记y∈ {0,1},而线性回归模型产生的预测值

是实值,于是将实值z转化为0/1值,用到“单位阶跃函数”


若预测值z大于0就判为正例,小于0判为反例,为临界值可任意判别
然而单位阶跃函数并不连续,希望找到一个一定程度上近似单位阶跃函数的“替代函数”并且它单调可微
对数几率函数是一个常用的替代函数:

将对数几率函数作为g^- (·)代入广义线性模型,得到

几率:y/1-y
对数几率:ln(y/1-y)

若y为样本x作为正例的可能性,则1-y是反例可能性,两者的比值y/1-y称为几率,反映了x作为正例的相对可能性,对几率取对数得到对数几率ln(y/1-y),可看出式子是在用线性回归模型的预测结果逼近真实标记的对数几率,因此对应的模型称为“对数几率回归”,虽然名字是回归,但是是一种分类学习方法。
优点是它直接对分类可能性进行建模,无须事先假设数据分布,避免了假设分布不准确带来的问题,它不是预测出“类别”,而是可得到近似概率预测,对需利用概率辅助决策的任务很有用。
若将y视为类后验概率估计p(y=1|x),则上式可重写为

最后可用极大似然法来估计w和b
3.4多分类学习
3.4.1基本思路
基本思路是“拆解法”,将多分类学习任务拆为若干个二分类任务求解,最经典的三种拆分策略:“一对一”(OvO)、“一对其余”(OvR)和“多对多”(MvM)
3.4.2 OVO
给定数据集D={(x1,y1),(x2,y2),…(xm,ym)},yi∈(C1,C2,…CN),OVO将这N个类别两两配对,从而产生N(N-1)/2个分类任务,最终结果可以通过投票产生:即把被预测得最多的类别作为最终分类结果。
3.4.3 OVR
OVR则是每次将一个类的样例作为正例,所有其他的样例作为反例来训练N个分类器。在测试时若只有一个分类器预测为正类,则对应的类别标记作为最终分类结果。
3.4.4 OVO与OVR比较

OVO的存储开销和测试时间开销通常比OVR更大,方式在训练时,OVR的每个分类器均使用全部训练样例,因此,在类别很多时,OVO的训练时间开销通常比OVR更小。
3.4.5 MVM技术
纠错输出码(Error Correcting Output Codes,ECOC)
过程:
编码:对N个类别做M次划分,每次划分将一部分类别化为正类,另一部分分为反类,产生M个训练集——M个分类器。
解码:M个分类器分别预测,这些预测标记组成一个编码,将其与每个类别的编码比较,区别最小的就是最终结果。
类别划分通过“编码矩阵”指定
二元阵:将类别指定为正类和反类
三元阵:在正反类之外还可以指定“停用类”
示意图:

欧氏距离:在a图中分类器f2将C1和C3类的样例作为正例;若基于欧式距离,预测结果是C3
海明距离:两个合法代码对应位上编码不同的位数为码距,又称海明码,例如测试示例:101010,分类示例:100101,此时海明距离为4
总结:一般来说,对于同一个学习任务,ECOC编码越长,纠错能力越强;然而,编码越长,意味着所需训练器的分类器越多,计算、存储开销都会增大。
3.5类别不均衡问题
3.5.1 定义
类别不平衡,就是指分类任务中不同类别的训练样例数目差别很大的情况。

用1式对新样本进行分类,实际上在用预测的y值与一个阈值比较。若:

则预测为正例
然而,正反例数目不同时,观测几率m+/m-,由于我们假设无偏采样,则观测几率就代表真实几率,于是若

则预测为正例
但是原来的分类器基于1式进行决策,所以需要再缩放操作

但是我们很难保证“训练集是真实样本总体的无偏采样”。现有技术有3种做法:
1.“欠采样”:直接去除一些反例。
2.“过采样”:增加一些正例。
3.阈值移动:不增不减,但是预测时采取式2。

小贴士:
点击下方左右箭头,自动跳转到文集的上一篇和下一篇。
机器学习系列文档持续更新,求关注求三连!