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