机器学习线性模型(2)

我们已经知道如何使用线性模型进行回归学习,如果要做分类任务呢?

广义线性模型: y=g1(wTx+b) y = g − 1 ( w T x + b )

现在只需找到一个单调可微函数 g1 g − 1 将分类任务的真实标记 y y 与线性回归模型的预测值wTx+b联系起来.

考虑二分类任务, y{0,1} y ∈ { 0 , 1 } , z=wTx+b z = w T x + b 是实值,将实值z转化微0/1值,最理想的是单位跃进函数

y=0,0.5,1,z<0z=0z>0 y = { 0 , z < 0 0.5 , z = 0 1 , z > 0

但是单位跃进函数不连续,不是我们要找的 g1 g − 1 ,所以要找一个在一定程度上近似单位跃进函数的单调可微的函数,就是 对数几率函数(logistic function)
y=11+ez y = 1 1 + e − z

这里写图片描述

从图中可以看到,对数几率函数是一种sigmoid函数(形似S的函数)

将对数几率函数作为 g1 g − 1 ,得到

y=11+e(wTx+b)(1) y = 1 1 + e − ( w T x + b ) — — — — — — — — ( 1 )

做变换后:
lny1y=wTx+b(2) l n y 1 − y = w T x + b — — — — — — — — ( 2 )

若将y视作x作为正例的可能性,则1-y是x作为反例的可能性, y1y y 1 − y 称作几率, lny1y l n y 1 − y 称为对数几率

可以看出式(2)是在用线性回归模型的预测结果去逼近真实标记y的对数几率,对应的模型叫对数几率回归模型(logistic regression), 注意:它实际是一种分类学习方法。

如何来确定(1)式中的 w w 和b?将y视为类后验概率估计 p(y=1|x) p ( y = 1 | x ) ,得到下式:

lnp(y=1|x)p(y=0|x)=wTx+b l n p ( y = 1 | x ) p ( y = 0 | x ) = w T x + b

p(y=1|x)1p(y=1|x)=ewTx+b ⇒ p ( y = 1 | x ) 1 − p ( y = 1 | x ) = e w T x + b

p(y=1|x)=ewTx+bewTx+b+1 ⇒ p ( y = 1 | x ) = e w T x + b e w T x + b + 1

显然,
p(y=0|x)=1ewTx+b+1 ⇒ p ( y = 0 | x ) = 1 e w T x + b + 1

于是,我们可以通过极大似然法来估计 w w 和b,给定数据集 (xi,yi),i=1,2,m ( x i , y i ) , i = 1 , 2 … , m ,对数几率回归模型 最大化对数似然,即 每个样本属于其真实标记的概率越大越好
(w,b)=i=1mlnp(yi|xi;w,b) ℓ ( w , b ) = ∑ i = 1 m l n p ( y i | x i ; w , b )

令: β=(w;b) β = ( w ; b ) x^=(x;1) x ^ = ( x ; 1 ) ,故 wTx+b=βTx^ w T x + b = β T x ^
令: p1(x^;β)=p(y=1|x^;β) p 1 ( x ^ ; β ) = p ( y = 1 | x ^ ; β ) , p0(x^;β)=p(y=0|x^;β) p 0 ( x ^ ; β ) = p ( y = 0 | x ^ ; β )

似然项可以重写为:

p(yi|xi;w,b)=yip1(x^;β)+(1yi)p0(x^;β) p ( y i | x i ; w , b ) = y i p 1 ( x ^ ; β ) + ( 1 − y i ) p 0 ( x ^ ; β )

=yieβTx^eβTx^+1+(1yi)1eβTx^+1 = y i e β T x ^ e β T x ^ + 1 + ( 1 − y i ) 1 e β T x ^ + 1

=1+yieβTx^yieβTx^+1 = 1 + y i e β T x ^ − y i e β T x ^ + 1

对上式取对数
ln(1+yieβTx^yi)ln(eβTx^+1) l n ( 1 + y i e β T x ^ − y i ) − l n ( e β T x ^ + 1 )

因为 yi{0,1} y i ∈ { 0 , 1 } ,所以上式的第一项要么为0,要么为 βTx^ β T x ^ ,故上边的最大化式等价于下面这个 最小化

(β)=i=1m(yiβTx^+ln(eβTx^+1)) ℓ ( β ) = ∑ i = 1 m ( − y i β T x ^ + l n ( e β T x ^ + 1 ) )

利用经典的数值优化算法如梯度下降、牛顿法都可以得到上式最优解。

β=argminβl(β) β ∗ = arg ⁡ min β l ( β )


线性判别分析(LDA)也称为Fisher判别分析

思想:给定训练样例集,设法将样例投影到一条直线上,使类内方差最小,类间方差最大,使分类效果最好。

这里写图片描述

给定数据集 (xi,yi),i=1,2,m ( x i , y i ) , i = 1 , 2 … , m , yi{0,1} y i ∈ { 0 , 1 } ,令 Xi,μi,Σi X i , μ i , Σ i 分别表示第 i{0,1} i ∈ { 0 , 1 } 类示例的集合、均值向量、协方差矩阵。

则两类样本的中心在直线上的投影分别为: wTμ0 w T μ 0 wTμ1 w T μ 1

两类样本的协方差分别为: wTΣ0w w T Σ 0 w wTΣ1w w T Σ 1 w

使同类样例投影点尽可能近,可以让同类样例投影点的协方差尽可能小,即 wTΣ0w+wTΣ1w w T Σ 0 w + w T Σ 1 w 尽可能小。

使异类样例的投影点尽可能远,可以让类中心之间的距离尽可能大,即 ||wTμ0wTμ1||2 | | w T μ 0 − w T μ 1 | | 2 尽可能大。

所以我们的目标是最大化下式:

J=||wTμ0wTμ1||2wTΣ0w+wTΣ1w J = | | w T μ 0 − w T μ 1 | | 2 w T Σ 0 w + w T Σ 1 w

=wT(μ0μ1)(μ0μ1)TwwT(Σ0+Σ1)w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w

定义类内散度矩阵 Sw S w :

Sw=Σ0+Σ1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T S w = Σ 0 + Σ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T

定义类间散度矩阵 Sb S b :
Sb=(μ0μ1)(μ0μ1)T S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T

所以J可以重写为:
J==wTSbwwTSww J == w T S b w w T S w w

这就是LDA要最大化的目标,即 Sb S b Sw S w 的广义瑞利商。
可以看到,上式分子分母都是w的二次项,所以解与w的长度无关,只与其方向有关,不失一般性,令 wTSww=1 w T S w w = 1 ,则上式等价于

minw wTSbws.t.    wTSww=1 min w   − w T S b w s . t .         w T S w w = 1

由拉格朗日乘子法,上式等价于:

Sbw=λSww S b w = λ S w w

Sbw=(μ0μ1)(μ0μ1)Tw S b w = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w ,其中 (μ0μ1)Tw ( μ 0 − μ 1 ) T w 是一个标量,所以 Sbw S b w 的方向恒为 μ0μ1 μ 0 − μ 1 ,故有: Sbw=λ(μ0μ1) S b w = λ ( μ 0 − μ 1 ) .

所以可以得到: w=S1w(μ0μ1) w = S w − 1 ( μ 0 − μ 1 )

当两类数据同先验,满足高斯分布且协方差相等时,LDA可以达到最优分类!

LDA推广到多分类任务中,emmmmm以后再看吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值