下降方法descent method

1:目标 对于无目标约束问题进行最小值求解问题。

x(k+1)=x(k)+t(k)Δx 

等式为迭代关系,其中 t(k) 为第k次的迭代步长。Δx  搜索方向。
对于求其最优解,即是考虑求其最小值。我们所有学的下降方法满足迭代的后一项应该是小于前一项的,之为下降,这样才可能到达最小值点。即是满足
f(x(k+1))<f(x(k)) 

由于凸性,我们有df(x(k))  (yx(k))0 f(y)f(x(k))  .因此下降方法必须满足 df(x(k))  Δx<0  .
2:算法
首先给出初始点x。
do:
1:确定下降方向Δx 
2:线性搜索。选择一个步长t>0,
3:更新x(k+1)=x(k)+t(k)Δx 
until:停止条件满足。
对于2中线性搜索有两种方法,一种精确线性搜索法(exact line search),一种回溯线性搜索法(backtracking line serach)。
精确线性搜索即是选择t使得f(x)沿着射线x+tΔx  最小即可。即是
t=argminf(x+sΔx) 

回溯线性搜索法是不精确的线性搜索方法。其思想是先选一个大的步长,
如果步长太大,则逐次缩减,直到满足要求。具体算法流程是:
首先给出 f 的下降方向Δx  ,给出一个初始步长t=1;a(0,0.5),β(0,1) 
do:t:=βt 
while f(x(k+1))>f(x(k))+atdf(x(k))  Δx  .
其中a为控制因子,β  为搜索步长缩减因子。

3 梯度下降法(Gradient descent method)和最速下降法(steepest descent method)。
其中梯度下降法是沿着负梯度的方向下降的。即其中Δx=df(x) 
具有全局收敛性近似线性收敛,但是其对条件数比较大的时候收敛性很慢。
下面介绍最速下降法:
对f(x+v)一阶泰勒展开f(x+v)=f(x)+df(x)’v;考虑等式右边第二项。如果我们让|| ||,表示任意范数的话。定义标准最速下降方向为

ΔXn=argmindf(x)  v|||v||=1 

考虑非标准下降方向Δx=||df(x)||  其中|| ||*为对偶范数。
那么,这个Δx  就是最速下降方向。
对于二范数也即是欧几里得范数,df(x)  Δx=||df(x)|| 2   。 即等价为梯度下降法。
对于quadratic norm。||z||p=(z’Pz)^(1/2) 。则Δx  =-P^(-1)df(x) .
其中矩阵P可以理解为对原函数的座标轴进行变换,从而导致搜索方向也发生变换。这个简单的变换可以引起很多有效果的收敛!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章