Linear Regreesion
在現實生活中普遍存在着變量之間的關系,有確定的和非確定的。確定關系指的是變量之間可以使用函數關系式表示,還有一種是屬於非確定的(相關),比如人的身高和體重,一樣的身高體重是不一樣的。
線性回歸:
1: 函數模型(Model):
假設有訓練數據
那么為了方便我們寫成矩陣的形式
2: 損失函數(cost):
現在我們需要根據給定的X求解W的值,這里采用最小二乘法。
a.最小二乘法:
何為最小二乘法,其實很簡單。我們有很多的給定點,這時候我們需要找出一條線去擬合它,那么我先假設這個線的方程,然后把數據點代入假設的方程得到觀測值,求使得實際值與觀測值相減的平方和最小的參數。對變量求偏導聯立便可求。
因此損失代價函數為:
3: 算法(algorithm):
現在我們的目的就是求解出一個使得代價函數最小的W:
a.矩陣滿秩可求解時(求導等於0):
b.矩陣不滿秩時(梯度下降):
梯度下降算法是一種求局部最優解的方法,對於F(x),在a點的梯度是F(x)增長最快的方向,那么它的相反方向則是該點下降最快的方向,具體參考wikipedia。
原理:將函數比作一座山,我們站在某個山坡上,往四周看,從哪個方向向下走一小步,能夠下降的最快;
注意:當變量之間大小相差很大時,應該先將他們做處理,使得他們的值在同一個范圍,這樣比較准確。
1)首先對θ賦值,這個值可以是隨機的,也可以讓θ是一個全零的向量。
2)改變θ的值,使得J(θ)按梯度下降的方向進行減少。
描述一下梯度減少的過程,對於我們的函數J(θ)求偏導J:
Repeat until convergence:{
下面是更新的過程,也就是θi會向着梯度最小的方向進行減少。θi表示更新之前的值,-后面的部分表示按梯度方向減少的量,α表示步長,也就是每次按照梯度減少的方向變化多少。
}
假設有數據集D時:
對損失函數求偏導如下:
使用矩陣表示(方便計算)
從概率層面解釋-回歸模型的目標函數:
基本上每個模型都會有一個對應的目標函數,可以通過不同的最優化求解方法(梯度下降,牛頓法等等)對這些對應的目標函數進行求解。線性回歸模型,我們知道實際上是通過多個自變量對自變量進行曲線擬合。我們希望找到一條可以較好擬合的曲線,
那我們如何判斷一條曲線的擬合程度的好壞。上面講到,我們采用的是最小二乘法(預測值和真實值得誤差的平方和),那為什么要用這個作為目標函數呢?
可以從中心極限定理、高斯分布來分析:
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的近似是最好的。