机器学习笔记3——牛顿方法

最大化似然性的另一算法

我们回到逻辑回归的话题( g(z)S ),现在我们讨论另一种最大化 l(θ) 的算法。
在开始前,让我们思考用于寻找函数零值的牛顿方法。假设,有一函数 f:RR ,希望找到 θ 值使得 f(θ)=0 。此处的 θ 是实数。
牛顿方法以如下形式更新:


牛顿方法的原理可以这样解释:在某点 θ 处作与函数 f 无限靠近的线性函数,且这一线性函数是在点 θ 处函数 f 的正切函数。问题变为 寻找线性函数为0,然后让下一个参数 θ 取线性函数为0所对应的 θ 值。

下面是牛顿方法的原理解释:


在最左侧的图中,我们可以看到函数 f 随着直线 y=0 绘制出来,我们尝试寻找参数 θ 使 f(θ)=0 ;满足条件的参数 θ 值接近1.3。假设我们在算法中设置参数的初始值 θ=4.5 。牛顿方法会在点 θ=4.5 为函数 f 匹配一条正切线,然后寻找满足这个线性函数为0的条件(如中间图所示)。然后我们得到了下一个参数值 θ 的猜测值,大概为2.8。最右侧的图显示了经过一次以上的迭代得到的结果,更新后的参数值 θ 约为1.8,经过迭代后我们逐渐接近 θ=1.3 .

牛顿方法为我们提供了一种寻找 f(θ)=0 的方式。那么如果我们想利用它来最大化一些函数 l 呢? l 的极值等于它的一阶导数 l(θ) 为0时所对应的值。所以,通过让 f(θ)=l(θ) ,我们可以用同样的算法来最大化 l ,我们会得到如下的更新规则:


(思考:如果我们想用牛顿方法最小化函数,那么这个公式会怎么变化呢?)

在上一讲的逻辑回归问题中, θ 是向量值,所以我们需要让牛顿算法一般化成这种形式。牛顿方法一般化为多维形式如下:


此处, θl(θ) 表示为 l(θ) 针对 θis 的部分偏导的向量。 H 是n*n维的矩阵,被称作海赛矩阵,矩阵中的值如下:


牛顿方法的收敛速度通常比梯度下降方法更快,达到最小值的迭代次数也更少。但是,牛顿方法每迭代一次的代价要高于梯度下降过程中的迭代,因为牛顿方法需要遍历且倒置n*n维的海赛矩阵;但是如果n值不是很大,总体来说牛顿方法还是更快一些。当利用牛顿方法最大化逻辑回归的对数似然函数 l(θ) 时,这种方法也被称作Fisher scoring


广义线性模型

目前为止,我们对回归问题和分类问题都有所了解了,在回归问题中,有 y|x;θN(μ,σ2) ,在分类问题中,有 y|x;θBernoulli(ϕ) ,对 μ ϕ 的适当定义得到了关于 x

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值