您的位置:首页 > 其它

【学习笔记】斯坦福大学公开课(机器学习) 之逻辑斯蒂回归(续)

2017-04-11 14:52 441 查看
对于逻辑斯蒂回归中,还有另一种最大化l(θ)的算法——牛顿方法。

先介绍牛顿方法,这个方法用来找到一个函数值为0的点。

它用以下的迭代更新公式:

θ:=θ−f(θ)f′(θ)

这个方法,可以通过函数在某个猜测的θ点上的导数,迭代调整θ的值来使函数值趋近零,即当迭代过程中,θ值变化程度比较小时,就代表f(θ)值就趋近于零。

看下迭代过程函数图形的表现形式:



在最左侧这张图中,画出了函数f(θ)和f(θ)=0这条直线。在中间这张图中,可以看到我们开始了第一次θ的迭代。求出了图中(θ=4.5)点的切线。并通过我们的切线来调整θ的值。第一次调整完成后,θ的值已经调整到切线和f(θ)=0的交点处,即θ=2.8,最右边的图就表示了第二次迭代开始。

牛顿方法可以求得一个找到函数值为0的点。我们需要用它来最大化我们逻辑斯蒂回归中的函数l,当函数最大值时,函数值的导数为零(这里需要判断的是极大值还是极小值,可以通过二阶导数(即函数凹凸性)来判断,二阶导数大于零即为最小值,小于零即为最大值)。所以,我们可以牛顿方法中f(θ)=l′(θ),那么我们得到牛顿方法更新法则:

θ:=θ−l′(θ)l′′(θ)

在逻辑斯蒂回归中,θ值是一个向量,那么我们需要把上面的公式改写为向量的形式:

θ:=θ−H−1∇θl(θ)

其中,∇θl(θ)是关于θi的偏导数的向量。H是一个n*n阶的矩阵,也称为Hessian矩阵,这个矩阵中元素的定义为:

Hij=∂2l(θ)∂θi∂θj

牛顿方法比梯度下降更快,可以用最少的迭代次数达到最值。一次牛顿方法的迭代比梯度下降的一次迭代需要的时间更多,因为牛顿方法的一次迭代,就要求得Hessian矩阵,但是只要是n的值比较小时,整体来说牛顿方法是比其他方法更有效率的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