上一章中我們簡單介紹了機器學習的大概情況,今天我們開始循序漸進地學習機器學習中相關的算法。在接觸經典算法之前,我們先來了解下“梯度下降”算法。
一、算法背景
作爲一個算法演示的背景,我們還是採用上一章中提到的房屋價格和房屋大小的關係問題,不同大小的房屋對應不同的房價,我們要通過分析已有的數據樣本,來預
測一個新樣本的房價。這裏其實是監督式學習中迴歸問題的簡單應用,如果所有的特性因變量都是一次的關係,那麼就稱之爲一個線性迴歸問題。下面就是我們解決
問題的基本思路:
首先從訓練集中使用學習算法,得到一個關於問題的假設(實質是H(X)=Y的映射),然後選取一個新的房屋,由其大小預測其價格。解決這個問題還需要規定一些符號便於後面的說明,如:
1. M:樣本集,表示所有的訓練集;
2. X:輸入變量,也叫做feature,這個例子裏就是房屋大小;
3. Y:輸出變量,也叫做targeted variable,這個例子裏就是房屋價格;
4. (X,Y):表示一個訓練樣本實例;
5. 第i個樣本實例:;
二、梯度下降
對於上面房屋價格和房屋大小的這個例子,如果我們僅僅考慮線性關係,那麼Y應當都是X的線性關係。作爲演示的例子,我們不妨設房屋大小、房間數量是房屋價
格的兩個線性因變量,那麼我們的假設H(X)其實可以寫作關於X的函數,爲了方便,我們將後面所用到的公式和結果一併寫在下面:
(1)式中表示的是當考慮房屋大小和房間數量兩個因變量時的線性函數,其中X0的值爲1,X1表示房屋大小,X2表示房間數量;
(2)式中的J函數,就是我們的目標函數,即如果存在一個函數可以最好的擬合現有的訓練數據集M,那麼所有樣本在該函數上的方差一定最小,前面乘以1/2是爲了後面運算化簡的方便,不必細究;
(3)式就是我們所說的梯度下降算法的更新公式,將現有訓練集的所有樣本考慮在內,那麼變量成爲了兩個係數,因此我們不斷變化係數以尋求使得H函數達到最小值的值,這裏的是一個常變量,表示的是每次下降的步長,如果該值過小,導致算法收斂時間太長,如果該值過大,則有可能會越過最小值點;
(4)式是僅僅考慮只有一個樣本的時候得到的關於梯度下降的公式;
(5)式是考慮有m個樣本的時候的梯度下降公式;
(6)式是隨機梯度下降公式;
注意!梯度下降的思想其實很簡單,如果將所有的樣本值繪成等高線圖,那麼好比一個人站在其中一點,每當要邁步的時候都要考慮哪個方向邁一步可以最快下山。這裏其選擇的最快下山方向其實是該點的偏導數。具體如圖:
同理,我們也可以看等高線圖:
從上面的(5)式中我們可以看出,每次更新一次係數的時候,都需要遍歷所有的樣本集合進行運算,因此稱爲“批梯度算法”,但是如果遇到非常大的樣本集合,
這樣無疑是十分低效的。因此我們又有了“隨機梯度算法”,其思想就是每次只使用一個樣本來更新所有的參數值,但是需要更新m*n次(m是樣本大小,n是因
變量個數),僞代碼就是:
Repeat {
For j = 1 to m {
(6)式 (for all i)
}
}
隨機梯度算法的收斂速度要比批梯度要快,但是最後收斂的未必有批梯度那麼準確,也許會圍繞最小值點來回擺動。由於梯度算法的核心是減去了偏導數,因此梯度算法一定會有收斂值,而且對於線性問題來說,所得的局部最小值往往就是全局最小值。
【機器學習】(2):梯度下降算法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java OpenCV-4.X 人工智能 機器學習 支持向量機 SVM
xuhyacinth
2022-01-25 10:51:26
機器學習: 線性迴歸
嚴海翔
2019-02-24 13:12:08
《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL
zhisheng
2019-02-24 21:04:11
大數據驅動的運營創新和探索
支付寶技術
2019-02-24 13:49:15
Python——數據類型
陳晨工程師
2019-02-24 13:43:55
撕掉普通程序員的標籤,這纔是真正的大數據工程師!
金羅老師
2019-02-24 13:12:37
深入淺出分佈式文件存儲系統之 Ceph 的實現
qq5c6f4fa42f069
2019-02-24 12:58:23
從無到有構建大型電商微服務億級架構(第一階段)視頻教程
星辰8209
2019-02-24 12:53:42
基於Flink流處理的動態實時億級電商全端用戶畫像系統視頻教程
星辰8209
2019-02-24 12:53:42
從無到有構建大型電商微服務億級架構(第三階段)視頻教程
星辰8209
2019-02-24 12:53:42
大型企業級雲產品-億級數據統計分析系統(涵蓋大數據主流技術)視頻教程
星辰8209
2019-02-24 12:53:42
大數據解碼“老廣”過年的“壕”味
SQ111
2019-02-24 12:50:19