小數據處理的 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/