一階梯度法、二階段梯度法、牛頓法
阿新 • • 發佈:2018-12-21
目標
有一個函式 ,我們要求得函式的最小值(或者最大值),由於最值點一般也是極值點,所以求出所有極值點,然後進行對比就能得到我們要的最值,可以理解為一個最小二乘的問題
解法
最暴力的方法,直接求解
當然,如果能夠直接解出結果,那就很好了,但是大多數情況下很難解。當沒法求解的時候,可以採用迭代的方法:
- 給定某個初始值 。
- 對於第k次迭代,尋找一個增量 ,使得 達到極小值。
- 若 。
- 否則,令 ,返回第2步。
下面介紹一下幾個迭代的方法,都是在找
一階梯度法
將
在x附近進行泰勒展開
x是常量,同時也是個向量;
才是變數,
是雅可比矩陣,
是海塞矩陣,可以將J(x)理解為矩陣形式的一階導數,
理解為矩陣形式的二階導數
導數:指的是函式值增加的速度,速度是個向量(有大小,有方向),在一維的情況下,也是一樣的,可以這樣理解,假設 ,則 , 是關於y軸對稱,最小值在原點的函式,當x<0的時候,導數也是<0的,當x>0的時候,導數是>0的,可以把±號看成方向。
梯度:梯度的本意是一個向量(向量),表示某一函式在該點處的方向導數沿著該方向取得最大值,即函式在該點處沿著該方向(此梯度的方向)變化最快,變化率最大(為該梯度的模)。
設f(x)是一個多元函式,則梯度是向量
雅可比矩陣:設 ,x和y都是一個向量,則對應的雅可比矩陣為