機器學習 單變數線性回歸及梯度下降

2022-09-02 04:30:16 字數 3754 閱讀 7548

注:本系列部落格是博主學習stanford大學 andrew ng 教授的《機器學習》課程筆記。博主深感學過課程後。不進行總結非常easy遺忘,依據課程加上自己對不明確問題的補充遂有此系列部落格。本系列部落格包含線性回歸、邏輯回歸、神經網路、機器學習的應用和系統設計、支援向量機、聚類、將維、異常檢測、推薦系統及大規模機器學習等內容。

單變數線性回歸

模型表示

線性回歸

(linear regression)是利用稱為線性回歸方程的最小平方函式對乙個或多個自變數和因變數之間關係進行建模的一種回歸分析。這樣的函式是乙個或多個稱為回歸係數的模型引數的線性組合。僅僅有乙個自變數的情況稱為簡單回歸,大於乙個自變數情況的叫做多元回歸。

具體描寫敘述

之前的房屋交易問題為例,假使我們回歸問題的訓練集(training set)例如以下表所看到的:

我們將要用來描寫敘述這個回歸問題的標記例如以下:

m  代表訓練集中例項的數量

x  代表特徵/輸入變數

y  代表目標變數/輸出變數

(x,y)  代表訓練集中的例項

(x(i),y(i))代表第  i  個觀察例項

h  代表學習演算法的解決方式或函式也稱為如果(hypothesis)

因而。要解決房價預測問題,我們實際上是要將訓練集「輸入」給我們的學習演算法。進而學習得到乙個如果h,然後將我們要預測的房屋的尺寸作為輸入變數輸入給 h,預測出該房屋的交易**作為輸出變數輸出為結果。

一種可能的表達方式為:

,由於僅僅含有乙個特徵(輸入變數)。因此這樣問題叫作單變數線性回歸問題。

代價函式

本節將要定義什麼是代價函式。這將有助於我們把最有可能的直線與給定的資料相擬合。

