日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

吴恩达《机器学习》学习笔记三——多变量线性回归

發布時間:2024/7/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 吴恩达《机器学习》学习笔记三——多变量线性回归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

吳恩達《機器學習》學習筆記三——多變量線性回歸

  • 一、 多元線性回歸問題介紹
    • 1.一些定義
    • 2.假設函數
  • 二、 多元梯度下降法
    • 1. 梯度下降法實用技巧:特征縮放
    • 2. 梯度下降法的學習率
  • 三、 特征選擇與多項式回歸
  • 四、 正規方程法
    • 1. 一些定義
    • 2. 正規方程解的公式
    • 3. 梯度下降法和正規方程法的比較
    • 4. 正規方程法在矩陣不可逆的情況下的解決

課程鏈接: https://www.bilibili.com/video/BV164411b7dx?from=search&seid=5329376196520099118

上一個筆記介紹了單輸入變量(一元)線性回歸問題,即只考慮了一個屬性對房價的影響,但很多時候會有多個因素對輸出產生影響,所以這次筆記主要針對多元線性回歸問題,是對筆記二的推廣。

一、 多元線性回歸問題介紹

1.一些定義

還是以房價預測問題為例,與一元線性回歸問題所不同的是,將有多個因素來共同決定房價,如下表所示,除了面積之外,還有臥室數量、樓層數量、房屋年紀共四個屬性作為輸入,分別記為x1、x2、x3、x4。

在這里,我們將屬性(特征)的數量記為n,這里n=4;數據樣本數量記為m,如m=47。x(i)表示第i個數據的所有屬性,是對數據集的索引,因為這里是多屬性,所以可以表示為一個向量,如x(2) = [1416 3 2 40]T;而x_j(i)表示第i個數據樣本的第j個屬性值,是對具體屬性的索引,如x_3(2)=2。

2.假設函數

還是考慮采用一次線性函數,但是不再是一元,而是多元。再次強調,并非一定采用一次線性函數的形式,可以采用別的形式如二次、指數等來進行模型的求解,這里是為了介紹線性回歸問題所以采用線性函數。

針對上述提出的四個屬性,假設函數可以改寫為如下形式:

再推廣一下到一般形式:

這里有一個小技巧,為了后面表示的方便,我們定義一個x0=1,那么有

下面,令

那么假設函數又能用向量相乘的方式表示:

這么做的意義是,在計算機的一些庫中,向量相乘的計算速度要比普通的相乘相加來得快,當數據量非常龐大時,該操作可以有效提升效率。

二、 多元梯度下降法

多元線性回歸問題的假設函數、參數、代價函數和對應的梯度下降法如下圖所示。

這里需要注意的是,我們盡量使用向量的計算來代替n個變量之間的計算,所以參數θ_0,θ_1,…,θ_n可以用一個n+1維的向量表示θ=[θ_0 θ_1…θ_n]^T。

下面具體看一下梯度下降的求偏導部分,如下所示:

與一元線性回歸問題相比,推廣到了更一般的情況,而其θ_0,θ_1的表達式就是一元的表達式。

1. 梯度下降法實用技巧:特征縮放

主要的思想是,如果數據的各個屬性的值的范圍都有相同的尺度,那么梯度下降法將能夠更快收斂。可以通過下面的圖來說明:

x1的值的范圍在0-2000,而x2的范圍是1-5,做出的等高線圖如左圖所示,因為尺度差異過大,非常細長,從而導致很不利于梯度下降法收斂到最優點,紅色的線是梯度下降的過程。解決辦法可以是將x1和x2都標準化到0-1的范圍,等高線圖將比較均勻,如右邊的圖所示,不論初始位置在哪,都容易收斂到最優點。

一般我們特征縮放的范圍都會盡量使他靠近-1到1這個大致范圍,這不固定,0 ~ 3或-2 ~ 0.5這種范圍都可以接受,但是-100 ~ 100或-0.0001 ~ 0.0001這種就相差太大,最好進行特征縮放。

說到底,特征縮放其實就是數據預處理的一個體現——標準化,以后會經常遇到需要標準化的數據,標準化的方法也有很多,如下面這種均值標準化,通過減去均值除以標準差后進行范圍的標準化,后面有機會我會進行標準化方法的總結。

