一、ridge regression嶺回歸
最小二乘法的改進,加入正則項(l2)
min||xω-y||²+α||ω||² (α≥0)
α越大,正則項比重越大,模型間方差越小,係數越穩定
α越趨近0,越接近最小二乘法
可嘗試不同的α,畫係數變化圖選取合適的α,原則是係數要穩定
二、lasso regression
使用l1正則項,可以去掉某些feature,嶺回歸只是把某些feature的權重調小
α||ω||
feature多且稀疏時,可以用lasso去掉一些feature,所以lasso還可以用來降維
feature不多且稠密,用ridge,弱化一些feature的權重
三、正則項的理解
l0、l1、l2範數
建模時,不僅要使誤差和最小,還要讓模型盡量簡單,否則如果只追求誤差小,就會過擬合。當feature很多時,l0和l1可使某些feature的引數為0,l2可使某些feature的引數很小,這樣模型就簡單了。
四、回歸係數的求解
線性回歸、ridge回歸都可以用梯度下降的方法求解、因為需要最小化的損失函式是連續可導的。(α||ω||²求導後ω還在,α||ω||求導ω沒了)
但lasso用l1,使得損失函式有不可導的點,不能用梯度下降求係數,但可以用以下方法:
座標軸下降法、前向選擇、前向梯度法、最小角回歸
有空再更新以上幾個方法原理的**。
四、貝葉斯線性回歸
有變數x₁、x₂...xm,其係數是ω1、ω2...ωm,這些係數未知,一種係數組合表示為θ,有無數個θ。
一組x₁、x₂...xm對應乙個結果值y,即乙個樣本。
n個y值,即一組結果值表示為d。
現在問題轉化為,從眾多的引數組合θ中,選一種θ,使已知觀察值d發生的條件下,此θ發生的概率最大。即求p(θ|d)最大的那個θ。
p(θ|d)=p(d|θ)*p(θ)/p(d)
對於所有θ,p(d)都相等,所以只求p(d|θ)*p(θ)最大的θ就好了。
1. p(θ)要根據先驗知識求,即先驗概率,可以假設θ是均勻分布,或者高斯分布。
2. p(d|θ)是已知了d的分布形式,線性問題中即ω1x1+ω2x2...+ωmxm的分布,分布引數就是θ,所以可求。
sklearn例項 3 線性回歸
通過學習,找到屬性的線性組合來 輸出標記。一般採用均方誤差作為損失函式 載入波士頓房價資料庫 bostondata datasets.load boston x bostondata.data y bostondata.target 劃分測試集和訓練集 x train,x test,y train,...
sklearn學習筆記之嶺回歸
嶺回歸是一種專用於共線性資料分析的有偏估計回歸方法,實質上是一種改良的最小二乘估計法,通過放棄最小二乘法的無偏性,以損失部分資訊 降低精度為代價獲得回歸係數更為符合實際 更可靠的回歸方法,對病態資料的擬合要強於最小二乘法。乙個簡單的例子 from sklearn.linear model impor...
sklearn學習筆記之簡單線性回歸
線性回歸是資料探勘中的基礎演算法之一,從某種意義上來說,在學習函式的時候已經開始接觸線性回歸了,只不過那時候並沒有涉及到誤差項。線性回歸的思想其實就是解一組方程,得到回歸函式,不過在出現誤差項之後,方程的解法就存在了改變,一般使用最小二乘法進行計算。sklearn對data mining的各類演算法...