1. 程式人生 > >筆記:《機器學習訓練祕籍》-吳恩達deeplearningai微信公眾號推送文章

筆記:《機器學習訓練祕籍》-吳恩達deeplearningai微信公眾號推送文章

說明

該文為筆者在微信公眾號:吳恩達deeplearningai 所推送《機器學習訓練祕籍》系列文章的學習筆記,公眾號二維碼如下,1到15課課程連結點這裡

該系列文章主要是吳恩達先生在機器學習方面的經驗分享和基礎教程,每一章十分短小,旨在讓我們能在碎片化的時間中一點點熟悉機器學習的相關知識。

想看該系列文章英文版最新章節的同學請點選這裡進行郵件訂閱

第1至15章

1、2、3、決策方案很重要

-方案示例:
1、獲取更多的資料,即收集更多貓的圖片

2、收集更加多樣化的訓練資料集,比如處於不常見位置的貓的圖片,顏色奇異的貓的圖片,以及使用不同相機引數拍攝的貓的圖片

3、通過增加梯度下降(gradient descent)的迭代次數,使演算法訓練得久一些

4、嘗試一個擁有更多層(layer)/更多隱藏元(hidden units)/更多引數(parameters)的,規模更大的神經網路

5、嘗試加入正則化(例如 L2 正則化)

6、改變神經網路的架構(啟用函式,隱藏元數量等等)

選擇以上合理的決策方案很重要.

4、機器學習現在發展迅速的原因

-有兩個主要因素推動著近期的發展:
1、資料可用性(data availability):採集資料的裝置越來越多,資料量越來越大
2、計算規模(computational scale):在近些年前,我們才開始能夠使用現有的海量資料集來訓練規模足夠大的神經網路。

-舊的學習演算法似乎並不知道要如何來處理如今這個規模量級的資料。

-在小資料集條件下,傳統演算法是否會表現得更好,取決於人們如何進行特徵工程。

-神經網路提高效能方式:
(i) 訓練大型的神經網路
(ii) 擁有海量的資料

5、併發集和測試集

-資料集一般包含正樣本和負樣本

-機器學習中的普遍做法是使用 70% / 30% 的比例來隨機劃分出訓練集和測試集

-圖片質量會比較影響訓練和識別結果。

-訓練集(training set)用於執行你的學習演算法。

-開發集(development set)用於調整引數,選擇特徵,以及對學習演算法作出其它決定。有時也稱為留出交叉驗證集(hold-out cross validation set)。

-測試集(test set)用於評估演算法的效能,但不會據此決定使用什麼學習演算法或引數。

-開發集和測試集的使命就是引導你的團隊對機器學習系統做出最重要的改變。(合理地設定開發集和測試集,使之近似模擬可能的實際資料情況,並處理得到一個好的結果。)

6、開發集和測試集應該服從同一分佈

7、開發集和測試集應有多大

-當資料量特別特別大的時候,開發集和測試集的規模並不是越大越好。

8、使用單值評估指標進行優化

-查準率(Precision,又譯作精度):預測結果為某類的樣本中,實際為該類的比例。

-查全率(Recall,又譯作召回率):某類的樣本中,被正確識別為該類的比例。
-F1 Score為上述的平均值,使用加權平均求出單值指標更方便

9、優化指標和滿意度指標

-準確率(accuracy)、執行時間(running time)、假正例率(false positive rate)和假反例率(false negative rate)等

10、通過開發集和度量指標加速迭代

-在建立一個機器學習系統時,我往往會這樣:
1、嘗試一些關於系統構建的想法(idea)。
2、使用程式碼(code)實現想法。
3、根據實驗(experiment)結果判斷想法是否行得通。(第一個想到的點子一般都行不通!)在此基礎上學習總結,從而產生新的想法,並保持這一迭代過程。

-擁有開發集和度量指標,可以使你更快地檢測出哪些想法給系統帶來了小(或大)的提升 ,從而快速確定要繼續研究或者是要放棄的方向。

11、12、何時修改開發集、測試集和度量指標

-開發集和測試集必須分佈相同,否則有可能過擬合

-對假正例進行嚴重懲罰

-要對系統週期性得進行評估

