機器學習之線性回歸模型

2022-08-28 15:06:18 字數 3459 閱讀 3180

1.線性回歸

什麼是回歸

從大量的函式結果和自變數反推回函式表示式的過程就是回歸。線性回歸是利用數理統計中回歸分析來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法。

一元線性回歸:

只包括乙個自變數()和乙個因變數(),且二者的關係可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。公式: 

多元線性回歸:

如果回歸分析中包括兩個或兩個以上的自變數,且因變數和自變數之間是線性關係,則稱為多元線性回歸分析。公式:

對於一元線性回歸公式來說,如果給定兩組x,y的值,就可以求得和的值。例如:給定兩組x,y的值x=3,y=5和x=6,y=8,那麼可知如下:

5=+*3                 8=+*6

可以求得=2,=1。兩點確定一條直線,可以確定和的值。我們可以叫做一元線性回歸公式的截距,可以叫做一元線性回歸公式的斜率

假設某個醫院住院人數與醫院的床位個數呈線性關係,即:

住院人數  = +*醫院床位數

在這裡,如果想求得住院的人數,就要知道,的值,這裡的,也叫權重,「醫院床位數」可以理解成影響住院人數的乙個維度。通過給出兩組資料,就可以得到權重的值。

對於一元線性回歸來說,如果現在有很多呈線性關係離散的點,假設現在需要找到乙個線性回歸公式來表示這些點自變數和因變數的關係,每兩個點之間都能確定一條直線,如何找到一條直線來表示這些點的關係呢?

如何確定這條直線?

每乙個離散的點在自變數處得到的的值記為,對應的,需要找到的這條直線在自變數處得到的的值記為,當所有的到對應的的距離差平方累加起來最小,我們就可以認為這條直線比較完美。也就是當平均誤差公式:error= 最小時這條直線比較完美,其中,

代表一系列的真實離散點的y值,

代表一系列得到的直線在對應的x處的y值,一元線性回歸中=。

m代表有m個離散點,前面的 是為了方便求導加上的。

表示的是一系列權重,,…. 

這個公式也叫做最小二乘法誤差公式。error的值如果是0說明確定的這條直線穿過了所有的點,對於離散分散的一組點,error的值不可能為0。

2.確定權重的值(確定模型)

當誤差公式:

取得最小值時,能確定一條完美的直線,也就是確定一組 值與自變數的關係,擬合出來的一條直線能盡可能的通過更多的點。確定了error的最小值,也就有可能確定一組值。

如何確定error的最小值?

如果將error函式看成自變數關於error的函式,那麼可以轉換為:

如果將一組權重看成一列向量,表示一列維度組成的向量,就是這組向量的轉置,

就是,那麼現在的問題就是如何找到一組,使得error的值最小。

我們可以看出error函式的關係影象大概是乙個開口向上的影象,那麼當error的導數為0時,此時能得到一組的值對應的error的值最小。

通過求導的方式,理論上可以確定error的最小值,但是由於是一組資料,無法確定error最小下對應的這一組權重 。

正向的求導不能得到一組權重值,就不能確定線性回歸的公式。那麼可以根據資料集來窮舉法反向的試,來確定線性回歸的公式:

如何反向窮舉求得線性回歸的公式(訓練線性回歸模型)?

已知有線性回歸關係的訓練資料

已知線性回歸的公式:

已知誤差函式公式:

要求得在error最小下的一組權重值,以便確定線性回歸的公式。我們要確定的這組就是要確定乙個模型。確定模型就是確定一組引數,就是確定這組的值。

窮舉之前,會有乙個初始模型,一般是隨機數,假設=1,=1,=1…,有了初始模型那麼針對每一條訓練資料都能求得乙個真實值與模型評估值的平方差,也就是針對一組測試資料,能得到在這組初始模型下error誤差函式的值。那麼得到的error值是不是最小值?需要不斷調節初始模型引數,需要在訓練模型時,指定調節初始模型,,…的調節步長step(也叫學習率),迭代去求出每次調節模型後的error值,由於error的值不可能絕對的達到0(如果達到0說明訓練出來的模型對應的線性回歸公式完全的將所有訓練資料集的點穿過),在訓練模型之前指定乙個最小error值,即:當迭代求出模型的error誤差值小於指定的error值就停止迭代,那麼當前這組值就是確定好的模型。

如果每次迭代求得模型對應的error大於指定的最小error值,要繼續調節這組值,一直迭代到模型的error值小於指定的error值。

3.梯度下降法調節引數

假設和error的函式關係中,中只有乙個維度,那麼這個關係其實就是和error的關係,反應圖上就是一維平面關係,如果中有兩個維度和,那麼這個反映到圖上就是個三維空間關係,以此類推。

如果中只有乙個維度,如下圖:

圖中①,②,③,④,⑤,⑥,⑦都是影象的切線(斜率),在切點處可以求得對應的error值,如何調節模型得到一組 值可以使得到的error值更小,如圖,沿著①->②->③方向調節和沿著④->⑤->⑥方向調節,可以使error值更小,這種沿著斜率絕對值減少的方向,沿著梯度的負方向每次迭代調節的方法就叫做梯度下降法

梯度下降是迭代法的一種,可以用於求解最小二乘問題,在求解error函式的最小值時,可以通過梯度下降法來一步步的迭代求解,得到最小化的error函式和模型引數值。

每次按照步長(學習率)來調節值,迭代求出error的最小值,這裡的error不可能有乙個固定的最小值,只會向著最小值的方向收斂。

判斷模型error誤差值收斂,也就是停止迭代的兩種方式:

指定乙個error值,當迭代處理過程中得到的error值小於指定的值時,停止迭代。

設定迭代次數,當迭代次數達到設定的次數時,停止迭代。

迭代週期:從調整引數開始到計算出error值判斷是否大於使用者指定的error是乙個迭代週期。

當步長比較小時,迭代次數多,訓練模型的時間比較長,當步長比較大時,有可能迭代的次數也比較多,訓練模型的時間也會相對比較長,需要找到乙個合適的步長。

白話機器學習 線性模型之線性回歸

輸入 x x1 x2 x3 xd 表示 示例有d個屬性,xi表示第i個屬性 y表示輸入x的標記。x,y 組成樣本點。輸出 通過訓練樣本集,學習乙個通過屬性的線性組合進行 的函式 f x w1x1 w2x2 w3x3 wdxd 一般用向量形式寫成 線性模型形式簡單 易於建模,但是卻蘊含著機器學習中的一...

機器學習之線性回歸模型的理解

線性回歸的機器學習型別 監督學習。注 監督學習的概念 訓練樣本的資料集存在標籤集,在機器u型誒下訓練過程中需要用到標籤集的資訊,完成擬合模型的訓練,故稱之為監督學習。監督學習也可以理解為有標準答案的學習,越接近標準答案,訓練的結果越好。線性回歸的任務 訓練乙個對映,可以很好地擬合訓練樣本的資料,同時...

02 機器學習 線性回歸模型

線性回歸目前是一種被廣泛應用的回歸技術,也是乙個最簡單的模型,它有很多種推廣形式,究其本質就是一系列特徵的線性組合。在二維空間,線性回歸模型就是一條直線,在三維空間,線性回歸模型就是乙個平面。簡單點描述。線性回歸最簡單的例子就是f x ax b 其中x向量代表一條樣本,其中x1,x2 代表的就是樣本...