1. 程式人生 > >機器學習公開課筆記(10):大規模機器學習

機器學習公開課筆記(10):大規模機器學習

批梯度下降 (Batch Gradient Descent)

以線性迴歸為例,用梯度下降演算法進行引數更新的公式為$$\theta_j=\theta_j-\alpha\frac{1}{m}\sum\limits_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}$$可以看到每次引數更新一次,都需要將整個訓練集掃描一遍,所以稱為批梯度下降,這種更新方式對於引數集很大的集合(例如m=100,000,000)執行速度十分慢,為了加快演算法執行速度,提出了隨機梯度下降。

隨機梯度下降 (Stochastic Gradient Descent)

每次僅用一個example來更新引數$\theta$,仍以線性迴歸為例,隨機梯度下降演算法為

1. 隨機重排列整個訓練集(shuffle)

2. 重複下列過程多次(資料集較大時可以重複1~10次)

    for i = 1, ..., m {
   $\theta_j=\theta_j-\alpha(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}$
    }

小批梯度下降 (Mini-Batch Gradient Descent)

介於批梯度下降和隨機梯度下降之間,批梯度處理利用全部m個example進行引數更新;隨機梯度下降只用1個example進行引數更新;而Mini梯度下降使用b(1<b<m)個example進行引數更新。仍以線性迴歸為例,加入我們有m=1000個example,我們可以用每b=10個example進行引數更新,例如:

Repeat {
        for i = 1, 11, 21, ..., 991 {
                $\theta_j=\theta_j-\alpha\frac{1}{10}\sum\limits_{k=i}^{i+9}(h_\theta(x^{(k)})-y^{(k)})x_j^{(k)}$
        }
}

演算法收斂性

批梯度處理能夠保證演算法收斂到最小值(如果選擇的學習速率$\alpha$合適的話),可以plot代價函式$J(\theta)$隨迭代次數的曲線,如果曲線是總是下降的,則能夠收斂,反之需要調整學習速率。

隨機梯度下降並不能保證演算法收斂到最小值,最終結果可能是在最小值附近來回遊走,為了觀察其收斂特性,可以plot每100(1000)次迭代時100個example代價函式函式$\text{cost}(\theta,(x^{(i)}, y^{(i)}))$的平均值,如果是下降趨勢,則可以收斂,否則可能需要調整增大或者減小平均的example數(將100改為1000或者10等),減小或者增大學習速率。

線上學習 (Online Learning)

之前的演算法都是有一個固定的訓練集來訓練模型,當模型訓練好後對未來的example進行分類、迴歸等。線上學習則不同,它對每個新來的example進行模型引數更新,因此不需要固定的訓練集,引數更新的方式則是採用隨機梯度下降。線上學習的優勢是模型引數可以隨使用者的偏好自適應的進行調整,以logistic迴歸為例,線上學習方式如下:

Repeat forever {
        1. 獲取當前example (x, y)
        2. 使用(x,y)進行引數更新:$\theta_j=\theta_j-\alpha(h_\theta(x)-y)x_j$
}

MapReduce和資料並行化

這部分內容Andrew Ng講得不多,可以認為僅僅講了多個機器的求和問題,比如如何求解1+2+3+...+1000?Map過程:四個機器分別計算1+2+...+250,251+252+...+500, 501+502...+750,751+752+...+1000,然後Reduce過程:將四個機器求和的結果sum1,sum2,sum3,sum4彙總到一臺機器上,計算sum1+sum2+sum3+sum4。

相關推薦

機器學習開課筆記(10)大規模機器學習

批梯度下降 (Batch Gradient Descent) 以線性迴歸為例,用梯度下降演算法進行引數更新的公式為$$\theta_j=\theta_j-\alpha\frac{1}{m}\sum\limits_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}$$可

機器學習開課筆記(6)應用機器學習的建議

應用機器學習的建議 1. 評估學習演算法 在實際中應用學習演算法時,如何評估一個學習演算法的好壞?進一步地,如果學習的演算法的效果不太好,如何改進學習演算法?例如,對於一個簡單的線性擬合模型,改進演算法效果的策略包括: 採用更多的訓練例項訓練模型 採用更小的特徵集合 增加額外的特徵 嘗試高次項

機器學習開課筆記(8)k-means聚類和PCA降維

