机器学习训练算法六(最速下降法)

连续函数的最优化方法-最速下降法

  • 1、介绍
  • 2、数学原理
  • 3、Matlab程序

1、介绍

最速下降法和梯度下降法基本相同,就是选择该点梯度的反方向进行搜索;区别在于,梯度下降法需要预先根据经验设定公式 20 的步长 η \eta η的值,而最速下降法则是在求出梯度方向后再搜索得到最优步长 η k \eta_{k} ηk

2、数学原理

将公式 20 的结果代入公式 10 可推得:
K ( η ) = d e f F ( X k − η × J ( X k ) ⏟ F ) ( 公 式 21 ) K(\eta) \stackrel{\mathrm{def}}{=} F(X_k-\eta\times \underbrace{J(X_k)}_{F} ) \qquad (公式21) K(η)=defF(Xkη×F J(Xk))(21)
公式21最优步长因子 η k \eta_{k} ηk是当函数 K ( η ) K(\eta) K(η)取得最小值的时候,自变量 η \eta η的取值:
η k = d e f a r g   min ⁡ η ∈ R   K ( η ) ( 公 式 22 ) \eta_{k} \stackrel{\mathrm{def}}{=} arg\ \underset{\eta \in R}{\min}\ K(\eta) \qquad (公式22) ηk=defarg ηRmin K(η)(22)
由公式 20 和公式 22 可推得目标函数 F ( X ) F(X) F(X)的最优化迭代公式:
X k + 1 = d e f X k − η k × J ( X k ) ⏟ F ( 公 式 23 ) X_{k+1} \stackrel{\mathrm{def}}{=} X_{k}-\eta_{k} \times \underbrace{J(X_k)}_{F} \qquad (公式23) Xk+1=defXkηk×F J(Xk)(23)

3、Matlab程序

链接地址

你可能感兴趣的:(算法,机器学习,matlab,算法,机器学习,matlab)