我們如今要做的便是為我們的模型選擇合適的引數(

parameters

)θ0 和θ1,在房價問題這個樣例中便是直線的斜率和在y軸上的截距。我們選擇的引數決定了我們得到的直線相對於我們的訓練集的準確程度。模型所預測的值與訓練集中實際值之間的差距(下圖中藍線所指)就是建模誤差(modeling

我們的目標便是選擇出能夠使得建模誤差的平方和能夠最小的模型引數。即使得代價函式 

最小。我們繪製乙個等高線圖,三個座標分別為 θ0 和θ1 和  j(θ0,θ1),則能夠看出在三維空間中存在乙個使得  j(θ0,θ1)最小的點。

代價函式的直觀理解

1 僅有乙個模型引數時

例如以下圖所看到的,我們想要用一條直線來擬合我們的資料,用引數θ0 和θ1得到如果h,而通過選擇不同的θ0 和θ1,能夠得到不同的擬合直線。在本小節中。為了更好地講述代價函式。我們使用乙個簡化的如果函式。將θ0看做等於0,從而。優化函式將僅僅有乙個引數θ1。(將如果函式看做經過原點的直線(θ0 =0)能夠更好地解釋代價函式。)

將θ1取值不同一時候所相應的不同j值所相應的資料點繪製出來。例如以下側右圖所看到的。能夠看到,當j的取值不同一時候,相應於不同的如果函式。反之。不同的如果函式也相應於不同的代價函式取值,而學習演算法的目標是最小化代價函式。

從下圖中能夠看到。當θ1=1時,j取得最小值0,而該j相應的如果函式正好比較好地擬合出了資料集中的樣本點。這就比較直觀地解釋了為什麼通過最小化代價函式能夠得到乙個最佳的擬合直線。

2 有兩個模型引數時

與上一小節同樣。來看一下如果函式、模型引數、代價函式、優化目標函式,所不同的是,這裡不再如果θ0=0。而j是θ0和θ1的函式。當h僅僅有乙個引數時。代價函式j的圖形將是如上圖右側所看到的的碗裝函式。但如今j有兩個引數:θ0和θ1,j的函式圖形仍然呈現出碗裝形狀,但變為了二維圖形,例如以下圖所看到的。

對於不同的如果函式。代價函式取值不同。接下來,為了描寫敘述方面。不再使用這個三維圖形,而是使用contour figure。例如以下右圖所看到的,就是contour figure。同一橢圓上的點,代表j取值同樣。例如以下側右圖所看到的,θ0=800這點相應於左圖中的直線,能夠看到,這條直線並不能非常好地擬合資料集,而且注意到。θ0=800這點距離j的最小值點還非常遠。也就是說這個代價函式還非常大。

通過不斷地減少j的取值,能夠找到較好的擬合直線:

梯度下降

梯度下降是乙個用來求函式最小值的演算法。我們將使用梯度下降演算法來求出代價函式j(θ0,θ1) 的最小值。以下,看一下梯度下降法的定義,例如以下圖所看到的。

(1):= 表示賦值。

(2)α 是乙個數字,被稱為學習速率,它控制了我們下山時會邁出多大的步子,因此如果α值非常大,那麼相應的梯度下降過程中我們會試圖用大步子下山,如果α值非常小,那麼我們會邁著非常小的小碎步下山(關於怎樣設定α的值等內容,在之後的課程中會再解說);

(3)這裡的梯度下降法為批量梯度下降法,我們每一次都同一時候讓全部的引數減去學習速率乘以代價函式的導數。

梯度下降背後的思想是:開始時我們隨機選擇乙個引數的組合(θ0,θ1,...,θn),計算代價函式,然後我們尋找下乙個能讓代價函式值下降最多的引數組合。我們持續這麼做直到到到乙個區域性最小值(localminimum),由於我們並沒有嘗試全然部的引數組合。所以不能確定我們得到的區域性最小值是否便是全域性最小值(global minimum)。選擇不同的初始引數組合,可能會找到不同的區域性最小值。

梯度下降的直觀理解

對θ賦值,使得 j(θ)按梯度下降最快方向進行,一直迭代下去。終於得到區域性最小值。

當中 α是學習率(learning rate),它決定了我們沿著能讓代價函式下降程度最大的方

向向下邁出的步子有多大。

但對於線性回歸問題,代價函式是乙個碗裝的函式(凸函式),該函式僅僅有乙個全域性最優解。所以。利用梯度下降法,總是會收斂到全域性最優解。

梯度下降和線性回歸

例如以下圖所看到的,左側是梯度下降法,右側是線性回歸。接下來要做的就是用左側的梯度下降法來最小化平方誤差代價函式。

批量梯度下降法

:即在進行梯度下降法的過程中。每一次迭代都用到了全部的訓練樣本。就是說。每次更新都須要考慮這一"批

"樣本。

機器學習 單變數線性回歸

1.模型描述 1 常見的字元的意義 2 乙個監督學習演算法的工作方式 2.代價函式 1 什麼是代價函式 平方誤差函式 目標函式 我在網上找了很長時間代價函式的定義,但是準確定義並沒有,我理解的代價函式就是用於找到最優解的目的函式,這也是代價函式的作用。注意 上面的代價函式是二變數的,事實上代價函式可...

機器學習 單變數線性回歸

你有乙個10000平方英呎的房子,現在要進行轉買,能賣多少錢呢?單變數線性回歸,顧名思義是乙個變數對結果產生的影響,例如上題房屋面積對房屋 的影響 回歸是統計學的乙個重要概念,其本意是根據之前的資料 乙個準確的輸出值,解題思路如下 1 定義乙個模型 h x 0 1x,並初始化 0 1的值就會產生乙個...

機器學習 單變數線性回歸

給定房屋面積和房屋 的資料,然後以房屋面積為橫座標,房屋 為縱座標,繪製資料點。通過繪製曲線,獲得房屋房價的模型,根據房屋面積獲得房屋 這就是乙個regression problem 回歸問題 regression指的是根據之前的資料 出乙個準確的輸出值,即predict real valued o...