K-Means演算法 非監督式學習對一組無標籤的資料試圖發現其內在的結構,主要用途包括: 市場劃分(Market Segmentation) 社交網路分析(Social Network Analysis) 管理計算機叢集(Organize Computer Clusters) 天文學資料分析(A

機器學習開課筆記(7)支援向量機

支援向量機(Support Vector Machine, SVM) 考慮logistic迴歸,對於$y=1$的資料,我們希望其$h_\theta(x) \approx 1$,相應的$\theta^Tx \gg 0$; 對於$y=0$的資料,我們希望$h_\theta(x) \approx 0$,相應的$\

機器學習開課筆記(1)機器學習簡介及一元線性迴歸

初步介紹 監督式學習: 給定資料集並且知道其正確的輸出應該是怎麼樣的,即有反饋(feedback),分為 迴歸 (Regressioin): map輸入到連續的輸出值。 分類 (Classification):map輸出到離散的輸出值。 非監督式學習: 給定資料集,並不知道其正確的輸出是什麼,

機器學習開課筆記(9)異常檢測和推薦系統

異常檢測(Anomaly Detection) 基本假設:多數情況下資料點落入正常的取值範圍,但是當異常行為發生時,資料點的取值落入正常取值範圍之外(如圖1所示)。所以可以利用高斯分佈,計算行為發生的概率,如果是概率小於給定閾值,則認為發生了異常行為。基本過程是利用訓練資料點建立模型$p(x)$,對於新的資

機器學習開課筆記(5)神經網路(Neural Network)——學習

這一章可能是Andrew Ng講得最不清楚的一章,為什麼這麼說呢?這一章主要講後向傳播(Backpropagration, BP)演算法,Ng花了一大半的時間在講如何計算誤差項$\delta$,如何計算$\Delta$的矩陣,以及如何用Matlab去實現後向傳播,然而最關鍵的問題——為什麼要這麼計算?前面計算

機器學習開課筆記(2)多元線性迴歸

多元線性迴歸 一元線性迴歸只有一個特徵$x$,而多元線性迴歸可以有多個特徵$x_1, x_2, \ldots, x_n$ 假設 (Hypothesis):$h_\theta(x)=\theta^Tx=\theta_0x_0+\theta_1x_1+\ldots+\theta_nx_n$ 引數 (Para

機器學習開課筆記(4)神經網路(Neural Network)——表示

動機(Motivation) 對於非線性分類問題,如果用多元線性迴歸進行分類,需要構造許多高次項,導致特徵特多學習引數過多,從而複雜度太高。 神經網路(Neural Network) 一個簡單的神經網路如下圖所示,每一個圓圈表示一個神經元,每個神經元接收上一層神經元的輸出作為其輸入,同時其輸出訊號到下一

機器學習開課筆記第九周之大數據梯度下降算法

機器學習 nbsp gradient min 三種 依次 再看 獲得 mini 一,隨機梯度下降法(Stochastic Gradient Descent) 當訓練集很大且使用普通梯度下降法(Batch Gradient Descent)時,因為每一次\(\theta\)

廣義線性模型 - Andrew Ng機器學習開課筆記1.6

sans luci art 能夠 tro ron 便是 import grand 在分類問題中我們如果: 他們都是廣義線性模型中的一個樣例,在理解廣義線性模型之前須要先理解指數分布族。 指數分

斯坦福機器學習開課筆記 十三 推薦系統

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                授課老師:Andrew Ng1、problem formulation(問題產生)在平時購物的時候我們都會看到網站把向我們推薦的商品放在醒目位置,其實這就是推薦

【Andrew NG 機器學習開課】CS229Introduction、Linear Regression

這份筆記來源於Andrew NG在Coursera上的公開課和講義。 Introduction 機器學習問題 (一)有監督學習(Supervised Learning) 基本思想是:given the right answer for each example i

斯坦福機器學習開課筆記(十五)--[應用]照片OCR技術

1、problem description and pipeline(問題描述和流水線) OCR是optical character recognition的縮寫,翻譯過來就是光學字元辨識。照片中的OCR技術其實就是識別中照片中存在的字元,例如下面這幅圖: 關於過程

斯坦福機器學習開課筆記(十三)--推薦系統

授課老師:Andrew Ng 1、problem formulation(問題產生) 在平時購物的時候我們都會看到網站把向我們推薦的商品放在醒目位置,其實這就是推薦系統。現在考慮一個電影推薦系統的例子,我們擁有一些使用者對於一些電影的評分,如下: 從上面可以看到,使

斯坦福機器學習開課筆記(一)--單變數線性迴歸

授課老師:Andrew Ng 1、model representation(建立模型) 考慮一個問題,如果給定一些房屋售價和房屋面積的資料,現在要預測給定其他面積時的房屋售價,那該怎麼辦?其實這是一個線性迴歸問題,給定的資料作為訓練樣本,用其訓練得到一個表示售價和麵積關

Andrew Ng 機器學習筆記 10 評價學習演算法

評估假設函式 模型選擇 正則化引數λ對假設函式的影響 λ 在訓練集上的變化 λ在交叉驗證集上的變化 學習曲線(Lear

吳恩達機器學習開課學習筆記(一)

吳恩達機器學習公開課學習筆記(一) 一些規範表達形式 線性迴歸/單變數線性迴歸 代價函式 公開課連結: https://study.163.com/course/courseLearn.htm?courseId=1004570029#/lea

從零到一學習計算機視覺朋友圈爆款背後的計算機視覺技術與應用 | 開課筆記...

分享人 | 葉聰(騰訊雲 AI 和大資料中心高階研發工程師)整    理 | Leo出    品 | 人工智

機器學習筆記(十六)大規模機器學習

目錄 1)Learning with large datasets 2)Stochastic gradient descent 3)Mini-batch gradient descent 4)Stochastic gradient descent convergence 1)