梯度下降法和牛顿法优化原理
2017-03-13 17:14
204 查看
我们假设任何规律都是一个函数,机器学习要做的就是设计模型来拟合这个函数,如何使自己的模型更能贴近这个函数就是我今天要讲的优化问题。
首先假设我们的模型为函数f(x),给定一个输入x,得到预测结果f(x),而真实的结果为y,我们优化的目的就是使f(x)和y贴近。一般我们会定义一个损失函数,来衡量这个差距。此时我们优化的目标就是使损失函数最小。当然优化损失函数的方法有很多,我今天就列举两个使用迭代的优化方法。
本文参考文章
f(x)=f(x0)+f′(x0)(x−x0)
或者
f(x+Δx)=f(x)+f′(x)Δx
首先我们每次迭代,修改weight的目的是使损失一次比一次低,用数学式表达就是
min(f(W+ΔW)
(W是权重weight向量(N*1的向量)
利用上述的泰勒公式一阶展开(向量形式)
f(W+ΔW)=f(W)+∇f(W)TΔW
若要使f(W+ΔW)最小,则要使∇f(W)TΔW最小
由柯西不等式得
|∇f(W)TΔW|≤||∇f(W||∗||ΔW||
当且仅当f′(W)=ΔW
所以当∇f(W)=ΔW时,∇f(W)TΔW最小
也即下一次迭代W′=W+ΔW=W−∇f(W)
f(x)=f(x0)+f′(x0)(x−x0)+12f′′(x0)(x−x0)2
或者
f(x+Δx)=f(x)+f′(x)Δx+12f′′(x)Δx2
首先我们每次迭代,修改weight的目的是使损失一次比一次低,用数学式表达就是
min(f(W+ΔW)
(W是权重weight向量(N*1的向量)
利用上述的泰勒公式一阶展开
f(W+ΔW)=f(W)+∇f(W)TΔW+12ΔWT∇2f(W)TΔW
若要使f(W+ΔW)最小,则要使∇f(W)TΔW+12ΔWT∇2f(W)TΔW最小
令:
g(ΔW)=∇f(W)TΔW+12ΔWT∇2f(W)TΔW
∇g(ΔW)=∇f(W)+∇2f(W)ΔW
∇g(ΔW)=0时,∇g(ΔW)取得极值点,
ΔW=−∇2f(W)−1∇f(W)
也即下一次迭代W′=W+ΔW=W−∇2f(W)−1∇f(W)
首先假设我们的模型为函数f(x),给定一个输入x,得到预测结果f(x),而真实的结果为y,我们优化的目的就是使f(x)和y贴近。一般我们会定义一个损失函数,来衡量这个差距。此时我们优化的目标就是使损失函数最小。当然优化损失函数的方法有很多,我今天就列举两个使用迭代的优化方法。
本文参考文章
梯度下降法
先列出泰勒公式的一阶展开式(一维变量)f(x)=f(x0)+f′(x0)(x−x0)
或者
f(x+Δx)=f(x)+f′(x)Δx
首先我们每次迭代,修改weight的目的是使损失一次比一次低,用数学式表达就是
min(f(W+ΔW)
(W是权重weight向量(N*1的向量)
利用上述的泰勒公式一阶展开(向量形式)
f(W+ΔW)=f(W)+∇f(W)TΔW
若要使f(W+ΔW)最小,则要使∇f(W)TΔW最小
由柯西不等式得
|∇f(W)TΔW|≤||∇f(W||∗||ΔW||
当且仅当f′(W)=ΔW
所以当∇f(W)=ΔW时,∇f(W)TΔW最小
也即下一次迭代W′=W+ΔW=W−∇f(W)
牛顿法
先列出泰勒公式的二阶展开式f(x)=f(x0)+f′(x0)(x−x0)+12f′′(x0)(x−x0)2
或者
f(x+Δx)=f(x)+f′(x)Δx+12f′′(x)Δx2
首先我们每次迭代,修改weight的目的是使损失一次比一次低,用数学式表达就是
min(f(W+ΔW)
(W是权重weight向量(N*1的向量)
利用上述的泰勒公式一阶展开
f(W+ΔW)=f(W)+∇f(W)TΔW+12ΔWT∇2f(W)TΔW
若要使f(W+ΔW)最小,则要使∇f(W)TΔW+12ΔWT∇2f(W)TΔW最小
令:
g(ΔW)=∇f(W)TΔW+12ΔWT∇2f(W)TΔW
∇g(ΔW)=∇f(W)+∇2f(W)ΔW
∇g(ΔW)=0时,∇g(ΔW)取得极值点,
ΔW=−∇2f(W)−1∇f(W)
也即下一次迭代W′=W+ΔW=W−∇2f(W)−1∇f(W)
总结
由上面可知,梯度下降法只需要损失函数满足一阶可导就行,而牛顿法需要二阶导数,无论条件还是计算难度都提高了,但是由于牛顿法是泰勒展开式的二阶形式,所以是二阶收敛的,而梯度下降法是一阶收敛的,相对于牛顿法收敛速度较慢些。相关文章推荐
- 机器学习中梯度下降法和牛顿法的比较
- 数学优化入门:梯度下降法、牛顿法、共轭梯度法
- 梯度下降和牛顿法
- [转] 种常用的优化方法梯度下降法、牛顿法、共轭梯度法
- 机器学习中梯度下降法和牛顿法的比较
- 机器学习常用优化算法--梯度下降,牛顿法,共轭梯度法,拉格朗日乘数法
- 常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)
- 最优化问题中,牛顿法为什么比梯度下降法求解需要的迭代次数更少?
- 梯度下降法,牛顿法,高斯-牛顿迭代法,附代码实现
- 梯度下降法,牛顿法,拟牛顿法
- 梯度下降法,牛顿法,坐标下降法
- 梯度下降法与牛顿法
- 梯度下降法和牛顿法比较(转)
- 梯度下降法和牛顿法
- 【机器学习详解】解无约束优化问题:梯度下降、牛顿法、拟牛顿法
- 梯度下降法和牛顿法原理
- 优化方法总结:梯度下降法、牛顿法、拟牛顿法、共轭梯度法等等
- 梯度下降法、牛顿法、拟牛顿法
- 机器学习中梯度下降法和牛顿法的比较
- 梯度下降法与牛顿法