-(i) 如果你在開發集上過擬合,則獲取更多的開發集資料。
-(ii) 如果開發集和測試集的資料分佈和實際關注的資料分佈不同,則獲取新的開發集和測試集。
-(iii) 如果評估指標不能夠對最重要的任務目標進行度量,則需要修改評估指標。

13、快速構建並迭代你的第一個系統

-先快速構建一個最基礎的系統,後面慢慢改,一般第一個都是有問題

14、15、誤差分析:根據開發集樣本評估多個想法

-誤差分析(Error Analysis) 指的是檢查演算法誤分類的開發集樣本的過程,以便你找到造成這些誤差的原因。

-對出錯的開發集樣本進行一定量的收集分析

-出錯的這些樣本中,觀察其中某一類的比例(如果識別貓的系統,將狗誤認為貓,而狗在這些誤分類的樣本中的比例),如果比例較小(eg.5%)有可能就為該專案的上限,不用在意,因為即使針對狗進行特定的改進,可能也只是會對總識別率提升一點點;如果比例較大,進行改進後就可以顯著增加識別率

-誤差分析並不會產生一個明確的數學公式來告訴你什麼任務的優先順序最高。你還需要考慮在不同類別上的預期進展以及解決每個類別所需的工作量。

-作者十分強調優先順序問題,看來是看過太多的人做無用功了,他在視訊中就經常提到:去一家公司參觀,團隊花6個月來排查解決的一個問題,他一眼就看出是哪個引數的問題。

相關推薦

筆記機器學習訓練祕籍》-deeplearningai公眾文章

說明 該文為筆者在微信公眾號:吳恩達deeplearningai 所推送《機器學習訓練祕籍》系列文章的學習筆記,公眾號二維碼如下,1到15課課程連結點這裡 該系列文章主要是吳恩達先生在機器學習方面的經驗分享和基礎教程,每一章十分短小,旨在讓我們能在碎片化

機器學習 - 推薦系統 機器學習 - 推薦系統

原 吳恩達機器學習 - 推薦系統 2018年06月25日 22:26:51 離殤灬孤狼 閱讀數:187

機器學習 - 異常檢測 機器學習 - 異常檢測

原 吳恩達機器學習 - 異常檢測 2018年06月25日 21:09:33 離殤灬孤狼 閱讀數:69

機器學習 - 評估假設 機器學習 - 評估假設

原 吳恩達機器學習 - 評估假設 2018年06月22日 20:47:29 離殤灬孤狼 閱讀數:105

機器學習 - 邏輯迴歸 機器學習 - 邏輯迴歸

原 吳恩達機器學習 - 邏輯迴歸 2018年06月19日 12:49:09 離殤灬孤狼 閱讀數:96 更多

機器學習 - 正規函式 機器學習 - 正規函式

原 吳恩達機器學習 - 正規函式 2018年06月18日 19:40:21 離殤灬孤狼 閱讀數:65 更多

機器學習 - 神經網路 機器學習 - 神經網路

原 吳恩達機器學習 - 神經網路 2018年06月19日 21:27:17 離殤灬孤狼 閱讀數:97

機器學習愛好者 -- 翻譯老師的機器學習課程字幕 http://www.ai-start.com/

http and -m nbsp 翻譯 href 機器學習 target 字幕 機器學習愛好者 -- 翻譯吳恩達老師的機器學習課程字幕 http://www.ai-start.com/ https://zhuanlan.zhihu.com/fengdu78 ht

方案優化網站實現掃描二維碼關註公眾,自動登陸網站並獲取其

