線性回歸 Linear Regression

2022-08-18 17:54:13 字數 2587 閱讀 3808

一、主要思想

在 l2-norm 的誤差意義下尋找對所有觀測目標值 y 擬合得最好的函式 f(x) = wtx 。

其中 yi 是 scalar,xi 和 w 都是 p 維向量(比實際的 xi 多一維,新增一維 xi(0) = 1,用於將偏置 b 寫入 w 中)

1. 定義模型:f(x) = wtx

2. 目標函式:l2-norm 損失(均方誤差損失)

3. 尋優:梯度下降(迭代)或 最小二乘(解析解)

引入高維可以使得線性回歸模型更加複雜,可以在 training data 上擬合的更好,但要考慮 overfitting ,真正關心的應該是模型在 testing data 上的效果

二、正則化

約束引數空間,改善過擬合

通過梯度下降來分析兩種正則的區別(hung-yi lee) 

1. l1 正則的線性回歸:lasso

l1-norm regularization 讓引數變小的機制,是每次都減去(if w >= 0)或者加上(if w < 0)乙個值(即 λ*learning_rate),不管哪種情況,最後都是讓引數往反方向變化。

等價於對引數 w 引入拉普拉斯分布先驗。f(x | μ, b) = exp(-|x-μ| / b) / 2b

2. l2 正則的線性回歸:ridge

l2-norm regularization 的機制是每次在更新引數之前,都先直接乘上乙個小於1的數。這樣也是不管引數正負都會更接近0,但是l1 norm 中每次減掉的值是固定的,而 l2 norm 引數變小的速度跟其本身的大小相關。

小結:

1. 

用 l1 正則得到的引數比較 sparse,有大的也有很接近 0 的;而 l2 正則就會使得所有的引數都接近 0 。

2. 使用正則化讓引數變小會使得模型表示的函式更加平滑(對雜訊不那麼敏感,改善過擬合),但正則化程度也會使得損失函式太過於考慮w而原本的損失項影響很小,導致模型變差(最極端情況:就是一條水平線,啥都擬合不了)。所以正則化係數由小變大,存在乙個令模型測試集表現由好至差的轉折點。

3. 正則化項是不需要作用在偏置項上的,因為偏置只會上下平移函式不會影響平滑程度。

加上l2正則化的最小二乘估計等價於雜訊 ε 為高斯(0,σ2)、引數 w 先驗也為高斯(0, σ0

2)的最大後驗估計

最小二乘法的解析解中 xtx 不可逆怎麼處理?

—— xtx + λi (也正是l2正則的效果)

加入 l2 norm 正則化項會使得引數傾向於變小,進而使得模型表示的函式更加平滑。

為什麼使得模型函式平滑一些會比較好?—— 使得模型輸出對輸入中的雜訊不那麼敏感。

過於平滑會怎樣?—— 極端情況下最平滑就是一條水平線,那就啥都擬合不了,所以平滑程度太大會導致模型在測試集上表現差。

正則化項係數太大也不行,會導致 loss 太過於考慮 w 的項而過於弱化原本的損失函式項的影響。正則化項係數從小到大對模型的測試集表現的影響,會有乙個從好至壞的轉折點;而對訓練集來說,誤差隨之總是越來越大的。

正則化不需要作用在 bias 上,因為偏置項和模型(對映函式)的平滑程度無關,只會上下平移函式。

三、從把誤差分散到 p 維的角度考慮線性回歸模型

把 f(x) 理解為 p 維向量 x 的線性組合 x·ß

任務:要在 x 所在的 p 維空間裡找到乙個離y最近的 x·ß

顯然是 y 在這個 p 維空間的投影,所以 y-x·ß 垂直於 x,直接求得解析解

四、從概率視角理解線性回歸模型

隨機變數 x 和 y 分別表示樣本和觀測,令 y = wtx + ε,雜訊 ε 服從高斯分布 n(0, σ2)

則 y | w, x, ε 服從均值偏移 wtx、方差不變的高斯分布 n(wtx, σ2)

mle:用極大似然估計來尋找引數 w 的值(令似然函式 p(y | w, x, ε) 最大的 w)

可以發現要 argmin 的函式和最小二乘估計中的平方誤差損失函式一致

最小二乘估計等價於雜訊為高斯的最大似然估計

線性回歸模型 線性回歸模型

回歸的思想和分類有所不一樣,分類輸出的結果為離散的值,回歸輸出的是乙個連續型的值。線性回歸的思想就是試圖找到乙個多元的線性函式 當輸入一組特徵 也就是變數x 的時候,模型輸出乙個 值y h x 我們要求這個 值盡可能的準確,那麼怎麼樣才能做到盡可能準確呢?其中 表示實際值,表示 值 其中 表示實際值...

線性回歸(標準回歸)

今天我們來討論機器學習的另乙個領域 首先我們來討論利用線性回歸來 數值型資料。利用線性回歸進行 的過程就是求解回歸係數的過程,求出回歸係數後進行係數與特徵值乘積求和即可,這裡我們使用最小二乘法進行求解 ex0.txt 提取碼 dbe2 def loaddataset filename numfeat...

回歸學習 線性回歸

匯入資料 from sklearn.datasets import load boston boston load boston print boston.descr 資料分割 from sklearn.cross validation import train test split import ...