04.多元梯度下降算法
生活随笔
收集整理的這篇文章主要介紹了
04.多元梯度下降算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、多元梯度下降算法
- 通常情況下我們要解決的問題會涉及到多個變量,例如房屋價格預測應該考慮面積、房間個數、樓層、價格等多個因素,這時就需要使用多元線性回歸的假設函數和多元梯度下降算法
1.1 相關表示的含義
以房屋價格預測為例來展開介紹,假設房屋的價格與房屋的面積、臥室數量和房屋年齡有關
-
用 n 代表特征數量,m 代表樣本數量,變量 x 此時也變為三個,即 x1 (代表面積),x2(代表臥室數量),x3(代表房屋年齡)。
-
定義 x(i) 代表第 i 個樣本的所有特征值。例如 x(2) = [1416, 3, 2, 40, 232]
-
定義 xj(i) 代表第 i 個樣本中第 j 個特征量。例如 x3(2) = 2
1.2 多元線性回歸的假設函數
- 假設函數就不再只包含一個變量,為了統一可以對常量引入變量x0=1
- 通常都是把所有的 θ 和 x 看出一個向量來進行處理
1.3 多元線性回歸的代價函數
1.4 多元線性回歸的梯度下降算法
- 上圖左邊為單梯度,右邊為多元梯度
- 雖然參數的個數增多,但是對每個參數求偏導時和單個參數類似。
二、特征縮放
2.1 特征縮放的引入原因
-
多個變量的度量不同,數字之間相差的大小也不同,如果可以將所有的特征變量縮放到大致相同范圍,這樣會減少梯度算法的迭代。
-
當特征范圍相差太大時,會一直來回振蕩,梯度下降效率會很低
-
特征縮放把每個變量范圍落到[-1,1]之間是比較好的,但不一定非要落到[-1,1]之間,只要數據足夠接近就可以。
2.2 特征縮放的公式
-
主要:上圖的標準差也可以直接用變量的范圍(max - min)來表示
-
縮放的具體實現例子:
2.3 特征縮放后參數θ的還原方法
-
經過線性回歸得到的參數θ’,對應著縮放后的數據,要得到縮放前的參數θ的方法
三、學習率
- 學習率α的大小會影響梯度算法的執行,太大可能會導致算法不收斂,太小會增加迭代的次數。
3.1 學習率選擇是否合適的方法
-
可以畫出每次迭代的代價函數J(θ)的變化,來判斷當前算法執行的情況,然后選擇合適的學習率。(調參開始…)
- 上圖橫坐標表示:梯度下降算法的迭代次數
- 若圖中的曲線接近平緩,J(θ)的值幾乎沒有下降的趨勢了,則表示J(θ)差不多收斂了,可以不用繼續迭代了
3.2 合適的學習率的選擇
- 嘗試選取不同的α :… 0.001,0.003,0.01,0.03,0.1,0.3,1,…
- 以3為倍速找到一個最快速下降的 α ,以該最大值或比該最大值略小的值作為 α
總結
以上是生活随笔為你收集整理的04.多元梯度下降算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓外挂红外触摸屏的软件设计
- 下一篇: 网络运维面试----考官会问到的问题?