2.1 基本線性回歸

一.線性回歸問題

線性回歸是利用數理統(tǒng)計中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關系的一種統(tǒng)計分析方法,運用十分廣泛。線性回歸包括一元線性回歸和多元線性回歸,一元是只有一個自變量x,多元是指有多個自變量x1,x2.....如y=a0+a1x1+a2x2。
首先我們來看一個例子:

假定我們有一個數據集,數據集中給出了來自俄勒岡波特蘭的47所房子的居住面積,臥室數和價格。現在要根據臥室數和面積來得出價格。很明顯,這是一個監(jiān)督學習中的回歸問題。

我們不妨先假設一個線性函數關系:函數h表示房價,x1表示面積,x2表示臥室數目。
為了簡化我們的符號,我們也引入x0=1,那么上述函數可以寫成:

現在,我們想要根據訓練集數據擬合一個函數,這就需要我們求出參數值。大家可以想象,我們肯定希望找到的那個函數,距離每個點都很近,最好所有的點上都在這個函數上,但是這肯定不現實,所以我們希望這些點盡量離函數近一點,也就是所有訓練樣本到函數的距離之和最小。用數學的方式形式化,我們得到代價函數J

這里為了便于計算,將距離做了平方并且乘以一個1/2,xi,yi表示訓練集第i行的屬性和標記。現在問題就轉化成了求出所有參數值,使得代價函數J的值最小。解決這個問題可以選擇梯度下降法,也可以使用最小二乘法

二.梯度下降法

(一)前提

在介紹梯度下降法之前,我們先回顧一下幾個基礎的數學概念。

  1. 導數
    一個點的導數不僅僅表示該點切線的斜率,還反應了函數在該點的變化率。


  2. 偏導數
    在二元函數中,偏導數僅僅是表示某點在x方向的導數和在y軸方向的導數。這反應了偏導數的局限性,僅僅是多元函數沿著坐標軸的變化率,但是如下圖,在M0點處存在很多方向的偏導數(并不僅僅x和y方向),這就引出了方向導數。


  3. 方向導數
    我們不僅僅要知道函數在坐標軸方向上的變化率(即偏導數),還需要設法求得函數在其他方向上的變化率。而方向導數就是函數在其他特定方向上的變化率。
    從二元函數上某點P點向某個方向發(fā)出一條射線,通過p0(x+△x,y+△y)且P0在領域內。

    兩點間距離

    若極限存在則方向導數為:
  1. 梯度
    由上面的方向導數可知,方向導數是在各個方向上都有,而且每個方向上的變化一般是不一樣的,那到底沿哪個方向最大呢?沿哪個方向最小呢?為了研究方便,就有了梯度的定義。


  • 梯度是一個向量,由函數f關于它的n個變量的偏導數構成,比如三元函數f的梯度為(fx,fy,fz),二元函數f的梯度為(fx,fy),一元函數f的梯度為f(x)
  • 梯度的方向是函數增長最快的方向,梯度的反方向是函數降低最快的方向。
(二)梯度下降法(BGD)

梯度下降法的基本思想:
我們的目的是尋找J最小時的參數,開始時我們隨機選擇一個參數的組合(θ_0,θ_1,......,θ_n ),計算代價函數,然后我們尋找下一個能讓代價函數值下降最多的參數組合。我們持續(xù)這么做直到到到一個局部最小值(local minimum),因為我們并沒有嘗試完所有的參數組合,所以不能確定我們得到的局部最小值是否便是全局最小值(global minimum),選擇不同的初始參數組合,可能會找到不同的局部最小值。

前文線性回歸的代價公式

目標函數J關于參數θ的梯度是目標函數上升最快的方向,那么讓函數從任意一點開始,沿著梯度反方向移動一個步長α(α是學習率,它決定了我們沿著梯度方向向下邁出的步子有多大,α的值是根據情況自行設定的),就可以使得函數J下降的最快,形式化如下。(注意,這里所有的參數θ都要同時更新)
那么進行多次迭代,每次迭代都更新所有的θ(j=0,1,2,3.....),直到J收斂停止迭代:

我們發(fā)現在迭代過程中,每更新一個參數θ,都會計算一遍全部訓練集,如果訓練集很大,那么將很耗時間。
隨機梯度下降(SGD):去掉求和公式,用樣本中的一個例子來近似我所有的樣本,來調整。
批量梯度下降(MBGD):其實批量的梯度下降就是一種折中的方法,他用了一些小樣本來近似全部的,其本質就是1個樣本近似全部不太準,那我多取幾個樣本會比隨機的要準不少了吧,而且批量的話還是非??梢苑从硺颖镜囊粋€分布情況的。

注意(以一元函數舉例說明)

  1. 梯度下降法是收斂到局部最小值,不一定可以收斂到全局最小值,這與我們選擇的初始參數有關。


    image

我們初始值選擇了如圖的x0,由于f在點x0的導數大于0,梯度方向向右,負梯度方向向左,從而x0向左移動,逐漸收斂到了局部最小值,而不能收斂到全局最小值。

  1. α的大小要適中
    學習率α太小,每次移動步長太小,收斂太慢,這個比較容易理解。
    學習率α太大,每次移動步長大,可能導致不收斂,這里用一個圖來表示一下:



    由于距離最小值點越遠,導數越大,從而導致步長越來越大,不會收斂。通??梢钥紤]嘗試這些學習率:
    α=0.01,0.03,0.1,0.3,1,3,10

三. 最小二乘法

最小二乘法的本質就是利用向量表示代價方程J,然后對參數向量進行求導,令導數為0求極值,從而解出參數向量。

假設多元線性模型是:

那么將樣本屬性X帶入方程可以得到:

用向量表示出來:



也就是:

同樣,為了保證點到函數的距離和的平方最小,得到代價公式(Y是樣本目標向量):

令J對參數向量求導:

最后如果
是可逆的,也就是說X是滿秩的,那么解得:

如果不可逆,那就是有很多解了,取哪個解由歸納偏好決定。
至此,我們得到了所有的參數,模型建立完成。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • AI人工智能時代,機器學習,深度學習作為其核心,本文主要介紹機器學習的基礎算法,以詳細線介紹 線性回歸算法 及其 ...
    erixhao閱讀 14,211評論 0 36
  • 在高數中,我們求解一個函數的最小值時,最常用的方法就是求出它的導數為0的那個點,進而判斷這個點是否能夠取最小值。但...
    耳朵和爪子閱讀 3,978評論 2 5
  • 上一篇文章中,線性回歸關鍵問題之一:求解系數的方法梯度下降。梯度下降在數據挖掘很多算法中都有應用, 屬于比較基本的...
    wujustin閱讀 2,318評論 1 8
  • 初春的陽光灑在嫩綠的柳芽上,鏡湖上泛起粼粼波光。 一個年輕的老師帶著她的一群學生泛舟湖上,飽覽這明媚的春光,說起千...
    越衣閱讀 984評論 0 0
  • 01 兩年前的夏末,我結束高中最后一個暑假去上大學。學校依山伴水,郁郁蔥蔥...
    葉琛_閱讀 959評論 27 9

友情鏈接更多精彩內容