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

对于逻辑斯蒂回归中,还有另一种最大化 l(θ) 的算法——牛顿方法。
先介绍牛顿方法,这个方法用来找到一个函数值为0的点。
它用以下的迭代更新公式:

θ:=θf(θ)f(θ)

这个方法,可以通过函数在某个猜测的 θ 点上的导数,迭代调整 θ 的值来使函数值趋近零,即当迭代过程中, θ 值变化程度比较小时,就代表 f(θ) 值就趋近于零。
看下迭代过程函数图形的表现形式:
这里写图片描述
在最左侧这张图中,画出了函数 f(θ) f(θ)=0 这条直线。在中间这张图中,可以看到我们开始了第一次 θ 的迭代。求出了图中( θ=4.5 )点的切线。并通过我们的切线来调整 θ 的值。第一次调整完成后, θ 的值已经调整到切线和 f(θ)=0 的交点处,即 θ=2.8 ,最右边的图就表示了第二次迭代开始。
牛顿方法可以求得一个找到函数值为0的点。我们需要用它来最大化我们逻辑斯蒂回归中的函数 l ,当函数最大值时,函数值的导数为零(这里需要判断的是极大值还是极小值,可以通过二阶导数(即函数凹凸性)来判断,二阶导数大于零即为最小值,小于零即为最大值)。所以,我们可以牛顿方法中f(θ)=l(θ),那么我们得到牛顿方法更新法则:
θ:=θl(θ)l′′(θ)

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

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

牛顿方法比梯度下降更快,可以用最少的迭代次数达到最值。一次牛顿方法的迭代比梯度下降的一次迭代需要的时间更多,因为牛顿方法的一次迭代,就要求得Hessian矩阵,但是只要是n的值比较小时,整体来说牛顿方法是比其他方法更有效率的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值