小數據處理的 7 個技巧
- 2019 年 10 月 6 日
- 筆記
本文作者是 Kanda 的機器學習工程師 Daniel Rothmann,他在和客戶合作的過程中總結出的小數據處理方法。
01
認識到你的模型不能很好地泛化
這應該是第一步。確保你的經理或客戶理解這一點。這樣,每個人都可以根據你的模型應該提供的結果,調整實際期望。它還創造了一個機會來提出一個新的有用的關鍵指標,以量化原型範圍內外的模型性能。
02
.建立良好的數據基礎架構
在許多情況下,客戶機沒有你需要的數據,公共數據也不合適。如果原型的一部分需要收集和標記新數據,請確保基礎架構,儘可能減少摩擦。
你要確保數據標籤對技術和非技術人員來說都是非常容易的。我們已經開始使用 Prodigy,既可訪問又可擴展。

03
做一些數據擴充
通常可以通過增加所擁有的數據來擴展數據集。但這只是對數據進行細微更改,它不應顯著地改變模型的輸出。
04
生成一些合成數據
如果你已經用盡了增加真實數據的方法,你可以開始考慮創建一些假數據。生成合成數據也是一種很好的方法,它可以用來覆蓋一些實際數據集中不會出現的邊緣情況。
05
小心「幸運的分割」
在訓練機器學習模型時,通常將數據集按一定比例隨機分割成訓練集和測試集。通常情況下,這很好。但是,在處理小數據集時,由於訓練示例數量較少,因此噪音風險較高。
在這種情況下,你可能會意外地得到一個幸運的分割:一個特定的數據集分割,在這個分割中,你的模型將很好地執行並在測試集中效果很好。然而,在現實中,這可能僅僅是因為測試集中沒有困難的例子(巧合)。

06
使用遷移學習
如果你使用的是某種標準化的數據格式,如文本、影像、影片或聲音,那麼你可以使用其他人在這些域中用遷移學習所做的所有先前工作。
遷移學習之所以有效,是因為大多數與語言、影像或聲音有關的任務都具有許多共同的特徵。例如,對於電腦視覺來說,它可能是檢測某些類型的形狀、顏色或圖案。
07
試一試「weak learners」
有時候,你只需要面對這樣一個事實:你沒有足夠的數據去做任何想做的事情。
當數據集較小,數據點維數較高時,支援向量機等演算法是一種很好的選擇。
不幸的是,這些演算法並不總是像最先進的方法那樣精確。這就是他們之所以被稱為「weak learners」的原因,至少與高度參數化的神經網路相比是如此。
提高性能的一種方法是將這些「weak learners」(這可能是一組支援向量機或決策樹)組合在一起,以便它們「協同工作」生成預測。
原文:
https://www.toutiao.com/i6734879609373852168/
