逻辑回归

理论推导

  1. $$\int_0^1 {x^2} \,{\rm d}x$$

  在以前的博客

中推导了单元线性回归多元线性回归的模型。 

  将 线性回归模型简写为: y=ωTx+by=ωTx+b; 
   对数线性回归模型可以写成: ln(y)=ωT+bln(y)=ωT+b;本质上仍然是线性回归,只不过拟合的是非线性的ln函数了。 
  更一般地,考虑单调可微函数 g(.)g(.),令 y=g1(ωTx+b)y=g−1(ωTx+b);这个模型就叫做 广义线性回归模型。(直接抄书的,实在不擅长背定义QAQ) 
  对于二分类任务,输出标记为 y{0,1}y∈{0,1},而线性回归的预测结果 h(x)=ωTx+bh(x)=ωTx+b,很明显是一个连续值,所以需要将其转换为 0/10/1值。 
   所以要用到 单位阶越函数: 
y=0,h(x)<0;0.5,h(x)=0;1,h(x)>0;y={0,h(x)<0;0.5,h(x)=0;1,h(x)>0;

即,若预测值大于0,就判为正例;若预测值小于0,就判为负例;临界值处,任意判别。 
  我们都知道,阶跃函数不可导,不连续,而 g1(.)g−1(.) 必须是一个可微的函数,所以阶跃函数不能用作 g1(.)g−1(.) ,还需要找一个连续函数代替阶跃函数。 
  我们常用 对数几率函数 (logistic function)来进行替代:
y=11+ezy=11+e−z

  画出图形会看到它形似S,所以也是一种sigmoid函数。 
  把对数几率函数作为 g1(.)g−1(.) ,代入到广义线性回归的公式中:
y=11+e(ωTx+b)y=11+e−(ωTx+b)

  做一些化简,可以得到:
ln(y1y)=ωTx+bln⁡(y1−y)=ωTx+b

  其中,y是正例的可能性,(1-y)是负例的可能性。 
  那么,这个 ln(y1y)ln⁡(y1−y) 其实就是“对数几率”,等式右边的是什么不用说了吧。可以看出,对数几率回归实质上就是使用线性回归模型( ωTx+bωTx+b )来逼近这个对数几率( ln(y1y)ln⁡(y1−y) )。 
  好的,那么问题来了。如何求解出这个模型中的未知参数 ωω bb 呢? 
  只考虑二分类的情况下,将y换成后验概率 P(y=1|x)P(y=1|x) 来表示,同理1-y可以换成 P(y=0|x)P(y=0|x) 。 
  则有:
{ln(P(y=1|x)P(y=0|x))=ωTx+bP(y=1|x)+P(y=0|x)=1{ln⁡(P(y=1|x)P(y=0|x))=ωTx+bP(y=1|x)+P(y=0|x)=1

  解得:
P(y=1|x)=eωTx+b1+eωTx+bP(y=0|x)=11+eωTx+b{P(y=1|x)=eωTx+b1+eωTx+bP(y=0|x)=11+eωTx+b

  通过极大似然法来估计 ωω bb
L(ω,b)=i=1mln(P(yi|xi;ω,b))L(ω,b)=∑i=1mln⁡(P(yi|xi;ω,b))

  为表述方便,使用一个新矩阵 ββ 来表示 ωω bb ,令 β={ωb}β={ωb} 。 
  同时也要给x矩阵补上一列1,令 x={x1}x′={x1} 。因为要对应参数b,补上1,保证结果不变。 
  那么, ωTx+b=βTxωTx+b=βTx′ 。 
  由于是二分类,即只有 y=0y=0 y=1y=1 的情况,那么可以将似然项重写为 y=0y=0 y=1y=1 的情况相加:
p(yi|xi;β)=yi×p(y=1|xi;β)+(1yi)×p(y=0|xi;β)p(yi|xi;β)=yi×p(y=1|xi′;β)+(1−yi)×p(y=0|xi′;β)

  ”西瓜书“上是这么写的,当然这样也不难理解。其实为了后面推导方便和容易理解,我们可以换成对数几率的形式来表示,原理依然是一样的,无非是加了个对数:
ln[p(yi|xi;β)]=yi×ln[p(y=1|xi;β)]+(1yi)×ln[p(y=0|xi;β)]ln⁡[p(yi|xi;β)]=yi×ln⁡[p(y=1|xi′;β)]+(1−yi)×ln⁡[p(y=0|xi′;β)]

  将上式代入到前面极大似然的公式中: L(β)=mi=1ln(P(yi|xi;β))L(β)=∑i=1mln⁡(P(yi|xi;β))  
  联立前面推出的后验概率的结果:
P(y=1|x)=eωTx+b1+eωTx+bP(y=0|x)=11+eωTx+b{P(y=1|x)=eωTx+b1+eωTx+bP(y=0|x)=11+eωTx+b

  得到最后的结果:
L(β)=i=1m(yiβTxiln(1+eβTxi))L(β)=∑i=1m(yiβTxi′−ln⁡(1+eβTxi′))

  由于是极大似然,我们需要求出其极大值,所以有: 

β=argmaxmL(β)β∗=argmaxmL(β)

  求出使 L(β)L(β) 最大的最优解等价于求出使 L(β)−L(β) 最小的解,所以有: 
β=argmaxmL(β)=argminmL(β)=i=1m(yiβTxi+ln(1+eβTxi))β∗=argmaxmL(β)=argminmL(β)=∑i=1m(−yiβTxi′+ln⁡(1+eβTxi′))

  最后可以通过凸优化中的梯度下降法、牛顿法等方法来求出 L(β)L(β) 函数的最优解 ββ∗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值