回歸的思想和分類有所不一樣,分類輸出的結果為離散的值,回歸輸出的是乙個連續型的值。線性回歸的思想就是試圖找到乙個多元的線性函式:
當輸入一組特徵(也就是變數x)的時候,模型輸出乙個**值y = h(x),我們要求這個**值盡可能的準確,那麼怎麼樣才能做到盡可能準確呢?
(其中
表示實際值,
表示**值)
(其中
表示實際值,
表示**值)
(就是找到能夠使得誤差最小的引數
)由於f(x)函式的變數較多,所以我們在計算上面目標函式的時候我們用矩陣和向量做一下轉變:
我們令(這裡的x表示為行向量)
(這裡的
表示的列向量)
(這裡的y表示的是實際值組成的列向量)
所以有
觀察目標函式我們可以知道當
取得最小值的時候目標函式也就取得了最小值,把上面的值用矩陣的方式表示出來就是
,所以現在就要求
的最小值,為了求導方便我們加上乙個1/2(此處為了求導方便),即
我們把上面的函式叫做損失函式:
所以我們現在需要求上面損失函式取得最小值時候的
這裡有兩種方法求解上面損失函式的最小值:
梯度下降法
梯度下降法的思想就是隨機的選擇一點,從這點出發,沿著目標函式下降最快的方向求解最優值。那麼什麼才是下降最快的方向呢,答案是負梯度方向,也就是梯度的反方向。
上圖中,一圈一圈的線就相當於損失函式的等高線,外圈是值比較大的等高線,內圈是值比較小的等高線,我們隨機選擇從
出發,一直沿著等高線的垂直方向向著目標函式最小值的方向前進,我們能夠以最小的距離快速到達目標函式的最小值點,但是如果我們如果朝著其他方向前進,則我們就像在走盤山公路一樣,繞來繞去,不是說一定不能到達最小值處,但是一定會花費很長的距離。在計算機中如果學習率
是固定的,則沿著損失函式梯度的負方向能夠以最小的迭代次數到達損失函式的最小值處。
理解了梯度下降法後,我們就來求一下損失函式的梯度:
損失函式j(
)是乙個標量,我們對
向量中各個標量求導後排列成列向量就得到了梯度方向:
(這裡對標量對向量求導不熟悉的同學可以參考一下維基百科上面的講解,非常的詳細)
標量對向量求導的en.wikipedia.org
即 就是損失函式的梯度
把隨機的出發點設為
,則通過一下方法得到新的
:通過上述方法得到一組新的
後計算一次損失函式的值,直到損失函函式到達最小值或者我們預設的條件為止,最終得到的
向量就是我們模型的求解。(注意這裡要跟大家說一下的事,學習步長
要設定適當,太大容易找不到最小值,太小會導致迭代次數過大,增加計算機的計算消耗,具體多少合適,大家可以在具體模型中通過模型的準確率等指標進行調節)
最小二乘法
最小二乘法的求解思想很簡單,就是利用我們大學時候學的函式求最值的優化方法求解:
即乙個可導函式的函式,如果存在最值,那麼該處的各變數的偏導數為0
所以可以令:
得到:在 為非奇異矩陣(可逆)的情況下有:
線性回歸模型
基本結構 y w t x by w t cdot x b y wt x b資料集 通常收集一系列的真實資料,如果多棟房屋的真實 和他們對應的面積和房齡。我們希望在資料集上尋找模型引數來使得 和真實 誤差最小。該資料集被稱為訓練資料集,每個房屋被稱為乙個樣本,真實的售出 叫做標籤,用來 標籤的因素叫做...
線性回歸模型 線性回歸 vs 結構方程模型
對線性回歸和結構方程模型進行簡單的刨析比較,拋開統計學方面的理論,盡量說得通俗易懂些。線性回歸 regression 與結構方程模型 structural equation modeling 是用來驗證變數間的因果關係時,最經常使用的方法。本文比較下兩者的區別,拋開具體統計學方面的理論,盡量說得通俗...
01 線性模型 線性回歸與邏輯回歸
線性模型 試圖學得乙個屬性的線性組合來進行 的函式 f x w 1x 1 w 2x 2 w dx d b 向量模式 f x w tx b 簡單 基本 可解釋性好 可看出每部分屬性所做的貢獻 可用於分類和回歸 多個特徵 h x sum theta ix i theta tx 損失函式mse j the...