許多開展人工智能項目的公司都具有出色的業務理念,但是當企業AI團隊發現自己沒有足夠多的數據時,就會慢慢變得十分沮喪......不過,這個問題的解決方案還是有的。 本文將簡要介紹其中一些經筆者實踐證明確實有效的辦法。
數據稀缺的問題非常重要,因為數據是任何AI項目的核心,數據集的大小往往是影響項目表現優劣的一個重要因素。大多數情況下,與數據相關的問題,往往都是無法做出優秀人工智能項目的主要原因。
有監督的機器學習模型正廣泛用于應對各種業務挑戰。但是這些模型需要大量數據,其性能也在很大程度上取決于訓練數據的多少。但是在許多情況下,AI團隊很難創建足夠大的訓練數據集。
同時還有另一個問題,那就是項目分析師可能會低估處理常見業務問題所需的數據量。在為大公司工作時,收集數據會更加復雜。
我需要多少數據?
在許多情況下,你需要大約10倍的數據,因為模型中有自由度。模型越復雜,就越容易過度擬合,但可以通過模型校驗來避免。 不過,根據用例的實際情況,所需的數據可以適當減少。
還有必要討論一下的是,如何處理缺失值的問題。特別是如果數據中缺失值的數量足夠大(超過5%)。
值得一提的是,處理缺失值依賴某些既定的“成功”標準。此外,這些標準對于不同的數據集甚至對于不同的應用也是不同的,例如識別、分割、預測和分類(給定相同的數據集)。
選擇什么樣的解決方案取決于問題的類型——如時間序列分析,ML,回歸等。
涉及到預測技術時,只有當缺失值不是完全隨機觀察到的時候才應該進行使用,并且需要選擇變量來估算這些缺失值與它有某種關系,否則可能產生不精確的估計。
一般來說,可以使用不同的機器學習算法來確定缺失值。可以將缺少的特征轉換為標簽本身,然后再使用沒有缺失值的列來預測具有缺失值的列。
根據筆者的經驗,如果你決定構建一個基于AI的解決方案,那么在某些時候你將面臨缺乏數據或缺少數據的問題, 但幸運的是,有很多方法可以將這個“負”變為“正”。
缺少數據?
如上所述,不可能精確估計AI項目所需的最小數據量,項目本身將顯著影響你需要的數據量的多少。例如,文本、圖像和視頻通常需要更多數據。但是,為了做出準確的估計,還應考慮許多其他因素。
要預測的類別數量
模型的預期輸出是什么?基本上來說,數量或類別越少越好。
模型性能
如果你計劃將項目投入生產,則需要更多。 一個小數據集,美國服務器,用于概念驗證可能足夠了,但在生產中,你需要更多數據。
一般來說,小型數據集需要低復雜度(或高偏差)的模型,以避免模型對數據的過度擬合。
非技術解決方案
在探究技術解決方案之前,讓我們分析一下可以通過哪些方法來增強數據集。這可能是一句廢話,但在開始AI項目之前,需要通過開發外部和內部工具盡可能多地收集數據。如果你知道機器學習算法預期要執行的任務,那就可以提前創建數據收集機制。
另外在啟動ML項目時,你也可以借助開源數據。網絡上有很多可用于ML的數據,其所屬公司已經準備好將其棄用。
如果你需要項目的外部數據,與其他組織建立合作伙伴關系以獲取相關數據的辦法可能會有用。形成合作關系顯然會花費你一些時間,但獲得的專有數據將為你提供天然的競爭力。
構建一個有用的應用程序,別管這個應用,只用數據
筆者在之前的項目中使用的另一種方法是向客戶提供對云應用程序的訪問權限,進入應用的數據可用于構建機器學習模型。筆者以前的客戶為醫院建立了一個應用程序并供其免費使用。我們收集了大量數據,并設法為我們的ML解決方案創建了一個獨特的數據集。
小數據集
根據筆者的經驗,使用小數據集構建預測模型的一些常用方法有:
通常,機器學習算法越簡單,就越能從小數據集中學習。從ML的角度來看,小數據需要具有低復雜度(或高偏差)的模型,以避免將模型過度擬合到數據。樸素貝葉斯算法是最簡單的分類器之一,因此從相對較小的數據集中學習得非常好。