統計學習方法由三個要素組成:方法=模型+策略+算法
模型是針對具體的問題做的假設空間,是學習算法要求解的參數空間。例如模型可以是線性函數等。
策略是學習算法學習的目標,不同的問題可以有不同的學習目標,例如經驗風險最小化或者結構風險最小化。
經驗風險最小化中常見的損失函數有:0-1損失函數、殘差損失函數、絕對值損失函數、平方損失函數、對數損失函數等等。
算法是按照上述策略求解模型的具體計算方法。模型定義了要求什么,策略定義了按照什么標准去求,算法則具體去解決。
線性回歸模型
線性回歸模型,眾所周知就是給定給定訓練集(Xi,Yi),模擬一個一次線性函數Y'=∑ΘiXi(模型),使得誤差J(Y,Y')盡可能最小(策略)。
如果要用線性回歸問題解決分類問題的話,需要將線性回歸函數轉換成0-1分布的函數,邏輯斯蒂函數就是這樣一個函數,可以將值映射為區間(0,1)上,同時又能很好的表示概率意義。
那么如何求解參數使損失函數最小呢?
當然可以用暴力搜索所有的參數值Θ,但是效率肯定很低,所以用有目標的(啟發式)搜索算法代替暴力搜索。這里的目標就是上述損失函數最小策略。
假設空間參數是經驗風險的函數!舉個例子,對於
如果Θ
0 一直為 0, 則Θ
1與J的函數為:

如果有Θ
0與Θ
1都不固定,則Θ
0、Θ
1、J 的函數為:
梯度下降法
大致步驟如下:
1、隨機初始化參數Θ,並給定一個學習速率α(下降的步長)
2、求解目標函數(損失函數)相對於各個參數分量Θi的偏導數
3、循環同步迭代Θi直到達到終止條件(迭代次數或者一個誤差值)
下降的步伐大小非常重要,因為如果太小,則找到函數最小值的速度就很慢,如果太大,則可能會出現overshoot the minimum的現象;
下圖就是overshoot minimum現象:

如果Learning rate取值后發現J cost function增長了,則需要減小Learning rate的值;所以需要隨時觀察α值,如果J cost function變小了,則ok,反之,則再取一個更小的值。
下圖詳細的說明了梯度下降的過程:

下圖就是模型、策略、算法結合得到統計學習方法的示例:

另外需要注意的是梯度下降法求解的是局部最優解(除非損失函數是凸的),跟初始點由很大的關系,可以多次取不同初始值求解后取最優值。
參考博客:http://blog.csdn.net/xiazdong/article/details/7950084