第三章 线性模型
3.1 基本形式
给定由d个属性描述的示例x=(x1;x2;...xd),其中xi是x第i个属性上的取值。
线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即:
f(x)=w1x1+w2x2+...+wdxd+b
一般用向量形式写成
f(x)=wTx+b
其中w=(w1;w2;...wd).
线性模型学习的目的是学习w和标量b。
因此线性模型有很好的可解释性(comprehensibility).
3.2 线性回归
数据集D=(x1,y1),(x2,y2),...,(xm,ym),其中x1=(xi1,xi2,xi3,...;xid),yi∈R.
假设输入属性只有一个,即D={(xi,yi)}i=1m。线性回归(linear regression)试图学习得一个线性模型以尽可能预测实值输出标记,即:
f(xi)=wxi+b,使得f(xi)≃yi
已知线性模型的学习目的是确定w∗和b∗以令f(x)拟合y,也就是尽量减少f(x)和y之间的误差。以第二章提到的均方误差为例,令其最小化,即:
(w∗,b∗)=(w,b)argmini=1∑m(yi−wxi−b)2
均方误差对应欧几里得距离(Euclidean distance)。基于均方误差来进行模型求解的方法是“最小二乘法”(least square method)。线性回归中,最小二乘法试图找到一条直线,使所有样本到直线上的欧式距离最小。
求解w和b使
E(w,b)=i=1∑m(yi−wxi−b)2
最小化的过程,叫做线性回归模型的最小二乘“参数估计”(parameter estimation)。由于E(w,b)是凸函数,对w和b分别求导,令导数等于0,即可得到w和b最优解的闭式解。
由此可得,当数据集D=(x1,y1),(x2,y2),...,(xm,ym),其中x1=(xi1,xi2,xi3,...;xid),yi∈R.
线性模型试图学得:
f(xi)=wTxi+b,使得f(xi)≃yi
即“多元线性回归”。
回归模型可简写为:
y=wTx+b
令模型预测逼近y的衍生物,如对数线性回归:
lny=wTx+b
更一般地,考虑单调可微函数g(⋅),令
y=g−1(wTx+b)
,这样得到的模型称为“广义线性模型”。函数g(⋅)称为联系函数(link function)。
对数线性回归即为g(⋅)=ln(⋅)时的特例。
3.3 对数几率回归
本节讨论如何利用线性模型做分类学习。
考虑二分类任务,其输出标记y∈0,1,而线性回归模型产生的预测值z=wTx+b是实值,于是,需将实值z转换成0/1值,最理想的是 “单位阶跃函数” (unit-step function),亦称Heaviside函数:

即若预测值z大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别:

Sigmoid函数即形似S的函数,对率函数是Sigmoid函数最重要的代表。
利用Sigmoid函数来替代单位阶跃函数,将z值转化为一个接近0或1的y值。如对率几率函数(对率函数):
y=1+e−z1
z代入:
y=1+e−(wTx+b)1
可变为:
ln1−yy=wTx+b
若将y视为样本x作为正例的可能性,则1−y是其反例可能性,则两者的比值:
称为 “几率”(odds) ,反映了x作为正例的相对可能性,对几率取对数则得到 “对数几率”(log odds,亦称logit) :
ln1−yy
上述模型就称为 “对数几率回归” (logistic regression,亦称logit regression)。
对数几率回归译成逻辑回归(logistic regression)其实并不恰当,因为和“逻辑”(logistic)一词并无关系。
对数几率回归名字中带有“回归”二字,但实际却是一种分类学习方法。
对率函数是任意阶可导的凸函数。
3.4 线性判别分析(LDA)
LDA的思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。

LDA的目标是是确定这样一个投影向量w,经过wTx的投影变换后,类间距离最大,类内方差最小。
将样本x投影到直线,其中w决定了直线的方向。y=wTx中,假设w的模为1,则y为x投影到w(即方向为w的直线)的长度,如下图所示:
详见
机器学习基础-第八课-线性判别分析
3.5 多分类学习
【机器学习基础】第九课:多分类学习-多分类任务,一对一,一对其余,多对多,纠错输出码,海明距离
不失一般性,考虑N个类别C1,C2,…,CN,多分类学习的基本思路是 “拆解法” ,即将多分类任务拆为若干个二分类任务求解。通常可分为两步:
- 先对问题进行拆分,然后为拆出的每个二分类任务训练一个分类器。
- 在测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果。
本文主要介绍拆分策略。
最经典的拆分策略有三种:
- “一对一” (One vs. One,简称OvO)。
- “一对其余” (One vs. Rest,简称OvR)。
- “多对多” (Many vs. Many,简称MvM)。
--undo--