lr的牛顿法求解

牛顿法的python实现及原理见:https://www.jianshu.com/p/d2aec3724fd7

逻辑回归(Logistic Regression,LR)应该是互联网行业使用最广的分类模型了。CTR预估、反作弊、推荐系统等等领域都在大量使用LR模型。近几年,DNN有逐渐取代LR的趋势,但LR仍然有着理论完备、训练速度快、物理意义清晰等优势。对于业务发展初期,LR仍然是首选。最后,LR模型本身并不复杂,成功的关键在于特征工程(Feature Engineering)。特征工程以后会有专门的文章描述。

1.  什么是逻辑回归模型。


LR本质上是一个线性分类器,决策超平面是:

β0+xβ=0β0+xβ=0

LR与线性分类器的区别在于:LR不但给出决策超平面,还根据样本点到超平面的距离,预估样本属于某一类的概率:

p(x;b,w)=11+e(β0+xβ)(2)=11+e(β0+xβ)ββ(3)=11+eDxβ(4)p(x;b,w)=11+e−(β0+xβ)(2)=11+e−(β0+xβ)‖β‖∗‖β‖(3)=11+e−Dx∗‖β‖(4)

从式(4)中可以看出,样本离决策平面越远(DxDx越大),则分类越置信(p(x;b,w)p(x;b,w)越接近0,1)。同样,β‖β‖越小,样本的区分度越大,这也是大多数LR算法都会有一个”正则化(Regularization)”的原因。

 2. LR模型优化函数

(本节的详细推到过程请见文末附图)

LR模型预估的是样本属于一个分类的概率。对于iid分布的训练集,优化函数可以写成最大化联合分布概率:

L(β0,β)=allinstancesp(xi)yi(1p(xi))1yi(5)L(β0,β)=∏allinstancesp(xi)yi(1−p(xi))1−yi(5)

为了简化描述,我们把x看成是(1+m)维的向量(m为feature数),wwββ。由式(5)可以推导出:

Log(L(w))=Log(allinstancesp(xi)yi(1p(xi))1yi)=i=1nLog(1+ewxi)(1yi)wxi(6)Log(L(w))=Log(∏allinstancesp(xi)yi(1−p(xi))1−yi)=∑i=1n−Log(1+e−wxi)−(1−yi)wxi(6)

要求式(6)的极大值,需要满足以下条件:

i=1n(Log(1+ewxi)(1yi)wxiwj)=0∑i=1n(∂−Log(1+e−wxi)−(1−yi)wxi∂wj)=0

i=1n(yip(xi;w))xij=0(7)∑i=1n(yi−p(xi;w))xij=0(7)

式(7)并没有解析解。因此,我们无法求出LR模型的ww。那么,怎么才能求出LR模型的最优ww呢?下一节,我们会介绍几个常用的数值求解的方法。

 3. 牛顿法

上面介绍了LR模型以及损失函数。由于没有解析解,下面我们介绍如何通过数值方法寻找最优ww。数值训练方法很多,但最大名鼎鼎的要属牛顿法了,其他很多方法都是牛顿法衍生出来的。

牛顿法的本质是在搜索点的的位置,根据当前点的一阶、二阶导数,用二阶泰勒展开f^f^近似目标函数ff,将这个近似的函数f^f^的极小值点作为下一个搜寻点。由于二阶泰勒展开后为二次函数,极小值点有解析解。

目标函数ff在第k个搜寻点附近的泰勒展开是:

f^(w)=f(w(k))+(wwk)f(wk)+12(wwk)2H(wk) --------- (T)

式(T)极小值点既为下一个搜索点(导数为0):

由(T)式得:



令w=wk+1得到

wk+1=wkH1(wk)f(wk)

从上式可以看出,牛顿法的每一次迭代都有Hessian矩阵的逆运算,这是一个非常耗时的过程。因此,有人提出了一些近似牛顿算法(quasi-Newton method)来避免耗时的矩阵求逆运算。相关算法将在以后介绍。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值