12 機器學習之大資料學習

2021-09-26 19:38:54 字數 1700 閱讀 4831

目錄

一 背景

二 隨機梯度下降法

三 mini-batch 梯度下降演算法

四 隨機梯度下降演算法收斂

五 結束

首先,如果在演算法的訓練樣本量m不足的時候得到的模型具有高方差(high variance),那麼此時我們需要更多的訓練樣本。但是如果演算法具有高偏差,提高樣本數量並不會顯著改善模型的效能。

現在的海量資料集很容易就可以達到m=100,000,000這樣的數量級。用梯度下降演算法優化引數的化每一步都需要彙總上億個訓練樣本來完成一次迭代。那麼我們能不能通過一些方法來分流如此大量的計算呢?

1.打亂樣本的順序

2.逐個樣本加入並調整引數值

3.重複第二步1-10次即可得到最優解(具體次數與樣本有關)

演算法特點:不需要一次性讀完所有的東西再一次性完成一輪引數學習,而是逐個樣本的動態學習。因此,隨機梯度下降演算法的收斂是在逐步向最優解徘徊

批量梯度下降演算法:一輪迭代需要所有的m個樣本

隨機梯度下降演算法:一輪迭代只需要乙個樣本

mini-batch梯度下降演算法:一輪迭代會使用b個樣本(b

如何確保收斂已經完成? 怎麼確定演算法的學習率?

下圖比較了批量梯度下降演算法和隨機梯度下降演算法的區別

1.對於批量梯度下降演算法,需要每次計算出jtrain,確保它是遞減的

2.對於隨機梯度下降演算法,可以在每一輪迭代的時候計算並儲存該資訊,1000次(假設)迭代之後計算前1000次cost的平均值並畫出來。可以作為演算法是否收斂的乙個視覺化表徵。

使用乙個小一點的學習率,有可能會得到乙個更接近最優解的方案。因為,隨機梯度下降演算法會在全域性最優解附近振盪徘徊,如果使用更小的學習率的話,能夠使用振盪步幅更小,進而更接近最優解。

如果增加用於描繪演算法效能的樣本平均數量,那麼得到的曲線會更加平滑。

如果用於描繪演算法效能的樣本平均數量太小,會導致曲線的波動較大,更難看出變化趨勢。

下面給出另一種a的設定方法,但是這樣需要增加兩個引數const1 、const2,所以並不推薦使用

最後給了乙個具體的ocr的示例,主要是介紹如何做乙個機器學習的系統(pipline)。裡面介紹了計算機視覺中的滑動視窗的概念(很簡單,就是用從小到大尺寸的視窗滑過,視窗覆蓋的區域擷取出來丟給機器學習演算法,視窗滑動步長通常是(1,4,8)等)

然後就結束了,結束了,束了,了。

感謝adrew無私奉獻的課程。

機器學習之大資料集

前言 簡介大資料時代已經來臨,它將在眾多領域掀起變革的巨浪。機器學習對於大資料集的處理也變得越來越重要。大資料 集務必會帶來恐怖的計算量,不僅耗費大量資源,而且給資料處理的實時性帶來巨大的挑戰。想要解決這個難題,就需要採取以下措施 選擇更加適合大資料集的演算法 更加好的硬體,採用平行計算等。本文內容...

Hadoop學習日誌之大資料概念

大資料 是指無法在可承受的時間範圍內用常規軟體工具進行捕捉 管理和處理的資料集合,是需要新處理模式才能具有更強的決策力 洞察發現力和流 程優化能力的海量 高增長率和多樣化的資訊資產。大資料具有5個v的特點,它們分別是 對資料的處理能力提出了更高的要求。3 value 資料價值密度相對較低,或者說是浪...

機器學習 1 2

什麼機器學習?第乙個機器學習的定義來自於 arthur samuel。他定義機器學習為,在進行特定程式設計的情況下,給予計算機學習能力的領域。samuel 的定義可以回溯到 50 年代,他編寫了乙個西洋棋程式。這程式神奇之處在於,程式設計者自己並不是個下棋高手。但因為他太菜了,於是就通過程式設計,讓...