我们已经知道如何使用线性模型进行回归学习,如果要做分类任务呢?
广义线性模型:y=g−1(wTx+b)
现在只需找到一个单调可微函数g−1将分类任务的真实标记y与线性回归模型的预测值wTx+b联系起来.
考虑二分类任务,y∈{0,1},z=wTx+b 是实值,将实值z转化微0/1值,最理想的是单位跃进函数
y=⎧⎩⎨0,0.5,1,z<0z=0z>0
但是单位跃进函数不连续,不是我们要找的g−1,所以要找一个在一定程度上近似单位跃进函数的单调可微的函数,就是对数几率函数(logistic function)
y=11+e−z

从图中可以看到,对数几率函数是一种sigmoid函数(形似S的函数)
将对数几率函数作为g−1,得到
y=11+e−(wTx+b)————————(1)
做变换后:
lny1−y=wTx+b————————(2)
若将y视作x作为正例的可能性,则1-y是x作为反例的可能性,y1−y称作几率,lny1−y称为对数几率
可以看出式(2)是在用线性回归模型的预测结果去逼近真实标记y的对数几率,对应的模型叫对数几率回归模型(logistic regression), 注意:它实际是一种分类学习方法。
如何来确定(1)式中的w和b?将y视为类后验概率估计p(y=1|x),得到下式:
lnp(y=1|x)p(y=0|x)=wTx+b
⇒p(y=1|x)1−p(y=1|x)=ewTx+b
⇒p(y=1|x)=ewTx+bewTx+b+1
显然,⇒p(y=0|x)=1ewTx+b+1
于是,我们可以通过极大似然法来估计w和b,给定数据集(xi,yi),i=1,2…,m,对数几率回归模型最大化对数似然,即每个样本属于其真实标记的概率越大越好:
ℓ(w,b)=∑i=1mlnp(yi|xi;w,b)
令:β=(w;b),x^=(x;1),故wTx+b=βTx^
令: p1(x^;β)=p(y=1|x^;β),p0(x^;β)=p(y=0|x^;β)
似然项可以重写为:
p(yi|xi;w,b)=yip1(x^;β)+(1−yi)p0(x^;β)
=yieβTx^eβTx^+1+(1−yi)1eβTx^+1
=1+yieβTx^−yieβTx^+1
对上式取对数
ln(1+yieβTx^−yi)−ln(eβTx^+1)
因为yi∈{0,1},所以上式的第一项要么为0,要么为βTx^,故上边的最大化式等价于下面这个最小化式
ℓ(β)=∑i=1m(−yiβTx^+ln(eβTx^+1))
利用经典的数值优化算法如梯度下降、牛顿法都可以得到上式最优解。
β∗=argminβl(β)
线性判别分析(LDA)也称为Fisher判别分析
思想:给定训练样例集,设法将样例投影到一条直线上,使类内方差最小,类间方差最大,使分类效果最好。

给定数据集(xi,yi),i=1,2…,m,yi∈{0,1},令Xi,μi,Σi分别表示第i∈{0,1}类示例的集合、均值向量、协方差矩阵。
则两类样本的中心在直线上的投影分别为:wTμ0和wTμ1
两类样本的协方差分别为:wTΣ0w和wTΣ1w
使同类样例投影点尽可能近,可以让同类样例投影点的协方差尽可能小,即wTΣ0w+wTΣ1w尽可能小。
使异类样例的投影点尽可能远,可以让类中心之间的距离尽可能大,即||wTμ0−wTμ1||2尽可能大。
所以我们的目标是最大化下式:
J=||wTμ0−wTμ1||2wTΣ0w+wTΣ1w
=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)w
定义类内散度矩阵Sw:
Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T
定义类间散度矩阵Sb:
Sb=(μ0−μ1)(μ0−μ1)T
所以J可以重写为:
J==wTSbwwTSww
这就是LDA要最大化的目标,即Sb与Sw的广义瑞利商。
可以看到,上式分子分母都是w的二次项,所以解与w的长度无关,只与其方向有关,不失一般性,令wTSww=1,则上式等价于
minw −wTSbws.t. wTSww=1
由拉格朗日乘子法,上式等价于:
Sbw=λSww
Sbw=(μ0−μ1)(μ0−μ1)Tw,其中(μ0−μ1)Tw是一个标量,所以Sbw的方向恒为μ0−μ1,故有:Sbw=λ(μ0−μ1).
所以可以得到:w=S−1w(μ0−μ1)
当两类数据同先验,满足高斯分布且协方差相等时,LDA可以达到最优分类!
LDA推广到多分类任务中,emmmmm以后再看吧