一、列舉常用的最優化方法
梯度下降法
牛頓法,
擬牛頓法
坐標下降法
梯度下降法的改進型如AdaDelta,AdaGrad,Adam,NAG等。
2梯度下降法的關鍵點
梯度下降法沿着梯度的反方向進行搜索,利用了函數的一階導數信息。梯度下降法的迭代公式為:
根據函數的一階泰勒展開,在負梯度方向,函數值是下降的。只要學習率設置的足夠小,並且沒有到達梯度為0的點處,每次迭代時函數值一定會下降。需要設置學習率為一個非常小的正數的原因是要保證迭代之后的xk+1位於迭代之前的值xk的鄰域內,從而可以忽略泰勒展開中的高次項,保證迭代時函數值下降。
梯度下降法只能保證找到梯度為0的點,不能保證找到極小值點。迭代終止的判定依據是梯度值充分接近於0,或者達到最大指定迭代次數。
梯度下降法在機器學習中應用廣泛,尤其是在深度學習中。AdaDelta,AdaGrad,Adam,NAG等改進的梯度下降法都是用梯度構造更新項,區別在於更新項的構造方式不同。
3牛頓法的關鍵點
牛頓法利用了函數的一階和二階導數信息,直接尋找梯度為0的點。牛頓法的迭代公式為:
其中H為Hessian矩陣,g為梯度向量。牛頓法不能保證每次迭代時函數值下降,也不能保證收斂到極小值點。在實現時,也需要設置學習率,原因和梯度下降法相同,是為了能夠忽略泰勒展開中的高階項。學習率的設置通常采用直線搜索(line search)技術。
在實現時,一般不直接求Hessian矩陣的逆矩陣,而是求解下面的線性方程組:
其解d稱為牛頓方向。迭代終止的判定依據是梯度值充分接近於0,或者達到最大指定迭代次數。
牛頓法比梯度下降法有更快的收斂速度,但每次迭代時需要計算Hessian矩陣,並求解一個線性方程組,運算量大。另外,如果Hessian矩陣不可逆,則這種方法失效。數學教材。機器學
4拉格朗日乘數法
拉格朗日乘數法是一個理論結果,用於求解帶有等式約束的函數極值。對於如下問題:
構造拉格朗日乘子函數:
在最優點處對x和乘子變量的導數都必須為0:
解這個方程即可得到最優解。對拉格朗日乘數法更詳細的講解可以閱讀任何一本高等數學教材。機器學習中用到拉格朗日乘數法的地方有:
主成分分析
線性判別分析
流形學習中的拉普拉斯特征映射
隱馬爾科夫模型
5凸優化
數值優化算法面臨兩個方面的問題:局部極值,鞍點。前者是梯度為0的點,也是極值點,但不是全局極小值;后者連局部極值都不是,在鞍點處Hessian矩陣不定,即既非正定,也非負定。
凸優化通過對目標函數,優化變量的可行域進行限定,可以保證不會遇到上面兩個問題。凸優化是一類特殊的優化問題,它要求:
優化變量的可行域是一個凸集
目標函數是一個凸函數
凸優化最好的一個性質是:所有局部最優解一定是全局最優解。機器學習中典型的凸優化問題有:線性回歸、嶺回歸、LASSO回歸、Logistic回歸、支持向量機、Softamx回歸
6拉格朗日對偶
對偶是最優化方法里的一種方法,它將一個最優化問題轉換成另外一個問題,二者是等價的。拉格朗日對偶是其中的典型例子。對於如下帶等式約束和不等式約束的優化問題:
與拉格朗日乘數法類似,構造廣義拉格朗日函數:
必須滿足
的約束。原問題為:
即先固定住x,調整拉格朗日乘子變量,讓函數L取極大值;然后控制變量x,讓目標函數取極小值。原問題與我們要優化的原始問題是等價的。
對偶問題為:
和原問題相反,這里是先控制變量x,讓函數L取極小值;然后控制拉格朗日乘子變量,讓函數取極大值。
一般情況下,原問題的最優解大於等於對偶問題的最優解,這稱為弱對偶。在某些情況下,原問題的最優解和對偶問題的最優解相等,這稱為強對偶。
強對偶成立的一種條件是Slater條件:一個凸優化問題如果存在一個候選x使得所有不等式約束都是嚴格滿足的,即對於所有的i都有gi (x)<0,不等式不取等號,則強對偶成立,原問題與對偶問題等價。注意,Slater條件是強對偶成立的充分條件而非必要條件。
拉格朗日對偶在機器學習中的典型應用是支持向量機。
7
KKT條件
KKT條件是拉格朗日乘數法的推廣,用於求解既帶有等式約束,又帶有不等式約束的函數極值。對於如下優化問題:
和拉格朗日對偶的做法類似,KKT條件構如下乘子函數:
和
稱為KKT乘子。在最優解處
應該滿足如下條件:
等式約束
和不等式約束
是本身應該滿足的約束,和之前的拉格朗日乘數法一樣。唯一多了關於gi (x)的條件:
KKT條件只是取得極值的必要條件而不是充分條件。
8特征值與特征向量
對於一個n階矩陣A,如果存在一個數和一個非0向量X,滿足:
則稱為矩陣A的特征值,X為該特征值對應的特征向量。根據上面的定義有下面線性方程組成立:
根據線性方程組的理論,要讓齊次方程有非0解,系數矩陣的行列式必須為0,即:
上式左邊的多項式稱為矩陣的特征多項式。矩陣的跡定義為主對角線元素之和:
根據韋達定理,矩陣所有特征值的和為矩陣的跡:
同樣可以證明,矩陣所有特征值的積為矩陣的行列式:
利用特征值和特征向量,可以將矩陣對角化,即用正交變換將矩陣化為對角陣。實對稱矩陣一定可以對角化,半正定矩陣的特征值都大於等於0,在機器學習中,很多矩陣都滿足這些條件。特征值和特征向量在機器學習中的應用包括:正態貝葉斯分類器、主成分分析,流形學習,線性判別分析,譜聚類等。
9奇異值的分解
矩陣對角化只適用於方陣,如果不是方陣也可以進行類似的分解,這就是奇異值分解,簡稱SVD。假設A是一個m x n的矩陣,則存在如下分解:
其中U為m x m的正交矩陣,其列稱為矩陣A的左奇異向量;為m x n的對角矩陣,除了主對角線
以外,其他元素都是0;V為n x n的正交矩陣,其行稱為矩陣A的右奇異向量。U的列為的特征向量,V的列為
的特征向量。
10最大似然估計
有些應用中已知樣本服從的概率分布,但是要估計分布函數的參數,確定這些參數常用的一種方法是最大似然估計。
最大似然估計構造一個似然函數,通過讓似然函數最大化,求解出。最大似然估計的直觀解釋是,尋求一組參數,使得給定的樣本集出現的概率最大。
假設樣本服從的概率密度函數為,其中X為隨機變量,
為要估計的參數。給定一組樣本xi,i =1,...,l,它們都服從這種分布,並且相互獨立。最大似然估計構造如下似然函數:
其中xi是已知量,這是一個關於的函數,我們要讓該函數的值最大化,這樣做的依據是這組樣本發生了,因此應該最大化它們發生的概率,即似然函數。這就是求解如下最優化問題:
乘積求導不易處理,因此我們對該函數取對數,得到對數似然函數:
最后要求解的問題為:
最大似然估計在機器學習中的典型應用包括logistic回歸,貝葉斯分類器,隱馬爾科夫模型等。