線性迴歸

線性迴歸(Linear Regression)

https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92/8190345?fr=aladdin
https://www.cnblogs.com/GuoJiaSheng/p/3928160.html

一、介紹

線性迴歸是利用數理統計中迴歸分析,來確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。

這裏寫圖片描述

這裏寫圖片描述

在統計學中,線性迴歸(Linear Regression)是利用稱爲線性迴歸方程的最小平方函數對一個或多個自變量和因變量之間關係進行建模的一種迴歸分析。這種函數是一個或多個稱爲迴歸係數的模型參數的線性組合

一元線性迴歸分析:迴歸分析中,只包括一個自變量和一個因變量,且二者的關係可用一條直線近似表示。

多元線性迴歸分析:如果迴歸分析中包括兩個或兩個以上的自變量,且因變量和自變量之間是線性關係。

本質:可以對樣本是非線性的,只要對參數θ線性。

這裏寫圖片描述

二、擬合方程

最小二乘法:我們有很多的給定點,這時候我們需要找出一條線去擬合它,那麼先假設這個線的方程,然後把數據點代入假設的方程得到觀測值,求使得實際值與觀測值相減的平方和最小的參數

對變量求偏導聯立便可求。

轉換成優化問題

將M個N維樣本組成矩陣X:X的每一行對應一個樣本,共M個樣本;X的每一列對應樣本的一個維度,共N維;還有額外的一維常數項,全爲1。

這裏寫圖片描述

梯度下降:跳出局部最優

三、線性迴歸的複雜度懲罰因子

這裏寫圖片描述

四、正則化與防止過擬合

這裏寫圖片描述

五、梯度下降

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

1.批量梯度下降法(Batch Gradient Descent,BGD)
批量梯度下降法,是梯度下降法最常用的形式,具體做法也就是在更新參數時使用所有樣本來進行更新

這裏寫圖片描述

由於我們有m個樣本,這裏求梯度的時候就用了所有m個樣本的梯度數據

2. 隨機梯度下降法(Stochastic Gradient Descent,SGD)
隨機梯度下降法,與批量梯度下降法原理類似,區別在與求梯度時沒有用所有的m個樣本的數據,而是僅僅選取一個樣本i來求梯度。

這裏寫圖片描述

隨機梯度下降法與批量梯度下降法是兩個極端,一個採用所有數據來梯度下降,一個用一個樣本來梯度下降。自然各自的優缺點都非常突出。

對於訓練速度來說,隨機梯度下降法由於每次僅僅採用一個樣本來迭代,訓練速度很快,而批量梯度下降法在樣本量很大的時候,訓練速度不能讓人滿意。對於準確度來說,隨機梯度下降法用於僅僅用一個樣本決定梯度方向,導致解很有可能不是最優。對於收斂速度來說,由於隨機梯度下降法一次迭代一個樣本,導致迭代方向變化很大,不能很快的收斂到局部最優解。

3. 小批量梯度下降法(Mini-batch Gradient Descent,MBGD)
小批量梯度下降法是批量梯度下降法和隨機梯度下降法的折衷,也就是對於m個樣本,我們採用x個樣子來迭代,x大於1小於m。

4.梯度下降算法的調優
在使用梯度下降時,需要進行調優,哪些地方需要調優呢?

  1)算法的步長選擇。取值取決於數據樣本,可以多取一些值,從大到小,分別運行算法,看看迭代效果,如果損失函數在變小,說明取值有效,否則要增大步長。步長太大,會導致迭代過快,甚至有可能錯過最優解。步長太小,迭代速度太慢,很長時間算法都不能結束。所以算法的步長需要多次運行後才能得到一個較爲優的值。

  2)算法參數的初始值選擇。 初始值不同,獲得的最小值也有可能不同,因此梯度下降求得的只是局部最小值;當然如果損失函數是凸函數則一定是最優解。由於有局部最優解的風險,需要多次用不同初始值運行算法,關鍵損失函數的最小值,選擇損失函數最小化的初值。

  3)歸一化。由於樣本不同特徵的取值範圍不一樣,可能導致迭代很慢,爲了減少特徵取值的影響,可以對特徵數據歸一化,也就是對於每個特徵x,求出它的期望µ和標準差std(x),然後轉化爲:(x-µ)/std(x)。
  這樣特徵的新期望爲0,新方差爲1,迭代次數可以大大加快。
  

這裏寫圖片描述

六、局部加權線性迴歸(Locally Weighted Linear Regression,LWR)

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章