第3章 线性模型
3.1基本形式
给定由d个属性描述的示例x=(x1;x2;…;xd),其中xi是x在第i个属性上的取值,线性模型(linear model):一个通过属性的线性组合来进行预测的函数,即:
向量形式:
线性模型特点:形式简单,易于建模,具有很好的可解释性;
在线性模型的基础上可以通过引入层级结构或高维映射得到功能更为强大的非线性模型,其中w表达了各属性在预测中的重要性
3.2线性回归
定义:给定数据集D={(x1,y1),(x2,y2),…,(xm,ym)},其中xi=(xi1;xi2;…;xid),yi属于R,通过一个线性模型以尽可能准确地预测实值输出标记
线性回归试图学得:其中关于w和b得确定,关键在于衡量f(x)和y的区别,可以通过使用均方误差最小化进行模型求解。在线性回归中,最小二乘法试图找到一条直线,使所有样本到直线上的欧式距离之和最小:
最小二乘法:基于均方误差最小化来进行模型求解的方法
线性回归的最小二乘法“参数估计”(parameter estimation):求解w和b使E最小化的过程。
将E对w和b求导可得:令3-5,6=0可得到w和b最优解的闭式(closed-form)解
当样本由d个属性描述时,我们可以得到多元线性回归,类似的我们可利用最小二乘法对w,b进行估计。
如果示例对应输出标记是在指数尺度上的变化,可将输出标记的对数作为线性模型逼近的目标,(“对数线性回归,实际上是在求取输入空间到输出空间的非线性函数映射”):如下图所示,
得到的“广义线性模型”(generalized linear model),其中函数g(.)称为“联系函数”(link function),对数线性回归是广义线性模型在g(.)=ln(.)的特例。
3.3对数几率回归
对于分类任务,可以在广义线性模型中:找到一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。
对于二分类任务,输出标记y属于{0,1},而线性回归模型产生的预测值是实值,将z值转换为0/1值。最理想的是“单位阶跃函数”(unit-step function),当预测值z>0就判为正例,<0则判为负例,预测临界值可任意判别
但是由于单位阶跃函数不连续,不能直接作为g(.),可以用对数几率函数(logistic function)来代替
对数几率函数是一种“Sigmoid函数”,它将z值转化为一个接近0或1的y值,并其输出值在z=0附件变化很陡,将对数几率函数作为g(.)带入3-15,可得3-18-21
式3-18是在用线性回归模型的预测结果去逼近真实标记的对数几率,其对应得模型称为“对数几率回归”(logistic regreaaion,亦称logit regression),虽然名字是回归,但它实际上是一种分类学习方法
优点:直接对分类可能性进行建模,无需事先假设数据分布,避免了假设分布不准确所带来得问题;不是不仅预测出“类别’',而是可得到近似概率预测,对许多需要利用概率辅助决策得任务很有用;对数几率函数是任意阶可导得凸函数,有较好的数学性质,可直接用于求最优解
关于式3-18中w和b的确定
3.4线性判别分析
线性判别分析(Linear Discriminant Analysis,简称LDA):一种经典的线性学习方法,亦称为”Fisher判别分析“
基本思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别,如下图3.3
3.5多类别学习
基本思路:“拆解法”,将多分类任务拆为若干个二分类任务训练一个分类器求解。
拆分策略:“一对一”(One vs.One,简称OvO)、“一对其余”(One vs.Rest,简称OvR)和“多对多”(Many vs. Many,简称MvM)
给定数据集D={(x1,y1),(x2,y2),…,(xm,ym)},yi属于{C1,C2,…,Cn}.
OvO:将这N个类别两两配对,从而产生N(N-1)/2个二分任务,例如OvO为将区分类别Ci和Cj训练一个分类器,该分类器把D中的Ci类样例作为正例,将Cj类样例作为反例。在测试阶段,新样本将同时提交给所有分类器。我们可以得到N(N-1)/2个分类结果。如图3.4
OvR:每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器,在测试时若 仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果,如图3-4,若有多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果。
对比OvO和OvR:OvO的存储开销和测试时间开销通常比OvR的更大,但是在训练时,OvR的每个分类器均使用全部训练样例,OvO每个分类器仅用到两个类的样例,所以类别很多时,OvR的训练时间开销通常比OvR更小。两者预测性能取决于具体数据分布,在多数情况下两者差不多。
MvM:每次将若干个类作为正类,若干个其它类作为反类。OvO和OvR是其特例。MvM的正、反类构造必须有特殊 的设计,不能随意选取
“纠错输出码”(Error Correcting Output Codes,简称ECOC):将编码思想引入类别拆分,并尽可能在解码过程中具有容错性,主要分两步:
3.6类别不平衡问题
前面介绍的几个分类学习方法对于不同类别的训练样例数目相当,如果不同类别的训练样例数目稍有差别,影响不大,但是如果差别很大,就会对学习过程造成困扰,例如有998个反例,2个正例。
类别不平衡(class-imbalance):指分类任务中不同类别的训练样例数目差别很大时,不失一般性,假设正例比较少,反例比较多。
从线性分类器的角度讨论容易理解,使用3.2式对新样本x进行分类时,事实上是在用预测出的y值与一个阈值进行比较
再缩放特点:思想简单,实际操作不平凡,未必能有效基于训练集观测几率来推断出真实几率。是“代价敏感学习”的基础