本文主要是介绍最优化考试之最速下降法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最优化考试之最速下降法
- 一、最速下降法
- 1.前置知识
- 2.问题条件
- 3.计算过程
- 4.例子
一、最速下降法
1.前置知识
雅克比矩阵 ∇ f ( x ) {∇f(x) } ∇f(x)的求法
2.问题条件
最速下降法的相关问题中的条件提炼出来如下,如果题目没有误差e,那就要求最后迭代出来的梯度值 ∇ f ( x ) {∇f(x) } ∇f(x) 接近0或等于0,一般自行选取e。
- 目标函数 ∇ f ( x ) {∇f(x) } ∇f(x)
- 初始点 x 0 {x}^{0} x0
- 误差 e
3.计算过程
- 选取初始点 x 0 {x}^{0} x0, k = 0 {k=0} k=0
- 计算 ∇ f {∇f} ∇f( x k {x}^{k} xk) ,若|| ∇ f {∇f} ∇f( x k {x}^{k} xk)|| < = e {<=e} <=e,停止迭代,输出结果 x k {x}^{k} xk
- 计算梯度 d = − {d=-} d=− ∇ f {∇f} ∇f( x k {x}^{k} xk)
- 下一个迭代点 x k + 1 {x}^{k+1} xk+1= x k {x}^{k} xk+ t k {t}_{k} tk* d {d} d
- 设函数 g ( t ) = f ( {g(t)=f(} g(t)=f( x k + 1 {x}^{k+1} xk+1),对 g ( t ) {g(t)} g(t)求导,计算当 g ′ ( t ) = 0 {g'(t)=0} g′(t)=0时 t {t} t的值;因此推导出 x k + 1 {x}^{k+1} xk+1,k=k+1,迭代到第二步
4.例子
根据3的步骤开始,先求初始点的雅克比矩阵 ∇ f ( x 1 ) = [ 6 x 1 − 12 , 8 x 2 − 24 ] T { ∇f(x^1 )=[6x_1-12,8x_2-24]^T} ∇f(x1)=[6x1−12,8x2−24]T
梯度 d = − {d=-} d=− ∇ f {∇f} ∇f( x 1 {x}^{1} x1),下一个迭代点 x 2 = x 1 + d ∗ t 1 {x^2=x^1+d*t_1} x2=x1+d∗t1
设函数 g ( t 1 ) = f ( x 2 ) = 3 ∗ ( − 12 ∗ t + 2 ) 2 {g(t_1 )=f(x^2 )=3*(-12*t+2)^2} g(t1)=f(x2)=3∗(−12∗t+2)2
对 g ( t 1 ) {g(t_1 )} g(t1)求导,当 g ′ ( t 1 ) = 0 {g'(t_1)=0} g′(t1)=0时, t 1 = 1 / 6 {t_1=1/6} t1=1/6,代入求得 x 2 = [ 2 , 3 ] T {x^2 =[2,3]^T } x2=[2,3]T
计算得 ∇ f ( x 2 ) = 0 {∇f(x^2)=0} ∇f(x2)=0,因此 x 2 {x^2} x2为最优解点,最优解为 f ( x 2 ) {f(x^2)} f(x2)
这篇关于最优化考试之最速下降法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!