用戶 class his onerror 就會 openid display 要點 rac 上一篇 《網站實現掃描二維碼關註微信公眾號,自動登陸網站並獲取其信息》 中已經實現用戶掃碼登陸網站並獲取其信息 但是上一篇方案中存在一個問題,也就是文章末尾指出的可以優化的地方(可

機器學習訓練祕籍整理五十三到五十七章(八)元件分析

第五十三章: 根據元件進行誤差分析 假設你的系統由複雜的機器學習流水線所構建,並且你希望提高該系統的效能,那應該從流水線的哪一部分開始改進呢?你可以通過將誤差歸因於流水線的特定元件,來決定工作的優先順序。 在上圖的流水線中,第一部分是貓檢測器,它能夠檢測出貓,並將它們從影象裁剪出來

機器學習訓練祕籍整理四十四到五十二章(七)優化測試和端到端

第四十四章 優化驗證測試 假設你正在構建一個語音識別系統,該系統通過輸入一個音訊片段A,併為每一個可能的輸出句子S計算得分ScoreA(S) 。例如,你可以試著估計 ScoreA(S) = P(S|A) ,表示句子S是正確輸出的轉錄的概率,其中 A 是給定的輸入音訊。

機器學習訓練祕籍整理三十六到四十三章(六)訓練資料

第三十六章: 何時在不同的分佈上訓練與測試。 使用者上傳的10000張圖片。網上收集的200000張圖片。使用者上傳的5000張用來做開發集和測試集。205000用來做訓練集。這樣可以讓他們的資料集的分佈儘可能的相同。 第三十七章: 現有100000張使用者上傳的圖片和200000張

機器學習訓練祕籍整理三十三到三十五章(五)

第三十三章 為何與人類表現水平進行對比: 許多機器學習系統的設計目的是想要自動化一些人類可以處理得很好的事情,可舉的例子有影象識別、語音識別以及垃圾郵件分類等等。此外,有許多理由表明在處理人類擅長的任務時,構建機器一個學習系統會更加簡單: 1.易於從人為標籤中獲取資料 2.基於人類直

機器學習訓練祕籍整理二十八到三十二章(四)學習曲線

第二十八章: 繪製學習曲線。隨著訓練集的增加,錯誤率逐漸的減少。  第二十九章: 繪製訓練誤差曲線。隨著訓練集大小的增加,開發集(和測試集)誤差應該會降低,但你的訓練集誤差往往會同時增加。  第三十章: 高偏差: 隨著我們新增更多的訓練

機器學習訓練祕籍整理二十到二十七章(三)

第二十章: 偏差和方差:誤差的兩大來源 你的貓識別器在開發集上的錯誤率是16%,訓練集上的錯誤率是15%。 偏差:在訓練集上的錯誤率。15% 方差:開發集上的表現比訓練集差多少。16%-15%=1% 總誤差  = 偏差+方差 = 16% 第二十一章: 通過偏差和

機器學習訓練祕籍整理十一到十九章(二)

第十一章: 如何修改開發集,測試集和度量指標 我們在開發一個新專案的時候,會盡快選好一個開發集和測試集。這樣可以幫助團隊制定一個明確的目標。 到後面我們會發現初始的開發集,測試集和度量指標設定與期待目標有一定的差距。這時候我們需要修改我們的開發集,測試集和度量指標。 在專案中改變開發

機器學習訓練祕籍整理一到十章(一)

第一到四章: 1.為什麼選用機器學習策略。機器學習是無數重要應用的基礎。 2.先修知識與符號標記。有監督學習的經驗。瞭解機器學習。 3.驅動機器學習發展的原因。資料的可用性和計算規模。 傳統演算法和神經網路演算法在資料集較小的情況下區別不大,但是隨著資料集的增加和網路層數的加深,效果

機器學習訓練祕籍整理五十三到五十五章(八)元件分析 更新中...

第五十三章: 根據元件進行誤差分析 假設你的系統由複雜的機器學習流水線所構建,並且你希望提高該系統的效能,那應該從流水線的哪一部分開始改進呢?你可以通過將誤差歸因於流水線的特定元件,來決定工作的優先順序。 在上圖的流水線中,第一部分是貓檢測器,它能夠檢測出貓,並將它

筆記機器學習—— 第十週

課程目錄第十週十七、大規模機器學習(Large Scale Machine Learning)17.1 大型資料集的學習17.2 隨機梯度下降法17.3 小批量梯度下降17.4 隨機梯度下降收斂17.5 線上學習17.6 對映化簡和資料並行十八、應用例項:圖片文字識別(App

深度學習,周志華,機器學習,西瓜書,TensorFlow,Google,軍,數學之美,李航,統計學習方法,,深度學習筆記,pdf下載

1. 機器學習入門經典,李航《統計學習方法》 2. 周志華的《機器學習》pdf 3.《數學之美》吳軍博士著pdf 4. Tensorflow 實戰Google深度學習框架.pdf 5.《TensorFlow實戰》黃文堅 高清完整PDF  6. 復旦大