先引出機器學習萬變不離其宗的公式:
損失函式+懲罰項
當損失函式為square loss時,所對應的模型就是linear regression。
**值ŷ (
w,x)
=w0+
w1x1
+…+w
nxn=
wtx
目標: mi
n||x
w−y|
|22
優點:無偏估計
缺點:存在ill-condition病態問題,容易發生過擬合
求解方式:
(1)迭代法(這裡的
θ 對應上面的
w )j(
θ)=1
2m∑i
=1m(
hθ(x
(i))
−y(i
))2where hθ
=θtx
=θ0+
θ1x1
in batch gradient descent, each iteration performs the update θj
:=θj−
α1m∑
i=1m
(hθ(
x(i)
)−y(
i))x
(i)j
其中α 所乘的項為▽j
(θ) ,−▽
j(θ)
稱為下降方向
這裡採用的方法是最速下降法,
α 稱為學習率,太小則學習過慢,太大則容易過學習。[1
]
嘗試法,取0.003,0.01,0.03,0.1,0.3,觀察j(
θ)的曲線下降情況
利用精確搜尋(fibonacci法、**分割法和二次插值法)或者不精確法(wolfe演算法)求解[2
]
在用ols中,遇到變數之間的尺度不同的時候,要用feature normalization方法,具體做法如下:
a. subtract the mean value of each feature from the dataset.
b. after subtracting the mean, additionally scale (divide) the feature values by their respective 「standard deviations.」[1
] (2)normal equations
對於線性回歸而言,是有解析解的,即w=
(xtx
)−1x
ty
隨著樣本的數量和變數的種類的增加,計算量也隨之增大。[1
] 目標: mi
n||x
w−y|
|22+
λ||w
||22
優點:解決了multicolinearity
缺點:無法做validable selection,有偏估計
ols雖然是無偏估計,但是有乙個很大的問題,就是會依賴於訓練資料而發生過擬合。(也可以從ill-condition角度上理解[3
] )當w
=(xt
x)−1
xty 中xt
x 不是滿秩的時候,xt
x 不可逆,會存在多個解,如果從許多個解中選取乙個的話,可能不是正確的解,容易發生過擬合。xt
x 不是滿秩的情況分為兩種(1)資料點少於變數的個數(行不滿秩) (2)變數間存在高度的相關性(列不滿秩)
當加上了l2規則項後,w=
(xtx
)−1x
ty變成了w=
(xtx
+λi)
−1xt
y ,就可以直接求逆矩陣了。
(1)根據嶺跡圖選取,在各個變數隨
λ 達到平穩時的λ
(2)用gcv(generalized cross-validation)來設定
目標: mi
n||x
w−y|
|22+
λ||w
||1
優點:可以做validable selection
缺點:不連續,無解析解,不能做group lasso
先來看看正則化項的輪廓。
目標函式mi
n||x
w−y|
|22+
λ||w
||1
與min||x
w−y|
|22
s.t.||w
||1≤
t 可以通過lagrange multipliers相聯起來[4
] (ridge regression 同)。
可以得到下列圖。
圖上藍色表示變數為2個時的損失函式等高線,越接近中心則損失值越小,黃色表示變數的約束範圍。左圖是l2範數約束,右圖是l1範數約束。圓周/菱形邊與等高線的交點為在約束下損失最小的w1
和w2 值,可以看到右圖的w1
=0,即將變數降到1個變數。這是因為l2範數傾向於w的分量取值盡量均衡,即非零分量個數盡量稠密,而l0範數和l1範數則傾向於w的分量盡量稀疏,即非零分量個數盡可能少[5
] 。
lasso是一種嵌入式特徵選擇方法
[1] andrew ng, machine learning course
[2] 謝可新《最優化方法》
[3] 機器學習中的範數規則化之(一)l0、l1與l2範數
[4] m.jordan 《pattern recognition and machine learning》
[5] 周志華 《機器學習》
02 機器學習 線性回歸模型
線性回歸目前是一種被廣泛應用的回歸技術,也是乙個最簡單的模型,它有很多種推廣形式,究其本質就是一系列特徵的線性組合。在二維空間,線性回歸模型就是一條直線,在三維空間,線性回歸模型就是乙個平面。簡單點描述。線性回歸最簡單的例子就是f x ax b 其中x向量代表一條樣本,其中x1,x2 代表的就是樣本...
機器學習之線性回歸模型
1.線性回歸 什麼是回歸?從大量的函式結果和自變數反推回函式表示式的過程就是回歸。線性回歸是利用數理統計中回歸分析來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法。一元線性回歸 只包括乙個自變數 和乙個因變數 且二者的關係可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。公式 多...
機器學習演算法 線性模型 線性回歸
線性回歸 是試圖學得乙個線性模型盡可能準確地 實值輸出標記。西瓜書 個人通俗理解就是簡單線性回歸找到一條直線盡可能到給出的樣本點距離要小,多維則變成找乙個超平面。如上圖 3.1 3.2 均方誤差最小的直線,均方誤差即學習器到真實值的距離的平方和,來刻畫擬合直線到樣本點的差距 一元回歸不需要用到矩陣求...