机器学习数学笔记|Taylor展开式与拟牛顿
觉得有用的话,欢迎一起讨论相互学习~
原创文章,如需转载请保留出处
本博客为七月在线邹博老师机器学习数学课程学习笔记
为七月在线打call!!
课程传送门
Taylor 展式与拟牛顿
索引
taylor展式
- 计算函数值
- 解释gini系数公式
- 平方根公式
牛顿法
- 梯度下降算法
- 拟牛顿法
- DFP
- BFGS
Taylor公式
- 如果函数在x0点可以计算n阶导数,则有Taylor展开
- 如果取x0=0,则有Taylor的麦克劳林公式.
Taylor公式的应用1:函数值计算
计算(e^{x})
- 则我们现在的关键就是计算k和r
Taylor公式的应用2:解释Gini系数
- 在随机数和决策森林中会提到的非常重要的概念-- Gini系数
- Gini系数定义 某个类别发生的概率乘以这个类别不发生的概率,把所有类别此项相加.
- 已知交叉熵定义,我们用泰勒公式将f(x)=ln(x)在x=1处一阶展开为1-x,将其带入交叉熵公式中,得到交叉熵公式的近似值公式.
Taylor公式的应用3:牛顿迭代法计算平方根
梯度下降算法
牛顿法
- 如果我们要求f(x)的最值(最小值或最大值),即要使(f^{'}(x)=0,(f(x)即是varphi(x))),这时候的到式子
[X_{k+1}=X_{k}-frac{f^{'}(X_{k})}{f^{''}(X_{k})}--牛顿法公式
]
- ps:这里我们假设f(x)是一个一元函数,如果是一个多元函数,推导过程完全相同,只是此时(f^{'}(x)是一个向量,f^{''}(x)是一个Hessian矩阵)
- 假设红色的曲线是目标函数
- 假设当前找到的点是(X_{k}),我们在此处求其切线,并且沿着切线方向在横坐标轴上移动(alpha_{k})的距离,这时候我们使用的算法就是梯度下降法.
- 给定(X_{k})点的函数值,导数值,二阶导数值得到的抛物线,我们求这条抛物线的梯度为0(即最小值)的点((X_{k}+d_{k})),即牛顿法是利用二次函数做的近似而梯度下降法是利用一次函数做的近似
牛顿法特点
Hessian矩阵非正定
- 如图,左边是标准情况,右边是f(x,y,z...)多元目标函数二阶导数非正定的情况,如果是f(x)一元函数,则是二阶导数为负数的情况.
- 假设红线是目标函数,最小值点在A点,假设我们选取的(X=X_{k})时,此时选取的点在B点,在B点使用牛顿法得到虚线,由于得到的二次曲线是一个凹函数,二阶导数为负数得到的极值点是虚线的最大值点!
- 为了解决这个问题,我们提出拟牛顿法的思路.
拟牛顿法
拟牛顿的思路
- 求Hessian矩阵的逆影响算法效率
- 搜索方向并非严格需要负梯度方向或者牛顿方向
- 可以用近似矩阵代替Hessian矩阵,只要满足矩阵正定,容易求导,或者可以通过若干步递推公式计算得到.
- DFP: Davidon -Fletcher -Powell(三个数学家名字命名)
- BFGS: Broyden -Fletcher -Goldfarb -Shanno
DFP
BFGS