广义线性模型之logistic regression(二)

来源:互联网 发布:c语言视频下载 编辑:程序博客网 时间:2024/06/05 21:56

注:本文若没特殊声明,所有截图均来自cs229 Machine Learning Lecture notes 1


Logistic regression的hypotheses为

 

其中

被称为logistic function或者sigmoid function。

由于 sigmoid 函数的输出介于0~1之间,因此我们可以把它看成概率。令
 

则p(y|X;theta)的概率可写成


则有log likelihood
 
对求和符号内的式子求导得
 
我们发现,最终得到的参数更新公式与linear regression的是一样的:
 
从后续可知这并不是一个巧合。不过先来看看另一种求解方法,牛顿迭代法(Newton’s method)。


牛顿迭代法(Newton’s method)


我们知道,要求f(theta)=0,我们可以使用牛顿迭代法如下更新theta:

 
下图能给出一个形象的例子:
 
类似地,若要求f’(theta)=0,可以使用
 
扩展到多维的情况,即对应

 

利用该式子求解模型的方法也叫,Newton-Raphson method。其中


定义的矩阵被称为海森矩阵(Hessian matrix)。具体地对于上述似然函数,
 from [3]
可以证明上述的海森矩阵是半负定的(negative semi-definite),即
from [3]

因此,logistic不存在局部最优解,所以可以使用Newton’s method,此时该算法有个专有的名字——IRLS。

过程如下(与上面稍微不同),令

from [2]

可以得到
 from [2]
其中π = sigmoid(X)。令
 from [2]
根据牛顿迭代法,有如下更新公式:
 from [2]

对应的python代码如下:

from [2]

 

参考文献:

[1] cs229 Machine Learning Lecture notes 1: "Supervised Learning, Discriminative Algorithms"

[2] CPSC 540: Logistic regression, IRLS and importance sampling

[3] cs229  problem set 1

0 0