有监督回归:最小二乘学习法
1.前言
接下來幾篇博客將總結回歸問題中的各種有監督學習算法。 本片博客介紹回歸問題中的最基本算法——最小二乘學習法;下一篇介紹為了避免過擬合而設置約束條件的最小二乘學習法。之后,我也會介紹難度高一點的稀疏學習法和魯棒學習法。 在以下幾篇文章中,我們將對以d次方的實數向量X作為輸入、以實數值y作為輸出??梢悦枋鰹閥=f(X)。這里,真實的函數關系f是未知的,通過學習過程中作為訓練集進行學習。 一般情況下,輸出樣本yi的真實值f(xi)中經常會觀測到噪聲。2.最小二乘學習法
最小二乘學習法是對模型的輸出fΘ(xi)和訓練集輸出{yi}i=1->n的平方誤差為最小時的參數Θ進行學習。核心原理如下公式所示:
LS是Least Square的首字母。這一要說明的是:1/2是自己添加的,目的是為了約去對Jls進行微分時得到的2。平方誤差可以理解為每一次觀測殘差的L2范數。所以很多情況下,最小二乘學習法也被稱為L2范數損失最小化學習法。
如果使用線性模型:
訓練樣本的平方差Jls就能夠表示為下面的形式:
在這里,y=(y1,..,yn)是訓練輸入的n維向量(更多的時候,我們把它稱為標簽),Φ是下式中定義的n*b階矩陣,也稱為設計矩陣。
訓練樣本的平方差Jls的參數向量Θ的偏微分可以計算得到:
當偏微分等于0時,可以取得極值,最小二乘關系可以表示為下式:
求解參數Θ的過程,實際上就是計算逆矩陣的過程,即:
我們需要注意的是:相對于只有方陣、非奇異矩陣才能定義逆矩陣,廣義逆矩陣則是矩形矩陣或奇異矩陣都可以定義,是對逆矩陣的推廣。
2.1 最小二乘學習法MATLAB實例
目標:使用三角多項式基函數:
基于參數的線性模型進行最小二乘法學習,實現對復雜非線性函數的近似。
2.2 加權最小二乘學習法
對順序為i的訓練樣本的平方差通過權重wi≥0進行加權,然后再采用最小二乘學習,這稱為加權最小二乘學習法。
加權最小二乘學習法,與沒有權重時相同。
通過下式可以進行求解:
上式中,W是以w1,w2,...,wn為對角元素的對角陣。
2.3 最小二乘解的性質
首先來考慮設計矩陣Φ的奇異值分解:
上述三個參量分別稱為奇異值、左奇異向量、右奇異向量。奇異值全部是非負的,奇異向量滿足正交性:
注意:使用MATLAB中的SVD函數,可以非常簡單地進行奇異值求解。
進行奇異值分解后,Φ的廣義矩陣Φ’就可以表示為下式:
2.4 大規模數據的學習算法
設計矩陣Φ的維數為n*b,當訓練樣本數n或參數個數b是非常大的數值的時候,經常會出現計算機內存不足的現象。在這種情況下,使用隨機梯度算法(SGD)往往會產生很好的效果。隨機梯度是指,沿著訓練平方誤差Jls的梯度下降,對參數Θ一次進行學習的算法。其原理可以用下圖表示:
? ?
一般而言,與線性模型相對應的訓練平方誤差Jls為凸函數。J(Θ)函數為凸函數是指,對于任意的兩點Θ1,Θ2和任意的t∈[0,1];都有下式成立:
因為凸函數是只有一個峰值的函數,所以通過梯度法就可以得到訓練平方誤差Jls在值域范圍內的最優解,即全局最優解。
2.5 實例
對于下式的高斯核函數模型:
采用最小二乘法的隨機梯度算法如下所示:
將訓練樣本數n設定為50,高斯核h設定為0.3,在本例中,從隨機、任意的初始值開始學習,經過200次迭代后,基本上就得到了近似的函數結果。但是,如果在這之后想要得到較為理想的收斂結果,則共需要11556次的迭代結果。
2.6 討論
梯度法的收斂速度,強烈依賴于梯度下降的幅度以及收斂結果的判斷方法。如果能夠合理地調整這些值得設置,收斂速度也能得到一定程度的提高。例如,對于梯度下降的步幅,可以首先將其設置為較大的值,然后慢慢地設置為較小的值。然而在實際操作過程中,想要將梯度下降的步幅設置為最優,是很困難的。
總結
以上是生活随笔為你收集整理的有监督回归:最小二乘学习法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 『飞秋』测试驱动开发TDD系列(二)
- 下一篇: 有监督回归:鲁棒学习