回歸(二) 縮減係數

2021-09-27 10:34:51 字數 2089 閱讀 8123

回歸演算法中不管是用線性回歸找到最佳擬合直線,還是加權的線性回歸演算法,我們都是直接用矩陣相乘的方式,直接計算出對應的ω係數,這都是對應訓練資料組成的矩陣是可逆的,換句話說x矩陣是滿秩的,而對於某些屬性個數多餘樣本個數的樣本(樣本資料組成矩陣後列數多於行數)組成的矩陣是不滿秩,計算(xtx)-1的時候是會出錯的。所以為了解決這個問題統計學家們引入了領回歸(ridge regression)的概念。

嶺回歸

嶺回歸就是在矩陣xtx上加了乙個λi,從而使得矩陣非奇異,進而能夠對xtx+λi求逆。其中i是乙個m×m的單位矩陣,而λ是使用者自定義的乙個數值。在這種情況下,回歸係數的計算公式變成如下公式:

至於為什麼叫嶺回歸,書上是這麼說的,供參考:嶺回歸使用了單位矩陣乘以常量λ,我們觀察其中的單位矩陣i,可以看到值1貫穿整個對角線,其餘元素全是0。形象地,在0構成的平面上有一條1組成的「嶺」,這就是嶺回歸中的「嶺」的由來。

文章前面說了,嶺回歸的引入是為了解決特徵數目多於樣本數的情況,但是並不是說特徵數目少於樣本數就不能用嶺回歸的方式了,只不過是我們需要從另外乙個方面去理解嶺回歸的概念:

嶺回歸現在也用於在估計中加入偏差,從而得到更好的估計。這裡通過引入λ來限制了所有w的和,通過引入改懲罰項,能夠減少不重要的引數,這個基數在統計學中也叫作縮減(這句話是書上的原話,其實我是保持懷疑的,至於為什麼,到後面和lasso做下對比就知道了)。

接著引入懲罰項的說:我們先把上面嶺回歸係數的計算公式還原,從最初的公式看起:

上面公式求導,等0,就可以得到我們前面說的嶺回歸的回歸係數計算公式。但是我們這裡只看這個最初的公式,相當於在原有的的平方誤差的基礎上加入了一項,此項是對ω的約束;正規一點的說法是引入了正則項其中的||ω||2是向量ω的l2正規化;ω的l2正規化也可以看做是當前模型的複雜度。其實這個引入正則化及其係數,和決策樹中引入樹的複雜度及其係數的做法是相似的,也是可以防止模型過擬合。

在嶺回歸中,會有公式:

lasso

lasso和嶺回歸類似,也是對回歸係數做了限定,對應的約束條件限制為:

上面我們提到了有些係數會被縮減到0,如果係數是0,那麼該項對應的引數值與0相乘也是零,就是對應的特徵不起作用,從而可以忽略這個特徵,也就是縮減係數;而嶺回歸中雖然也有可能縮減係數,但是程度遠遠沒有lasso的程度大,所以lasso也可以用來特徵選擇。

不管是lasso和嶺回歸,都是對係數做了限制,使其不斷縮小。我們知道係數小的模型複雜度就小,因為某一特徵值的變化,不會使結果有大的變化,如果係數大的話,某一特徵值對結果的影響就比較大了。

其實嶺回歸和lasso在回歸模型中是比較重要的概念,此篇文章的上面只是提到了兩者的一些性質以及用法,也並沒有十分詳細的說。如果想進一步了解,可以網上搜l2和l1正則化,有大神講的更好,不過我也在另一篇文章《l1和l2正則化》中做了自己簡單的總結。

前向逐步回歸

前向逐步回歸演算法可以得到和lasso差不多的效果,但更簡單,沒有涉及太多的數學理論,也相對容易理解。它是一種貪心演算法(所謂的貪心演算法,簡單說,就是在詳細的每一步得到最優的結果),即每一步都盡可能的減少誤差,所以一開始所有特徵的權重都設為1,然後每一步所做的決策是對某個權重增加或者減少乙個很小的值。這裡感覺就和梯度下降法有點像了。

首先需要對資料進行標準化,標準化資料的目的是將原來的資料對映到特定的區間。否則的話不同的特徵可能有不同的尺度標準,不同權重的下降速度也不一樣,並且不同的特徵的數值如果數量級相差太大的話,就會在機器學習的結果中佔據主要的地位,所以將所有的特徵值放到乙個區間,增加了可比性,也增加了學習的準確性。

下面寫出具體步驟

設定迭代的次數

設定當前的損失值為最大正無窮

迴圈每個特徵值的權重ωi,對其增加或者減少,並計算當前權重下的損失;如果當前權重下的損失小於上乙個損失,那麼更新當前特徵值的權重為ωik,並且更新當前損失值,否則不予更新。

每次迭代都要重新迴圈計算比較所有的權重值,直到達到相應的迴圈迭代次數

ωi是第i個特徵的權重,ωik是在不斷的迭代過程中的權重中間值。我們之間假設過,將所有的權重都設為1,那麼ωik在每次迴圈中就可能是[-1,1]區間中梯度為0.02的一系列值。

機器學習python縮減係數

如果特徵比樣本點多,那麼對於用矩陣求解的方式就不可行,因為矩陣不可逆,這時候可以通過嶺回歸的方法,在矩陣xtx上加乙個 r,使得矩陣可逆,那麼回歸係數w x tx i 1x ty,i是單位矩陣,lam是自己定義的乙個係數,同時嶺回歸還可以用在估計中加入偏差,從而限制w的和,通過加入這個引數,可以減少...

回歸標準係數

對於非標準化的係數,資料在未標準化之前是不能直接用來直接比較 重要性大小 的。因為因子本身資料存在差異,看因子重要程度要用標準化係數。標準化的回歸係數是指將資料標準化 減均值除方差 後計算得到的回歸係數。因為資料進行了標準化,因此就取消了量綱的影響。假設因變數為y,自變數為x,標準回歸係數為a。那麼...

線性回歸計算回歸係數

線性回歸 優點 結果易於理解,計算上不複雜 缺點 對非線性的資料擬合不好 適用資料型別 數值型和標稱型資料 標稱型資料 一般在有限的資料中取,而且只存在 是 和 否 兩種不同的結果 一般用於分類 數值型資料 可以在無線的資料中取,而且數值比較具體化,例如4.02,6.23這種值 一般用於回歸分析 回...