2. 梯度下降法的學習率

主要介紹調試以及如何選擇學習率。

在梯度下降算法迭代的過程中,如何判斷是在朝著正確的方向計算,可以繪制一張迭代次數與代價函數的曲線圖,如下所示,如果代價函數J(θ)隨著迭代次數不斷減小,則是正確的。曲線下降到后期可能已經趨于平坦,則意味著已經達到收斂,此時幾乎就是最優點。

一些不正確的的代價函數變化曲線如下所示,說明沒有在正確工作。一般的解決辦法是減小學習率。

理論上說,只要學習率足夠小,總能最終收斂到局部最優點,但是如果學習率太小的話,收斂所需的時間也是非常漫長的,這是需要綜合考慮的問題,也就是調參的工作。

總結一下,一般判斷梯度下降是否在正確工作,會繪制迭代次數和代價函數的變化曲線圖來判斷,而且可以通過調節學習率來達到更好的結果,學習率的選擇一般需要嘗試,并不斷改善。

三、 特征選擇與多項式回歸

在之前的討論中,數據集提供了什么屬性(特征),我們就全部進行了使用,其實特征的使用與否可以人為選擇,甚至可以根據現有的特征創造新的特征,只要是對問題的解決更合理即可。如下圖所示,給了房屋的寬度和深度特征,但是我們從現實情況考慮,應該使用房屋的面積來衡量更為合理,所以定義新的特征面積等于寬度×深度,然后使用該新特征去計算。

還有一點,之前提到過假設函數的形式并不唯一,這里是為了講解線性回歸問題才給定的多元線性模型,還可以使用二次,三次模型來擬合,如下圖所示,這里為簡單起見,只考慮一個特征。

而這些其他的模型,其實也可以使用多元線性模型來擬合,只需要將二次項、三次項或平方根項當成一個新的屬性即可。

四、 正規方程法

梯度下降法是通過不斷的迭代來求得最優點,而下面介紹的正規方程法,可以依據公式直接求得最優解。

從微積分的知識可以知道,想要求使得函數達到最小的自變量的值,可以對該函數求偏導并使之等于0,求解出的自變量的值就是最優解。但是當函數復雜而且變量比較多時,這樣做非常復雜。

1. 一些定義

還是使用房價預測的例子,假設有包含四條數據的數據集如下:

定義X,y為

更一般的形式如下圖:

2. 正規方程解的公式


該公式由來的推導過程這里暫時先不寫,有需要可以看深度之眼提供的西瓜書推導課程,詳細到令人發指,非常良心的課程:
深度之眼西瓜書推導課程

3. 梯度下降法和正規方程法的比較

先上圖

(1) 梯度下降法需要選擇學習率,需要需要很多次的迭代,而且經常需要繪制代價函數變化曲線來判斷過程是否正確,而正規方程法不需要,它可以依據公式直接求解。
(2) 當特征數量非常龐大時,梯度下降法法依然可以很好的工作,而正規方程因為涉及到逆矩陣的計算,計算復雜度會飛速上升,計算速度很慢,而且梯度下降是一種通用方法,正規方程是根據線性回歸的特點推導出來的,用在別的模型上就很可能不適用,如后面的邏輯回歸。

所以,當特征數量不是很龐大時,正規方程法是梯度下降法很好的替代方法,但是當特征數量很龐大或是用到其他模型時,梯度下降法會更好。

4. 正規方程法在矩陣不可逆的情況下的解決

從正規方程的求解公式中可以看到,需要進行一次求逆矩陣的運算,那么必然存在逆矩陣不存在的情況,這時該如何求解?

主要有兩個原因會導致不可逆:

一個是存在重復多余的特征,像面積特征有兩個,一個用平方米做單位,一個用平方英尺做單位,其實是重復的,那么我們需要去掉。

還有可能是特征數太多,甚至超過了樣本數,如100個特征卻只有10個數據,則很可能導致不可逆,那么可以通過刪除一些特征或者采用正則化的方法來解決。正則化的方法后續會講到。這是籠統的解釋,更數學的解釋可以看深度之眼的西瓜書的課程,會一步步推導出來。

總結

以上是生活随笔為你收集整理的吴恩达《机器学习》学习笔记三——多变量线性回归的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。