梯度下降法,牛頓法,座標下降法

自己簡單整理了梯度下降法,牛頓法,座標下降法的理論,爲了自己以後查看方便,時間有限,因此格式還有待改進!
梯度下降法
梯度下降法化算法是常見的優梯度,現在一般使用效果應該不怎麼好,但是卻是非常基礎的理論
在微積分裏面,對多元函數的參數求∂偏導數,把求得的各個參數的偏導數以向量的形式寫出來,就是梯度。比如函數f(x,y), 分別對x,y求偏導數,求得的梯度向量就是(∂f/∂x, ∂f/∂y)T,簡稱grad f(x,y)或者▽f(x,y)。對於在點(x0,y0)的具體梯度向量就是(∂f/∂x0, ∂f/∂y0)T.或者▽f(x0,y0),如果是3個參數的向量梯度,就是(∂f/∂x, ∂f/∂y,∂f/∂z)T,以此類推。

那麼這個梯度向量求出來有什麼意義呢?他的意義從幾何意義上講,就是函數變化增加最快的地方。具體來說,對於函數f(x,y),在點(x0,y0),沿着梯度向量的方向就是(∂f/∂x0, ∂f/∂y0)T的方向是f(x,y)增加最快的地方。或者說,沿着梯度向量的方向,更加容易找到函數的最大值。反過來說,沿着梯度向量相反的方向,也就是 -(∂f/∂x0, ∂f/∂y0)T的方向,梯度減少最快,也就是更加容易找到函數的最小值。

優缺點:當函數是凸函數時,求得的最小值是全局最小值,如果不是凸函數,有可能陷入局部極小,從而不是最優解
靠近極小值時,下降速度減慢
直線搜索可能會出現問題
可能出現之字形的下降
參考:http://www.cnblogs.com/pinard/p/5970503.html

牛頓法
牛頓法是一種在實數域和複數域上近似求解的方法.其主要特點是使用函數的泰勒級數的前面幾項來尋找方程的根或最優解
應用
a 求方程的根
牛頓法求方程的根的關鍵是將函數在某個點附近進行一階泰勒級數展開,然後利用y=0,導出迭代公式(方程求根):
這裏寫圖片描述
b 最優化
牛頓法最優化的關鍵是將函數在某個點附近進行二階泰勒級數展開,然後利用極小值點處一階導數爲0的公式,導出迭代公式,由於在求解過程中需要用到海塞矩陣的逆矩陣,對這個逆矩陣的近似處理,就成了擬牛頓法
這裏寫圖片描述
這裏寫圖片描述
參考:http://blog.csdn.net/liyuan123zhouhui/article/details/78281515

座標下降法
座標下降法,是一種非梯度優化算法,算法在每次迭代中,在當前點處沿一個座標方向進行一維搜索以求得一個函數的局部極小值。在整個過程中循環使用不同的座標方向。對於不可拆分的函數而言,算法可能無法在較小的迭代步數中求得最優解。爲了加速收斂,可以採用一個適當的座標系,例如通過主成分分析獲得一個座標間儘可能不相互關聯的新座標系.
對於一個函數,變量個數爲n,也即座標軸有n個,那麼在固定n-1個軸,只在其中一個軸上求解極值,這個極值對應的也是全局極值,將所有的座標軸循環一遍,就可以求得最優解,很多大規模的問題用這種方法都能夠快速解決。
這裏寫圖片描述
例子:
這裏寫圖片描述
這個兩維的函數的最優解是0,這個問題收斂是沒有問題的,但它可能會慢一些。但對於一般問題,用CD還要注意一下,它不一定會收斂。

在什麼情況下收斂?如果目標函數是光滑而且凸的,就一定會收斂。但很多問題不光滑,比如Lasso就不光滑,那怎麼辦?如果是不光滑的,只要光滑部分可分就可以了。在很多稀疏問題上,CD是可以保證是收斂的。

總結來說,當問題是光滑且凸的時候,座標下降算法一定可以收斂,當問題不光滑的時候,當不光滑的部分是可分的,那麼座標下降算法也可以收斂。

座標下降算法的優點是容易計算,同時收斂很快;缺點是當loss比較複雜時,會很明顯的降低速度。
參考:https://www.leiphone.com/news/201703/fbO2gmk0xkCdj4SB.html

附錄:
正交矩陣:1 爲方陣 2 元素爲實數 3 行與列都爲單位向量 4 行與列之間都爲正交向量
正交矩陣性質:
轉置矩陣爲其逆矩陣
作爲一個線性映射(變換矩陣),正交矩陣保持距離不變,所以他是一個保距映射,具體例子爲旋轉與映射
當將正交矩陣的元素變爲複數時,變成了酉矩陣,酉方陣在量子力學中有着重要的應用。酉等價是標準正交基到標準正交基的特殊基變換

凸函數:
公式定義:一維的凸函數定義: f((x1+x2)/2)>=(f(x1)+f(x2))/2
二維的可以自己去想象,從直觀上理解,就是函數的曲線或者曲面上都是外凸的
這裏寫圖片描述

泰勒級數:
這裏寫圖片描述

海塞矩陣:
這裏寫圖片描述

雅可比矩陣:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章