機器學習-4
本文來自於網易雲課堂
在不同的劃分上進行訓練和測試
深度學習演算法對訓練資料的胃口很大,當你收集到足夠多的資料集並構成訓練集時演算法效果最好。這導致很多團隊用盡一切辦法收集資料然後把他們堆到訓練集裡,讓訓練的資料量更大,即使有些資料都來自和開發集測試集不同的分佈。所以在深度學習時代,越來越多的團隊,都用來自和開發集和測試集分佈不同的資料來訓練。這裡有一些微妙的地方,一些最佳做法,來處理訓練集和測試集存在差異的情況。
假如你要開發一個識別貓的app,你的資料來源有兩個。一個是使用者上傳的圖片,這些圖片可能很業餘,甚至很模糊。另一個是通過爬蟲網路得到很多取景專業,高解析度,拍攝專業的圖片。前期你的使用者量很少,可能使用者的圖片很少,不到1萬張。而通過網路爬蟲,也許你從網際網路上下載了超過20萬張貓圖。你真正關心的演算法表現是你的最終系統處理來自應用程式的這個圖片分佈時效果好不好。
現在你進入了兩難的境地。一個是來自使用者的小的資料集,它是一種分佈,而另一個是大得多的資料集,來自另一個分佈,圖片的外觀和你真正想要處理的並不一樣。那麼你該怎麼做呢?
這裡有一種選擇,你可以將兩種資料組合在一起,這樣你就有了21萬張圖片,然後將這21萬張圖片隨機分配到訓練、開發和測試集中。這麼做有一些好處,你的訓練集、開發集和測試集都來自同一分佈,這樣更好管理。但壞處在於,而且壞處還不小,就是如果你觀察開發集,看看這2500個樣本,裡面很多都是網頁上的圖片,並不是你真正關心的圖片,你真正要處理的是來自手機的圖片。根據分佈,2500個樣本中真正來自於使用者的期望只有119。設立開發集的目標是瞄準你的目的,而採用這種方式很大程度都在優化網路圖片,這並不是你想要的。所以,這一個選項不推薦考慮。
第二個選項還是205000張圖片,5000張來自於。但是開發集和測試集都是2500張使用者圖片。這樣將資料分成訓練集、開發集和測試集的好處在於現在你瞄準的目標就是你想要處理的目標。缺點在於分佈不一樣。但事實證明這樣劃分在長期能給你帶來更好的系統效能。
不同匹配資料劃分的偏差和方差
分析方差和偏差會讓你確定一個方向,但當資料分佈不同時,分析偏差和方差的方式可能不一樣。
同樣以貓分類問題舉例子,對於同一分佈,訓練集誤差為1%而開發集誤差為10%,那麼你會說存在很大的方差問題。但是如果是不同分佈,這個結論就不能輕易的下了。特別是,也許演算法在開發集上做的不錯,可能是因為訓練集很容易識別,因為訓練集都是高解析度圖片,但開發集難識別的多。所以也許模型並沒有方差問題,這只不過反映了開發集包含更難準確分類的圖片。所以這個分析的問題在於,當你看訓練誤差,再看開發誤差,有兩件事變了。首先演算法只見過訓練集資料,沒見過開發集資料。第二,開發集資料來自不同的分佈,而且因為你同時改變了兩件事情,很難確認這增加的9%誤差,有多少是因為演算法沒看到開發集中的資料導致的,這是問題方差的部分。以及有多少是因為開發集資料就是不一樣導致的。為了弄清楚哪個因素影響更大,定義一組新的資料是有意義的,我們稱之為訓練-開發集,這是一個新的資料子集。這個資料集來自於訓練集,與訓練集同一分佈,但是不參與到訓練中。
從上圖可以看到,第一種就是屬於方差問題,第二種屬於資料不匹配的問題。因為貝葉斯誤差基本為0,所以第三種是存在偏差問題了。而第四個例子不僅有偏差還有方差問題。
你突然發現在開發集上和測試集上表現良好。如果你發現這種現象,這說明訓練集資料其實比你的開發集和測試集難識別的多,才導致了誤差 下降。
這裡以後視鏡語音識別的例子介紹一下更普適的分析。事實證明,我們可以將這些誤差放到一張表中。水平軸上放入不同的資料集,
第一項可能是來自小型智慧音響的語音識別問題的資料。第二項是收集的和後視鏡(rear view)有關的語音資料。
定位資料不匹配
如果你的訓練集來自和開發測試集不同的分佈,如果誤差分析顯示你有一個資料不匹配的問題,該怎麼辦?這個問題沒有完全系統的解決方案,但我們可以嘗試一些東西。
相關文章
- 機器學習作業4機器學習
- 從零開始機器學習--4機器學習
- 機器學習4-分類演算法2機器學習演算法
- 谷歌機器學習課程筆記(4)——降低損失谷歌機器學習筆記
- 【卷積神經網路學習】(4)機器學習卷積神經網路機器學習
- 機器學習導圖系列(4):演算法(含61公式)機器學習演算法公式
- 機器學習 第4篇:sklearn 最鄰近演算法概述機器學習演算法
- 機器學習筆記(4):多類邏輯迴歸-使用gluton機器學習筆記邏輯迴歸
- 機器學習實戰-邊學邊讀python程式碼(4)機器學習Python
- 機器學習—降維-特徵選擇6-4(PCA-Kernel方法)機器學習特徵PCA
- 面向機器智慧的TensorFlow實戰4:機器學習基礎機器學習
- 機器學習演算法筆記之4:貝葉斯分類器機器學習演算法筆記
- 機器學習 第4篇:資料預處理(sklearn 插補缺失值)機器學習
- 李宏毅2022機器學習HW4 Speaker Identification下機器學習IDE
- 【機器學習】機器學習簡介機器學習
- 機器學習之機器學習概念機器學習
- 4月機器學習熱文出爐,這10篇文章你讀了嗎?機器學習
- (一) 機器學習和機器學習介紹機器學習
- 大型機器學習【Coursera 史丹佛 機器學習】機器學習
- 【機器學習】李宏毅——機器學習任務攻略機器學習
- 林軒田機器學習基石課程學習筆記4 — Feasibility of Learning機器學習筆記
- 機器學習4-模型的誤差來源以及減少誤差的方法機器學習模型
- 《機器學習實戰》程式清單3-4 建立樹的函式程式碼機器學習函式
- 機器學習實戰ByMatlab(4):二分K-means演算法機器學習Matlab演算法
- 機器學習(——)機器學習
- 機器學習機器學習
- 機器學習(十四) 機器學習比賽網站機器學習網站
- 【機器學習】機器學習面試乾貨精講機器學習面試
- 【機器學習】--Python機器學習庫之Numpy機器學習Python
- 機器學習入門_從機器學習談起機器學習
- 周志華《機器學習》課後習題解答系列(五):Ch4 - 決策樹機器學習
- 《機器學習:演算法原理和程式設計實踐》4:推薦系統原理機器學習演算法程式設計
- 【機器學習】李宏毅——機器學習基本概念簡介機器學習
- 機器學習總結 (機器學習實踐筆記)機器學習筆記
- 何謂機器學習 機器學習能做些什麼?機器學習
- 機器學習:crf機器學習CRF
- 機器學習-1機器學習
- 機器學習-2機器學習