機器學習之線性迴歸模型
當我們拿到樣本並經過特徵降維後得到 x1、x2 … 低維特徵,經過多項式對映得到線性迴歸的模型假設: 上式 x1、x2 是樣本特徵,如果 y 是現實中房子的價格,那麼 x1、x2 相當於房子的面積、臥室數量等影響房子價格的因素,而 θ0、θ1、θ2 … 是係數,也就是各影響因素的權值
用 h(x) 來表示預測結果,上式用線性代數來表達: 線性模型用於預測,當前主要的問題是如何求出最優的係數 θ ,使得這個模型變得更準確和可靠,最常用的兩個方法是最小二乘法和梯度下降演算法
最小二乘法:
給定目標函式: 式中 h(x) 是預測結果,y 是真實值,用它們之間的誤差平方和來評估 θ 最優,目標函式 J(θ
優化與拓展:線性迴歸的複雜度懲罰因子
過擬合:如果有9個樣本點,那麼可以最高用8階的多項式來擬合,階數越高擬合度越高,但階數越高不一定越好,因為會出現震盪現象,當我們再用這個多項式來預測的話會因為震盪出現較大的偏差
防止過擬合:
一、Ridge 迴歸:將目標函式加入平方和損失 Σθ^2 這樣的項叫做正則項
二、LASSO:正則項是一次冪 LASSO 有一定的特徵選擇能力,選擇最主要的低階特徵,降低了高階的權值,J(θ
交叉驗證(n折):
把驗證資料集分成 n 份 前 n-1 份來作為訓練資料,把第 n 份作為驗證資料集 再把前 n-2 份、第 n 份作為訓練資料集,把第 n-1 份作為驗證集 再把前 n-3 份、n-2~n-1 份作為資料集,把第 n-2 份作為驗證集 再把 …
梯度下降演算法
對於線性迴歸模型假設 隨機初始化 θ,然後讓 θ
優化與拓展:
一、批量梯度下降演算法(需要拿到所有樣本): 二、隨機梯度下降(拿到一個樣本下降一回,速度快,非常適合線上學習): 三、擇中梯度下降(實踐中常用,既不是拿到全部樣本下降一次,也不是拿到一個樣本下降一次,而是若干個樣本的平均梯度作為更新方向)稱 “mini-batch SGD“
判定係數(模型好壞的指標):
對於 m 個樣本:(x1, y1), (x2, y2) … 某模型的預測值:(x1, y1^), (x2, y2^) … 樣本的平方和:TSS = Σ(y-y~)^2 殘差平方和:RSS = Σ(y-y)2 定義 R^2 = 1-RSS/TSS R^2 越大,效果越好 迴歸平方和:ESS = Σ(y-y~)2