線性迴歸
線性迴歸模型方程形式:
矩陣形式:
線性迴歸的任務就是要構造一個預測函數來映射,輸入的特徵矩陣 和標籤 的線性關係。這個預測函數的本質就是我們需要構建的模型,而構造預測函數的核心就是找出模型的參數向量 。
損失函數:
是樣本i的真實標籤,是預測標籤。
從損失函數可以看出其實這就是L2範式的平方。L2範式本質就是歐式距離(歐氏距離就是兩點相減平方然後開根號)。因此損失函數在這裏也是衡量真實值與預測值之間的距離,所以我們希望它越小越好。
即:
這就是SSE(Sum of Sqaured Error,誤差平方和)或者RSS(Residual Sum of Squares 殘差平方和)
有了損失函數我們就來盤它:
矩陣運算規則:
和
所以上式有:
矩陣求導規則(下面代表常數)有:
所以上式等於:
讓其一階導數爲0,因此有:
左乘一個,則最後的結果有:
這就是它的最終結果,最小二乘法推導很簡單,但是有一個前提就是,的逆矩陣一定要存在(充分必要條件是特徵矩陣不存在多重共線性(可以理解爲矩陣的行列式結果不等於0))
矩陣求逆矩陣公式:
One more thing
RSS殘差平方和,它的本質是預測值與真實值之間的差異,我們只知道求解它的最小值,因爲不能爲負數因此越接近0越好,
但是由於它的和是一個無限大的和,求解它的最小值,究竟它要多小纔算我們的模型訓練好了呢?
迴歸問題的另外兩個損失函數(評價指標):MSE(均方誤差,mean squared error),(越接近1,越好)
在 中,分子是真實值和預測值之差的差值,也就是我們的模型沒有捕獲到的信息總量,分母是真實標籤所帶的信息量(像極了方差公式),所以其衡量的是1 - 我們的模型沒有捕獲到的信息量佔真實標籤中所帶的信息量的比例,所以, 越接近1越好。
--------------------------------------------------------------分割線--------------------------------------
線性迴歸能夠用最小二乘法求解的前提條件就是需要特徵矩陣不存在多重共線性(不然矩陣行列式爲0,就無法求可逆矩陣了)
嶺迴歸和Lasso的存在就是爲了來修補這個漏洞的。
嶺迴歸(Ridge)
嶺迴歸就是在線性迴歸的損失函數後面加了一個L2正則化項。
前半部分已經推導過了,後半部分很簡單
最後得到:
從這裏可以看書,即時的行列式等於0,那麼加上一個 ,肯定存在一個,總體的行列式不爲0的情況,因此
總體的逆矩陣肯定存在。這就避免了線性迴歸的漏洞了。
Lasso迴歸
lasso迴歸就是在線性迴歸的式子後面加了一個L1正則化。
前半部分很熟悉了,後半部分與嶺迴歸有一些不同
從這了可以看到,Lasso迴歸和嶺迴歸區別很大,求導的式子中發現,似乎無法解決高度共線性問題。但是在現實生活中,一般是很少會遇到數據是精確相關(樣本特徵之間存在直接的倍數關係)的,因此可以假設的逆矩陣是存在的。
那麼我們就有:
Lasso不是從根本上解決多重共線性問題,而是限制多重共線性帶來的影響。
以上兩個迴歸都加了正則化,正則化都會起到壓縮係數 的大小.對標籤貢獻少的特徵,最後係數會更小,也更容易被壓縮。不過,L1正則化和L2正則化的區別是:L2正則化會將係數壓縮到接近0(不等於0),但L1正則化主導稀疏性,會將係數壓縮到0(因此也說明Lasso迴歸可以用來做特徵選擇)
推薦資料: https://live.bilibili.com/12582510