1. 程式人生 > >線性回歸—求解介紹及回歸擴展

線性回歸—求解介紹及回歸擴展

數據 相對 範數 精度 分享 得到 技術 半徑 內容

作為機器學習中的線性回歸,它是一個典型的回歸問題,由於容易理解、可解釋性強,被廣泛應用於機器學習的過程中。為了深入了解線性回歸相關知識,飛馬網於4月12日晚邀請到先後在1號店、飛牛網等電商企業從事算法工作的張飛老師,在線上直播中,為我們分享線性回歸知識。

技術分享圖片

以下本次是分享實錄:

一.回歸的概念

回歸在我們的日常工作中經常會用到,比如預測銷量、房價等,我們首先來了解一下什麽是回歸?

技術分享圖片

二.變量之間的關系

兩個變量之間的關系是怎樣的呢?主要包括兩種關系:確定性關系和非確定性關系。確定性關系可以通過函數表達出來,例如圓點周長與半徑的關系、速度和時間與路程的關系、X與Y的函數關系等。非確定性關系表示兩變量之間一種宏觀上的關系,不能精確用函數關系來表達,例如青少年身高與年齡的關系、身高與體重的關系、藥物濃度與反應率的關系。

技術分享圖片

三.線性回歸的概念

我們下面來介紹線性回歸的概念。當兩個變量存在準確、嚴格的直線關系時,可以用Y=a+bX(X為自變量,Y是因變量),表示兩者的函數關系。

技術分享圖片

那為什麽叫“回歸”呢?這裏簡單了解一下。高爾頓在研究人的身高時,發現父代與子代的身高不是處於兩個極端,而是反映了一個規律,這兩種身高父親的兒子的身高,有向他們父輩的平均身高回歸的趨勢,即當父親高於平均身高時,他們的兒子身高比他更高的概率要小於比他更矮的概率;父親矮於平均身高時,他們的兒子身高比他更矮的概率要小於比他更高的概率,這就是所謂的回歸效應。

技術分享圖片

四.線性回歸求解(回歸參數的估計)

1.最小二乘法:

要求出a和b這兩個參數,就要用到最小二乘法的計算方法,我們看下圖的回歸方程。最小二乘法即保證各實測點到回歸直線的縱向距離的平方和最小,並使計算出的回歸方程最能代表實測數據所反映出的直線趨勢。

技術分享圖片

我們簡單了解一下最小二乘法計算過程的例子:

技術分享圖片

函數模型寫成矩陣式如下圖。t1至tn為輸入值,b0、b1做了一個矩陣乘法,y1到yn是實際的值。

技術分享圖片

根據下面這張圖中的戰艦數據,我們求b1。

技術分享圖片

具體計算過程如下:

技術分享圖片

上面所講的最小二乘法均是在二元情況下,我們再看看多元情況下的最小二乘法,也可以用矩陣式表達,如下圖所示:

技術分享圖片

用矩陣轉置的運算方法來求解,會涉及矩陣逆的計算,就會有一個問題,如果數據量較大,計算就會非常慢,這是就要判斷擬合的好壞,那我們用什麽指標來衡量呢?第一個方法是我們計算出SE、SR、ST。

技術分享圖片

技術分享圖片

我們也可以通過另外的指標—相關系數來衡量擬合的好壞:

技術分享圖片

在多元線性回歸時,數據量比較大的情況下,最小二乘法求解耗費的資源較大,那我們有沒有其它的方法呢?我們來看下面這張圖:

技術分享圖片

2.梯度下降:

由此我們引出全新的一個方法來求解線性回歸參數—梯度下降,這是我們常用到的一個方法,它計算量較小,且可以得到一個相對而言的局部最優解。一起來看一下梯度下降的方法和算法過程圖:

技術分享圖片

梯度下降本質上是求出一個函數的最小值,使得它的損失函數最小,因此針對損失函數用梯度下降,就能夠使梯度下降和線性回歸整合,看下圖:

技術分享圖片

①梯度下降Feature Scaling

為了加快梯度下降的執行速度,我們就要將特征標準化,常用的標準化方法如下:

技術分享圖片

下面是一個練習題:

技術分享圖片

②梯度下降 多元

在實際問題中,我們的特征不可能只有兩個,也許會有很多個,這邊舉了一個房價的例子:

技術分享圖片

它的損失函數和之前一樣,只是變成了在多元情況下,梯度求解也是由之前的一元改為多元情況,把對應的值求出來,我們來看圖:

技術分享圖片

下面我們來看一下例子:

技術分享圖片

在實際工作中,這個方法常被用於進行機器算法求解,或者是轉置矩陣的形式。

③隨機梯度下降

梯度下降有一個擴展性問題,當樣本點很大的時候,計算起來就會很慢,所以接下來又提出了隨機梯度下降算法。

隨機梯度下降算法計算起來很快,但是收斂的過程比較曲折,整體效果上,大多數時候它只能接近局部最優解,而無法真正達到局部最優解,適合用於較大訓練集的情況。

它的公式如圖所示:

技術分享圖片

3.比較最小二乘法與梯度下降:

介紹完最小二乘法和梯度下降之後,我們把兩者進行一個比較:

技術分享圖片

五.回歸擴展

最後一部分是對於線性回歸的擴展,主要介紹嶺回歸與Lasso回歸。

1.嶺回歸:

其實就是在原本的方程裏加入了I2範數,為什麽要加I2範數呢?I2範數就是一個懲罰項,使得模型的泛化能力更強,防止我們把參數求解出來之後,在預測過程中所產生模型訓練過擬合現象,在預測結果上達到預定效果。

技術分享圖片

2.Lasso回歸:

它是加入了I1範數,I1的好處是存文檔時,把某些待估系數輸送到鄰之間。從下圖中可以很直觀地看出嶺回歸與Lasso回歸的區別。

技術分享圖片

以上五大部分就是張老師要講解的主要內容,下面是最後的問答環節,我們一起來看看都有些什麽問題。

1.請問函數的推導過程是不是都要記清楚,還是能運用模型就可以了?

張老師:我們在學習算法時,對算法的基本原理要清楚,像線性回歸的求參過程、最小二乘法、梯度下降法,對這些知識的掌握都要比較熟練,至於函數的推導過程不需要完全掌握,但對它的原理一定要清楚,否則就達不到預期效果,不知道如何去調優。

2.為什麽最小二乘法是最優方法?

張老師:最小二乘法只是求解線性回歸的一種方法,這種方法是求坐標軸實際值與目標值之間的差的平方,它的精度比較弱,適用的模型只有線性回歸,在特征非常多時,求解速度也會非常慢,導致模型無法求解成功,一般情況下,我們都是運用梯度下降法來求解參數值,它能逼近局部最優解,所以我們更推薦梯度下降法。

3.歸一化怎麽應用?

張老師:歸一化有很多方法,用當前值減去平均值再除以最大值減最小值,這個是比較簡單的方法,但這個方法有一定的局限性,比如樣本裏面出現異常值,可能會對歸一化的順序產生一定影響,還有其它的一些方法。至於怎麽去應用,我們要根據具體的應用場景去選擇相應的方法。

以上就是本次線上直播的全部內容,相信通過本次學習,在實際工作當中,大家能更熟練地去運用線性回歸算法。想了解更多更詳細內容的小夥伴們,可以關註服務號:FMI飛馬網,點擊菜單欄飛馬直播,即可進行學習。

技術分享圖片

線性回歸—求解介紹及回歸擴展