機器學習 最小角迴歸法 LARS

在介紹最小角迴歸算法前,我們需要了解兩個相關算法,一個是前向選擇算法(Foward Selection),一個是前向梯度算法(Forward Statgewise)。

1.前向選擇算法(Foward Selection)

  假設有Y=Xθ,X爲m*n的矩陣,Y爲m*1的矩陣,我們要找到一個θ,最大程度的擬合輸入和輸出。

  這裏把X看成n個m*1的的向量Xi。

  第一步:選擇和目標Y最爲接近的Xi(餘弦相似度),記爲Xk。

  過Y向Xk向量做投影,投影的長度便作爲Xk對應的係數,記爲θk。

  第二步:定義(殘差)Y'=Y-Xk*θK

  若Y把所有的自變量都投影完畢,或者Y' 爲0,結束算法。

  否則投影后的Y' 被設爲新的目標Y,重複第一步。

  圖示引薦如下:

  

上圖爲Y在X1,X2上的分解,對應的θ即爲要求解的係數。

2.前向梯度算法(Forward Stagewise)

  同前向選擇方法不同的一點是,θk的取值是人爲設定的,每次θk會有一個初始值設爲w,

  計算殘差Y=Y-Xk*w,再根據Y’去找相似度最大的向量Xi。

  引圖如下:

如上圖Y沿着x1方向,行走εx1時,就會停下來計算殘差,再判斷究竟與x1的相似度還是與x2的相似度大,然後繼續走下去。

 

3.最小角迴歸(Least Angle Regression, LARS)算法

首先,還是找到與因變量Y最接近或者相關度最高的自變量Xk,使用類似於前向梯度算法中的殘差計算方法,得到新的目標Y',此時不用和前向梯度算法一樣小步小步的走。而是直接向前走直到出現一個Xt,使得Xt和Y'的相關度和Xk與Yyes的相關度是一樣的,此時殘差Y'就在Xt和Xk的角平分線方向上,此時我們開始沿着這個殘差角平分線走,直到出現第三個特徵Xp和Yyes的相關度足夠大的時候,即Xp到當前殘差Yyes的相關度和θt,θk與Yyes的一樣。將其也叫入到Y的逼近特徵集合中,並用Y的逼近特徵集合的共同角分線,作爲新的逼近方向。以此循環,直到Yyes足夠的小,或者說所有的變量都已經取完了,算法停止。此時對應的係數θ即爲最終結果。

引圖如下:

 

轉自:https://www.cnblogs.com/mystudyblog/p/7532850.html

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