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