您的位置:首页 > 其它

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

2014-02-12 19:05 176 查看
注:本文若没特殊声明,所有截图均来自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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: