内容提要:
*快速回顾牛顿法
*什么是拟牛顿法?
*拟牛顿法的合理性
点击蓝字 |关注我们
欢迎回来。上期我们给大家介绍了最大熵模型中的「最速梯度下降法」【十分钟 机器学习 系列课程】 讲义(三十七):最大熵模型之最速梯度下降法,今天我们继续介绍「拟牛顿法」。
壹 快速回顾牛顿法
说到拟牛顿法,不得不先说说「牛顿法」优化算法的扛把子之二:牛顿法(上)优化算法的扛把子之二:牛顿法(下),在之前的推文里,我们曾提到用牛顿法来求多元极值点时,需要用到「海森矩阵」,那么这个矩阵的难点是什么呢?咱们先用1分钟快速回顾一下。
1.迭代公式和海森矩阵
❝假如有一个函数,包含两个参数分别是 和 ,假如我们想要找到最小点,使 最小。
$
需要分别对 和 求偏导。
也就意味着,第一项是对 求偏导,我们找到含有 的项,分别求偏导之后求和。同理,第二项就是对 求偏导啦。
❞
❝接下来的「海森矩阵」就是对梯度向量继续求偏导。这里我们就要按位置逐个求偏导。
❞
❝那么这个「多元矩阵的迭代公式」是什么样的呢?
❞
当然还可以把它写的更简单些:
❝❞
这里的 ,这个迭代公式意味着:
❝第 的迭代值等于上一个第 个迭代值减去海森矩阵 的逆乘以梯度向量 。
❞
当然这里的难点就在于要求出「海森矩阵的逆」,这里的例子因为比较简单可以求出,但是如果数值计算量过大,由于是二阶偏导,那在计算过程中就会复杂很多,同时,如果海森矩阵的行列式为零 ,则计算不出逆矩阵,因此这时就需要「拟牛顿法」出场了~
贰 什么是拟牛顿法?
1.如何找到替代品?
搞清楚了牛顿法的难点,接着我们就看看有什么办法能「替代这个海森矩阵的逆」。
那么怎么找到这个替代品呢?
还是回归到牛顿法的根本了,牛顿法的实质其实是对它的目标函数 进行二阶泰勒展开,这里选择的点就是 ,这里另提一句,梯度下降法是通过一阶泰勒展开得到的哦。
这里写「约等号」原因是没有写上后面的余项。
接着我们对目标函数求导数:
❝在式子的左边恰好就是梯度函数 ,不过此处的变化在于,它代表了向量,而不是数值。
「第一项」 其实是指第 次迭代值后计算出的「具体的数值」,那么求导自然为零啦。
「第二项」 包含了 ,求导后就是在第 个迭代点处的梯度向量。
「第三项」 相当于是一个向量平方的形式。向量平方 求导得到 ,如果矩阵 是对称的,那么就与数值平方求导类似,为 。因此第三项求导结果为 。
❞
2.什么是拟牛顿法的条件?
接着咱们就代入一个具体的值,假如 ,代入后这个式子就可以写成:
接着可以写成:
❝「左式」是两个导函数的差值,「右式」是两个相邻迭代点之间的差值。继续化简,令左式 右式
❞
可写成:
或者:
这两个式子就是「拟牛顿法的条件」啦!
当然,第二个条件其实就是令 ,要求 满足 。
这两个条件这就是「拟牛顿法的精髓」。
看到这里,大家是不是觉得原来如此?但其实还没有那么简单,我们还需要一个演练,来说明它的合理性。
叁 拟牛顿法的合理性
❝我们知道,拟牛顿法的核心就是为了找到替代品来取代求逆的海森矩阵,那么是不是意味着把这个替代品找到之后,就可以代入牛顿法去计算?
❞
「其实不然!」
拟牛顿法中最关键的一步还要快速下降找到交点,这一步是用的梯度下降法的原理,对应的「搜索公式」为:
其中 代表了步长, 代表了方向,注意哦,这里的 是一个向量。
不过有意思的是,虽然用的是梯度下降法原理,但是 代表的却是牛顿方向 。
与牛顿法
相比,多了个步长 ,原因在于修正泰勒二阶展开忽略掉的高阶项。
接下来,用这个牛顿方向 来进行搜索,找到最优步长,「正是最速下降法的真谛!」
我们可以通过下式获得:
对目标函数 求一阶泰勒展开,注意哦,这里就是最速下降法的地盘啦,不需要再展开二阶了。
接着咱们把搜索公式 代入:
将牛顿方向:
代入后,就可以重写一阶展开公式:
观察一下后,就知道假设 是正定的,那么它的逆 也是正定的,对应的二次型一定是大于0等,那意味着第二项自然是小于0的。
❝这样就证明它是满足梯度下降的合理性。
❞
这意味着,初始值一定是满足「对称和正定」的矩阵。
按照这个思路,我们就可以撸起袖子放心大胆地使用拟牛顿法了。
好啦,这就是拟牛顿法的原理,下一期我们就继续讲解两个不同条件下的「拟牛顿法DFP算法和BFGS算法」吧!感兴趣的小伙伴可以点击视频链接继续学习,你的「转发+点赞+在看」是我们持之以恒的源源动力~
拓展阅读
欢迎大家关注简博士的B站和公众号,在公众号私信“入群”,可以与小伙伴们一起讨论问题哦。
扫码关注我们
微信号|Dr_Janneil
B站|简博士

