可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要(計算簡單、效果不錯,在很多其他演算法中也可以看到用lr作為一部分)。
先來看乙個小例子,給乙個「線性回歸是什麼」的概念。圖來自[2]。
假設有乙個房屋銷售的資料如下:
面積(m^2) 銷售價錢(萬元)
123 250
150 320
87 160
102 220
… …當我們有很多組這樣的資料,這些就是訓練資料,我們希望學習乙個模型,當新來乙個面積資料時,可以自動**出銷售**(也就是上右圖中的綠線);這樣的模型必然有很多,其中最簡單最樸素的方法就是線性回歸,也就是我們希望學習到乙個線性模型(上右圖中的紅線)。不過說是線性回歸,學出來的不一定是一條直線,只有在變數x是一維的時候才是直線,高維的時候是超平面。
線性回歸的目標是用**結果盡可能地擬合目標label,用最常見的least square作為loss function: j(
w)=1
n∑i=
1n(y
i−f(
xi))
2=1n
∥y−x
w∥2定義一下一些符號表達,我們通常習慣用x=(
x1,x
2,..
.,xn
)t∈r
n×p表示資料矩陣,其中xi∈
rp表示乙個p維度長的資料樣本;y=(
y1,y
2,..
.,yn
)t∈r
n表示資料的label,這裡只考慮每個樣本一類的情況。
線性回歸的模型是這樣的,對於乙個樣本x
i,它的輸出值是其特徵的線性組合: f(
xi)=
∑m=1
pwmx
im+w
0=wt
xi其中,w
0稱為截距,或者bias,上式中通過增加xi0
=1把w0
也吸收到向量表達中了,簡化了形式,因此實際上xi有p
+1維度。從下圖來直觀理解一下線性回歸優化的目標——圖中線段距離(平方)的平均值,也就是最小化到分割面的距離和。
也就是很多中文教材中提到的最小二乘;線性回歸是convex的目標函式,並且有解析解: w^
=(xt
x)−1
xty
線性回歸到這裡就訓練完成了,對每乙個樣本點的**值是f(
xi)=
yi^=
w^tx
i。所以: y^
=xw^
=x(x
tx)−
1xty
接下來看一下我們尋找到的**值的乙個幾何解釋:從上面的解析解w^=
(xtx
)−1x
ty可以得到xt
(y^−
y)=0
(垂直的向量相乘=0),因此實際上y^
是y在平面x
(由列向量x1
和x2張成,假設只有兩維)上的投影。
ok,一般介紹線性回歸的文章到這裡也就結束了,因為實際使用中基本就是用到上面的結果,解析解計算簡單而且是最優解;當然如果求逆不好求的話就可以不用解析解,而是通過梯度下降等優化方法來求最優解,梯度下降的內容不在本篇中,後面講邏輯回歸會說到。也可以看我前面寫的今天開始學prml第5章中有寫到,或者直接翻閱wikipedia:gradient descent。
不過在這裡我再稍微提幾個相關的分析,可以參考esl[3]的第3章中的內容。前面我們對資料本身的分布是沒有任何假設的,本節下面一小段我們假設觀察值y
i都是不相關的,並且方差都是σ2
,並且樣本點是已知(且是中心化過了的,均值為0)的。於是我們可以推出協方差矩陣 va
r(β^
)=(x
tx)−
1σ2證明: va
r(β^
)=(x
tx)−
1xty
ytx(
xtx)
−1=(
xtx)
−1σ2
要估計方差σ
2,可以用 σ^
2=1n
−p−1
∑i=1
n(yi
−y^i
)2這裡和一般的方差的形式看起來不同,分母是n−
p−1而不是
n,是因為這樣的估計才是σ2
的無偏估計。
證明:e(σ
^2)=
e(1n
−p−1
∑ni=
1(yi
−y^i
)2)=
e(1n
−p−1
[y−x
(xtx
)−1x
ty]t
[y−x
(xtx
)−1x
ty])
=e(1
n−p−
1yt[
in−x
(xtx
)−1x
t]y)
=nσ2
n−p−
1−1n
−p−1
tr(x(
xtx)
−1xt
yyt)
=nσ2
n−p−
1−σ2
n−p−
1tr(x
(xtx
)−1x
t)=n
σ2n−
p−1−
(p+1
)σ2n
−p−1
=σ2好,第一篇就寫到這裡。這個系列是從0開始的基礎複習記錄,力求清晰易懂。
機器學習(線性回歸)
在機器學習中,回歸 分類和標註共同構成了監督學習技術。監督學習 supervised learning 是機器學習在工業界應用最廣的乙個領域分支。在學術界中也是研究最多的領域之一。大家都知道的資料探勘十大經典演算法中,監督學習技術佔據6席。方法 自變數 特徵 因變數 結果 關係 回歸演算法是試圖採用...
機器學習 線性回歸
line fitter linearregression 建立模型 line fitter.fit temperature,sales 傳入引數 sales predict line fitter.predict temperature 模型 直線 直線上會有loss 計算loss時 要使用平方距離...
機器學習 線性回歸
線性回歸演算法的核心在於 結果為連續型變數,可以從代數和矩陣兩種角度理解線性回歸。這裡給大家分享的是矩陣角度的線性回歸。線性回歸是機器學習中最簡單的回歸演算法,多元線性回歸指的就是乙個樣本有多個特徵的線性回歸問題,所以多元其實指的是多個特徵。對於乙個有 n個特徵的樣本 i而言,它的回歸結果可以寫作乙...