Linear Regreesion
在現實生活中普遍存在着變量之間的關係,有確定的和非確定的。確定關係指的是變量之間可以使用函數關係式表示,還有一種是屬於非確定的(相關),比如人的身高和體重,一樣的身高體重是不一樣的。
線性迴歸:
線性迴歸是一種監督學習,即給定n個特徵,每個特徵M個樣本集,通過訓練nM個數據,即將這些訓練數據帶入到擬合函數h中,使得其與監督數據滿足最小二乘,得到n+1個權值。
0、實際實例
某市的房價受部分因素影響的表格如下(採用Andrew Ng cs229中的數據)
Living area(feet^2) | #bedrooms | Price (1000$s) |
2104 | 3 | 400 |
1600 | 3 | 330 |
2400 | 3 | 369 |
1416 | 2 | 232 |
3000 | 4 | 540 |
1、擬合模型
我們的目標是,對於以下擬合函數h,
或可寫作
其中W爲權值列向量,X爲各特徵輸入數據的列向量,均爲(n+1)×1維。
2、訓練數據的帶入
我們的目標是將訓練數據帶入我們的擬合函數h中,使其與監督數據最小二乘。
對於第i組數據,設數據集爲。監督數據集爲。
那麼將數據集帶入h中,共M組數據中,第j組數據的擬合結果爲
那麼我們的目標是使最小,下節將具體定義損失函數
3、損失函數的定義
定義,那麼有
其中
那麼根據最小二乘準則,定義損失函數J(W),如下
顯然有
4、求解方法
J(W)是關於W的函數,即確定W使得minJ(W),分以下兩種情況:
(a).X滿秩時(X可逆),直接算求導等於0
J(W)可寫作:
那麼對求導J(W)=0得
即得到了最優解。
注意有:
(b).X不滿秩(X不可逆),使用數值方法,梯度下降法
梯度下降算法是一種求局部最優解的方法,對於F(x),在a點的梯度是F(x)增長最快的方向,那麼它的相反方向則是該點下降最快的方向,具體參考wikipedia。
原理:將函數比作一座山,我們站在某個山坡上,往四周看,從哪個方向向下走一小步,能夠下降的最快;
注意:當變量之間大小相差很大時,應該先將他們做處理,使得他們的值在同一個範圍,這樣比較準確。
1)首先對θ賦值,這個值可以是隨機的,也可以讓θ是一個全零的向量。
2)改變θ的值,使得J(θ)按梯度下降的方向進行減少。
描述一下梯度減少的過程,對於我們的函數J(θ)求偏導J:
Repeat until convergence:{
下面是更新的過程,也就是θi會向着梯度最小的方向進行減少。θi表示更新之前的值,-後面的部分表示按梯度方向減少的量,α表示步長,也就是每次按照梯度減少的方向變化多少。
}
對損失函數求偏導如下:
使用矩陣表示(方便計算)
從概率層面解釋-迴歸模型的目標函數:
基本上每個模型都會有一個對應的目標函數,可以通過不同的最優化求解方法(梯度下降,牛頓法等等)對這些對應的目標函數進行求解。線性迴歸模型,我們知道實際上是通過多個自變量對自變量進行曲線擬合。我們希望找到一條可以較好擬合的曲線,
那我們如何判斷一條曲線的擬合程度的好壞。上面講到,我們採用的是最小二乘法(預測值和真實值得誤差的平方和),那爲什麼要用這個作爲目標函數呢?
可以從中心極限定理、高斯分佈來分析:
1.中心極限定理:
設有n個隨機變量,X1,X2,X3,Xn,他們之間相互獨立,並且有相同的數學期望和均值。E(X)=u;D(x)=δ2.令Yn爲這n個隨機變量之和。
Zn爲X這幾個變量的規範和。
2.高斯分佈
假的給定一個輸入樣本x,我們得到預測值和真實值間的存在的誤差e,那麼他們的關係如下:
而這裏,我們就可以假設e服從標準的高斯分佈。
爲什麼呢?迴歸模型的最終目標是建立自變量x和y之間的關係,我們希望通過x可以較爲準確的表示結果y。而在實際應用場景中,很難甚至不可能把導致y結果的所有變量(特徵)都找到,放到迴歸模型裏面。
我們只存放那些認爲比較重要的特徵。根據中心極限定理,把那些對結果影響比較小的(假設獨立分佈)之和認爲是符合正態分佈是合理的。
那麼x和y的條件概率:
那麼知道一條樣本的概率,我們就可以通過極大估計求似然函數,優化的目標函數如下:
通過取對數我們可以發現極大似然估計的目標函數和最小平方誤差是一樣。
在概率模型中,目標函數的極大和極小與極大似然估計是等價的。
假設隨機變量爲Y,和普通變量x存在相關關係,由於Y是隨機變量,對於x的各個確定值,Y有它的分佈(高斯)。
假設爲:
使用極大似然估計可求解。
我們知道對於下面公式:
y爲隨機變量,在c=E(y)時達到最小,這表明以E(y)作爲y的近似是最好的。