1. 程式人生 > >吳恩達機器學習訓練祕籍整理三十六到四十三章(六)訓練資料

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

第三十六章:

何時在不同的分佈上訓練與測試。

使用者上傳的10000張圖片。網上收集的200000張圖片。使用者上傳的5000張用來做開發集和測試集。205000用來做訓練集。這樣可以讓他們的資料集的分佈儘可能的相同。

第三十七章:

現有100000張使用者上傳的圖片和200000張網路收集到的圖片。這兩種圖片的分佈是不一樣的。早期的學習演算法是不能將200000張圖片用來訓練的。但是基於深度學習的演算法則可以將這些圖片都傳到網路裡面進行訓練。因為你為網路提供了更多的貓的外貌特徵。

第三十八章:

如何決定是否新增不一致的資料?

假設你想要學習預測紐約市的房價。考慮房子的大小(輸入特徵 x),你需要預測價格(目的標籤 y)。紐約市的房價非常高。假設你在密歇根州的底特律有第二個住房價格資料集,就會發現那裡的房價要低得多。應該把這些資料包含在你的訓練集裡嗎?

這種情況下最好是把不一致的資料忽略掉。

第三十九章:

給資料加權重

假設你有 20 萬張來自網際網路的圖片,還有來自移動應用使用者的 5000 張照片。資料集的大小之間有一個 40:1 的比率。這時候你可以增大移動應用的圖片的權重來進行網路的訓練。只有當你懷疑這些額外的資料與開發/測試集分佈不一致,或者額外的資料規模比與相同分佈的開發/測試集資料規模大得多時,這種型別的權重加權才需要。

第四十章:

從訓練集泛化到開發集

資料不匹配問題:網路模型可以很好地泛化與訓練集相同分佈的未知資料上,但是不能很好地泛化到開發集上面。

第四十一章:

辨別偏差,方差和資料不匹配誤差

通過了解演算法最容易產生哪些型別的誤差,你將能夠更好地決定是否聚焦於減少偏差、減少方差或減少資料不匹配的技術。

假設在貓咪檢測任務中,人類獲得了近乎完美的效能(0%誤差),因此最優錯誤率大約為 0%。假設你有:

  • 1% 的訓練集誤差

  • 5% 的訓練開發集誤差

  • 5% 的開發集誤差

這表明了什麼?你知道你有很高的方差。先前章節描述的減少方差的技術應該能使你取得進展。

現在,假設你的演算法達到了:

  • 10% 的訓練集誤差

  • 11% 的訓練開發集誤差

  • 12% 的開發集誤差

這表明你在訓練集上有很高的可避免偏差。該演算法在訓練集上做得很差,偏差降低技術應該能有所幫助。

在上面的兩個例子中,該演算法只存在高可避免偏差或高方差。一個演算法有可能同時受到高可避免偏差、高方差和資料不匹配的子集的影響。例如:

  • 10% 的訓練集誤差

  • 11% 的訓練開發集誤差

  • 20% 的開發集誤差

該演算法存在高可避免偏差和資料不匹配問題。

第四十二章:

解決資料不匹配問題

I)嘗試理解資料屬性在訓練集和開發集分佈之間的差異。(ii)嘗試找到更多的訓練資料,以便更好地匹配你的演算法碰到的開發集樣本。

第四十三章:

人工合成數據

當你在合成數據時,請考慮一下你是否真的在合成一組具有代表性的樣本。