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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 17—Large Scale Machine Learning 大规模机器学习...

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 17—Large Scale Machine Learning 大规模机器学习... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Lecture17 Large Scale Machine Learning大規模機器學習

17.1 大型數據集的學習 Learning With Large Datasets

如果有一個低方差的模型, 通常通過增加數據集的規模,可以獲得更好的結果。


但是如果數據集特別大,則首先應該檢查這么大規模是否真的必要,也許只用 1000個訓練集也能獲得較好的效果,可以繪制學習曲線來幫助判斷。

?

17.2 隨機梯度下降法 Stochastic Gradient Descent

如果必須使用一個大規模的訓練集,則可以嘗試使用隨機梯度下降法(SGD)來代替批量梯度下降法。

隨機梯度下降算法 則首先對訓練集隨機“洗牌”,然后在每一次計算之后便更新參數 θ

?
在批量梯度下降算法還沒有完成一次迭代時,隨機梯度下降算法便已經走出了很遠。但 SGD 不是每一步都是朝著”正確”的方向邁出的。因此雖然會逐漸走向全局最小值的位置,但可能無法到達最小值點,而是在附近徘徊。不過很多時候這已經足夠了。

17.3 小批量梯度下降 Mini-Batch Gradient Descent

小批量梯度下降算法,介于批量梯度下降算法和隨機梯度下降算法之間,每計算常數b次訓練實例,更新一次參數 θ 。

通常會令 b 在 2-100 之間。小批量梯度下降的好處在于可以用向量化的方式來循環b個訓練實例,如果用的線性代數函數庫能支持平行處理,那算法的總體表現將與隨機梯度下降近似。

17.4 隨機梯度下降算法的收斂 Stochastic Gradient Descent Convergence

在批量梯度下降中,可以令代價函數 J 為迭代次數的函數,繪制圖表判斷梯度下降是否收斂。但是,在大規模的訓練集下不現實,因為計算代價太大。
當數據集很大時使用隨機梯度下降算法,這時為了檢查隨機梯度下降的收斂性,我們在每1000次迭代運算后,對最后1000個樣本的cost值求一次平均,將這個平均值畫到圖中。

?下面是可能得到的幾種圖像:

圖1:紅色線的學習率比藍色線要小,因此收斂的慢,最后收斂的更好一些。
圖2:紅線通過對5000次迭代求平均,而不是1000個,得到更加平滑的曲線。
圖3:藍線顛簸不平而且沒有明顯減少。可以增大α來使得函數更加平緩,也許能使其像紅線一樣下降;或者可能仍像粉線一樣顛簸不平且不下降,說明模型本身可能存在一些錯誤。
圖4:如果曲線正在上升,說明算法發散。應該把學習速率α的值減小。

還可以令學習率隨著迭代次數的增加而減小,例如令:

這樣,隨著不斷地靠近全局最小值,學習率會越來越小,迫使算法收斂而非在最小值附近徘徊。

但是通常不需要這樣做便能有非常好的效果,對α進行調整所耗費的計算通常不值得。?

17.5 在線學習 Online Learning

有一種大規模的機器學習機制,叫做在線學習機制。讓我們可以模型化問題。它指的是針對數據流,而非針對離線靜態數據集進行學習。例如,許多在線網站都有持續不斷的用戶流,對于每一個用戶,網站希望能不將數據存儲到數據庫中,便順利地進行算法學習。

在線學習的算法與隨機梯度下降算法有些類似,只對單一的實例進行學習,而非對一個提前定義的訓練集進行循環:
Repeat forever (as long as the website is running) {
  Get (x, y) corresponding to the current user
  θ: = θj ? α(hθ(x) ? y)xj
  (for j = 0: n)
}
一旦對一個數據的學習完成,便可以丟棄它,不需要再存儲。這樣的好處在于可以針對用戶當前行為,不斷更新模型以適應該用戶。慢慢地調試學習到的假設,將其調節更新到最新的用戶行為。

?

17.6 映射化簡和數據并行 Map Reduce and Data Parallelism

映射化簡和數據并行對于大規模機器學習問題而言非常重要。之前提到,批量梯度下降算法計算代價非常大。如果能將數據集分配給多臺計算機,讓每一臺計算機處理數據集的一個子集,然后將結果匯總求和,這樣的方法叫做映射簡化。

例如有 400 個訓練實例,可以將批量梯度下降的求和任務分配給 4 臺計算機進行處理:

如果任何學習算法能夠表達為對訓練集函數的求和,那么便能將這個任務分配給多臺計算機(或者同一臺計算機的不同 CPU 核心),以達到加速處理的目的。例如邏輯回歸:

很多高級的線性代數函數庫能夠利用多核 CPU 的來并行地處理矩陣運算,這也是算法的向量化實現如此重要的緣故(比調用循環快)。

?

轉載于:https://www.cnblogs.com/maxiaodoubao/p/10222170.html

總結

以上是生活随笔為你收集整理的【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 17—Large Scale Machine Learning 大规模机器学习...的全部內容,希望文章能夠幫你解決所遇到的問題。

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