迴歸預測算法

一、基礎

適用數據:數值型。算法

1)相關係數(R2)衡量

有時候,咱們須要計算預測值與實際值的匹配程度,來衡量所創建模型的好壞。此時,須要計算Y、Y‘的相關係數:函數

其中,Cov表示協方差,Var表示方差。測試

2)縮減係數

當數據的特徵比樣本數目還多時,此時n>m,輸入的樣本矩陣非滿秩矩陣,在求逆時會出錯。優化

二、線性迴歸

線性迴歸意味着將輸入數據分別乘以一些常量(迴歸係數),相加獲得輸出(預測值)。spa

線性迴歸須要使用數值型數據,標稱型數據需轉化爲二值型數據。3d

假設輸入的預測樣本爲X1,爲n行的列向量,W爲n行的列向量,表示從樣本數據獲得的迴歸係數,則預測結果爲:blog

假設輸入的樣本數據存放在m行n列的矩陣,記爲X,n個特徵所決定的因變量記爲Y,爲m行的列向量,則須要從Y=XW獲得W的值。io

經常使用的方法爲找到使得Y預測值與真實值偏差最小的W,一般用平方偏差衡量(該方法稱爲普通最小二乘法,ordinary least squares,OLS):ast

爲了使得SE最小,咱們要對SE求導,先將SE展開:基礎

以後對W求導:

表示使得平方偏差最小時的最優解。並且,此時只有在XTX存在逆矩陣時有解:

三、局部加權線性迴歸

線性迴歸易出現欠擬合現象,由於其求解的是具備最小均方偏差的無偏估計。

該方法容許在估計中引入一些誤差,從而下降預測的均方偏差。

局部加權線性迴歸(Locally Weighted Linear Regression,LWLR)中,須要給預測點附近的每一個點都賦予必定的權重,而後基於最小均方偏差進行普通的迴歸。

其中D是一個矩陣,用來給每一個數據點賦予權重。

LWLR使用覈對附近的點賦予更高的權重,常使用高斯核:

其中,X爲樣本矩陣,x爲預測數據。

以後,經過可獲得預測值:

若是高斯核係數σ取1,則會達到相似最小二乘法的效果;若是太小,則會致使過擬合。

可是,LWLR最明顯的缺點是增長了計算量,對每一個預測數據要使用整個樣本集合。

四、嶺迴歸

 

嶺迴歸是在XTX的基礎上加上λI從而使得矩陣XTX非奇異,進而可以對XTX+λI求逆。

其中,矩陣I是一個m*m的單位矩陣,對角線上元素全1,其餘元素全0,λ爲自定義係數。

所以,迴歸係數的計算公式變爲:

 

之因此稱之爲嶺迴歸,是由與引入的單位矩陣中1貫穿整個對角線。形象地,在0構成的平面上有一條由1組成的「嶺」。

嶺迴歸最早用於處理特徵數多於樣本數的狀況,但也用於在估計中加入誤差,從而使得估計結果更優,避免過擬合。

此處,引入的λ限制了全部迴歸係數之和,經過引入該懲罰項,會使得影響較小的特徵的係數衰減到0,只保留重要的特徵,該技術稱爲「縮減」。

爲了尋找合適的λ,咱們將獲取的數據分爲2部分:測試數據和訓練數據。注意,獲取的數據須要先進行標準化處理(全部特徵減去均值併除以方差)經過訓練數據獲得迴歸係數,而後在測試數據測試效果。經過選擇不一樣的 來重複這個過程,獲得使得預測偏差最小的λ。

若是對最小二乘法進行以下約束:

則會獲得與嶺迴歸同樣的公式。

過程以下:

所以,嶺迴歸也是L2範式正則化的最小二乘法。

因爲嶺迴歸限定了全部迴歸係數的平方和不大於t, 在使用普通最小二乘法迴歸的時候當兩個變量具備相關性的時候,可能會使得其中一個係數是個很大正數,另外一個係數是很大的負數。經過嶺迴歸正則項的限制,能夠避免這個問題。

幾何意義

以兩個變量爲例, 普通的線性迴歸中,殘差平方和能夠表示爲w1,w2的一個二次函數,是一個在三維空間中的拋物面,能夠用二維(w1、w2)平面中的等值線來表示。

而限制條件w12+w22≤t則能夠用圓表示:

其交點則爲知足條件的W。

四、lasso迴歸(套索算法)

Lasso(Least absolute shrinkage and selection operator)也被稱爲L1範式正則化的最小二乘法,是另外一種縮減方法,將回歸係數收縮在必定的區域內。LASSO的主要思想是構造一個一階懲罰函數得到一個精煉的模型, 經過最終肯定一些變量的係數爲0進行特徵篩選。

在原先的求解中,加入如下約束條件:

推導過程以下:

在該算法中,若是λ足夠小,一些迴歸係數會被縮減至0,以更好地理解數據,有助於特徵選擇,經常使用於估計稀疏參數。

因爲正則化項在零點處不可求導,因此使用非梯度降低法進行求解,如座標降低法或最小角迴歸法。

Lasso的幾何解釋

一樣,以兩個變量爲例, 普通的線性迴歸中,殘差平方和能夠表示爲w1,w2的一個二次函數,是一個在三維空間中的拋物面,能夠用二維(w1、w2)平面中的等值線來表示。

而限制條件|w1|+|w2|≤t則能夠用正方形表示:

相比圓,方形的頂點更容易與拋物面相交,頂點就意味着對應的不少係數爲0,而嶺迴歸中的圓上的任意一點都很容易與拋物面相交很可貴到正好等於0的係數。這也就意味着,lasso起到了很好的篩選變量的做用。

解法1:座標軸降低法(coordinate descent)

座標降低優化方法是一種非梯度優化算法。爲了找到一個函數的局部極小值,在每次迭代中能夠在當前點處沿一個座標方向進行一維搜索。在整個過程當中循環使用不一樣的座標方向。一個週期的一維搜索迭代過程至關於一個梯度迭代。

與梯度降低法區別:

①梯度降低法利用目標函數的導數(梯度)來肯定搜索方向的,而該梯度方向可能不與任何座標軸平行。

②座標軸降低法利用當前座標系統進行搜索,不須要求目標函數的導數,只按照某一座標方向進行搜索最小值。

 

座標降低法在稀疏矩陣上的計算速度很是快,同時也是Lasso迴歸最快的解法。

解法2:最小角迴歸法( Least Angle Regression)

相關文章
相關標籤/搜索