1. 程式人生 > >機器學習之線性迴歸筆記

機器學習之線性迴歸筆記

平臺:windows10 64位
IDE:Pycharm
Python版本:Python3.5
github程式碼原始碼

1 目錄

2 迴歸的理解

迴歸是由高爾頓最先在生物遺傳上提出的,線上性迴歸中,與其說其為迴歸,不如說線性擬合更合適,而為了紀念高爾頓還是保留了迴歸這一名詞
對數機率迴歸(Logistic regression)解決的卻是一個分類問題,其實就是2分類,如果需要解決多分類那麼就做多次2分類或直接用Softmax迴歸

3 線性迴歸

線性迴歸試圖建立的一個線性模型以儘可能準確的預測輸出標記。考慮最簡單的模型,給定若干對(x,y)的資料,將其在座標軸上表示如下:

散點圖

線性迴歸就是要尋找一條直線來使得這些所有的點都儘量符合直線上的點,其中儘量符合指的就是使損失最小,在這裡以點到直線的距離的平方來作為‘損失’,使用線性迴歸可以來預測資料,這在機器學習裡面是一個非常重要的概念——預測,不管是什麼模型,最後做出來都是需要用來預測資料,來判斷這個模型到底實不實用,線性迴歸就是這些模型中最簡單的一種模型。

線性迴歸圖

4 使用最大似然解釋最小二乘

4.1 基本形式

首先對於線性迴歸,所求得就是一條直線,設其方程為:

y(i)=θTx(i)+ε(i)
其中θε為這條直線的斜率和截距,x,y分別為圖上的一系列散點,用極大似然法估計時,我們認為
ε
符合正太分佈,且期望為0,那麼根據大學的知識可以得到ε的概率為:
p(ε(i))=1s2πσexp((ε(i))22σ2)
把直線方程移項帶入上式得到在θ引數下,已知x的情況下y的概率密度函式為:
p(y(i)|x(i);θ)=12πσexp((y(i)θTx(i))22σ2)
這裡的概率密度函式為條件概率密度函式,直接求解是無法解出來的,假設樣本之間是獨立的,那麼就得到: L(θ)=i=1mp(y(i)|x(i);θ)=i=1m12πσexp((y(i)θTx(i))22σ2)

4.2 高斯的對數似然與最小二乘

這裡用的是對數似然,即需要對L(θ)取對數,則可以化簡得到如下方程: