“如果我能獲得更多的訓(xùn)練數(shù)據(jù),我的模型精度就會大大提高”,“我們應(yīng)該通過API獲得更多的數(shù)據(jù)”,“源數(shù)據(jù)質(zhì)量太差,我們無法使用”。
這是很多工程師在模型表現(xiàn)不力時給出的一些解釋或者理由。
數(shù)據(jù)作為機器學(xué)習(xí)或分析項目的基礎(chǔ),雖然現(xiàn)在擁有的可用數(shù)據(jù)比之前要多,但是數(shù)據(jù)不足或者數(shù)據(jù)類型不匹配等問題并不少見。
然而如何知道這些問題是真正的問題點還是僅僅是借口呢?換句話說,如何發(fā)現(xiàn)數(shù)據(jù)是否是項目的限制因素?
那就需要,查找數(shù)據(jù)瓶頸!
一般來說,主要可以從以下三個方面來調(diào)整數(shù)據(jù):
-
深度:增加數(shù)據(jù)點的數(shù)量
-
廣度:增加數(shù)據(jù)源的多樣性
-
高質(zhì)量:整合混亂的數(shù)據(jù)!
一:從數(shù)據(jù)深度上下功夫
這種方式不需要改變數(shù)據(jù)結(jié)構(gòu),而是新增數(shù)據(jù)點。
你不能一直控制數(shù)據(jù)點(例如:你不能輕易地新增用戶),但是至少可以在某些方面一直控制這個點。
在下面這幾個不同的情況下,增加數(shù)據(jù)量是很有用的。
1、A/B測試或?qū)嶒?/p>
如果你正在運行一個實驗,需要足夠的數(shù)據(jù)點來實現(xiàn)結(jié)果統(tǒng)計的意義,而需要多少個數(shù)據(jù)點,還受到其他因素的影響,例如:誤差范圍、置信區(qū)間和分布的方差。對于要進行的每一個實驗,都有一個最小數(shù)據(jù)量閾值:如果已經(jīng)達(dá)到這個閾值,則可以繼續(xù)進行下一步,因為再增加數(shù)據(jù)點已經(jīng)起不到任何作用了。否則,數(shù)據(jù)將會成為實驗的瓶頸。下面這篇博文對此進行了很好的概述:
https://towardsdatascience.com/how-do-you-know-you-have-enough-training-data-ad9b1fd679ee
2、機器學(xué)習(xí)中的預(yù)測精度
如果你正在運行的是一個預(yù)測模型,預(yù)測精度會隨著數(shù)據(jù)量的增加而提高,但是這個精度會達(dá)到某個“飽和”點,如何去發(fā)現(xiàn)是否已經(jīng)達(dá)到這樣的一個點呢?你可以用不同數(shù)量的訓(xùn)練數(shù)據(jù)點來重新訓(xùn)練模型,然后根據(jù)數(shù)據(jù)量繪制預(yù)測精度。如果曲線沒有變平,則模型可能從額外增加的數(shù)據(jù)進一步受益。
來源:Kim 和 Park 在 researchgate 上發(fā)表的文章
https://www.researchgate.net/publication/228784109_A_Survey_of_Applications_of_Artificial_Intelligence_Algorithms_in_Eco-environmental_Modelling)
3、賦能深度學(xué)習(xí)
雖然傳統(tǒng)的機器學(xué)習(xí)模型可以在較小的數(shù)據(jù)量下運行,但是模型越復(fù)雜,它需要的數(shù)據(jù)量就越多,到最后,如果沒有大量的數(shù)據(jù)作為支撐,深度學(xué)習(xí)模型就無法運行。對機器學(xué)習(xí)模型來說,大數(shù)據(jù)是一種需求,而不是提高性能的好方法。
4、分析和思路
即使你沒有將數(shù)據(jù)用于預(yù)測,但是想要豐富報告或者進行一次分析來證實你的決策,數(shù)據(jù)量仍然有可能會成為預(yù)測的瓶頸。不過如果你的數(shù)據(jù)具備許多異構(gòu)性,并且你還能夠從不同的粒度層級上對其進行分析,增加數(shù)據(jù)量便是正確的做法。例如你有一個龐大的銷售隊伍,銷售的產(chǎn)品范圍非常寬泛,每一個銷售人員可能只銷售產(chǎn)品中的一個子集。如果你想比較他們在銷售某一特定產(chǎn)品方面的能力,可能就無從比較了。
二:從數(shù)據(jù)廣度上下功夫
數(shù)據(jù)的多樣性是關(guān)鍵,但就經(jīng)驗而言,這方面的數(shù)據(jù)也常常被高估。
我之前有一份工作:便是在一家初創(chuàng)公司用機器學(xué)習(xí)做房價預(yù)測。我們的戰(zhàn)略優(yōu)勢是擁有各種各樣的數(shù)據(jù),因此可以整合所有可能的數(shù)據(jù)資源,以幫助對房地產(chǎn)進行預(yù)測。
而提高模型的預(yù)測能力的關(guān)鍵,就在于確定要獲取哪些數(shù)據(jù)資源。
如何評估獲取新數(shù)據(jù)的成本與收益?
我們需要從兩個關(guān)鍵點對新數(shù)據(jù)的收益進行評估:新數(shù)據(jù)與我們試圖預(yù)測的目標(biāo)變量的相關(guān)性是什么(希望盡可能高),新數(shù)據(jù)與已有數(shù)據(jù)的相關(guān)性是什么(希望盡可能少)。但是,這并不容易定量分析,但是一些定性的判斷可以幫助我們篩選出最合適我們的新數(shù)據(jù)。
評估新數(shù)據(jù)的成本可以看作是擁有數(shù)據(jù)的總成本。有時,購買數(shù)據(jù)或支付API會產(chǎn)生實際成本,但這只是其中的一部分。往往如下這些因素才是最需要考慮的:
-
一次性獲取 vs 反復(fù)獲取
-
數(shù)據(jù)轉(zhuǎn)換和存儲的復(fù)雜性
-
數(shù)據(jù)質(zhì)量和數(shù)據(jù)清理的需求
-
數(shù)據(jù)處理和解析
三:提高數(shù)據(jù)質(zhì)量
哈佛大學(xué)教授Xiao-Li Meng曾做過一個非常鼓舞人心的演講,他提到:“數(shù)據(jù)質(zhì)量遠(yuǎn)比數(shù)據(jù)數(shù)量重要”。
這個演講的美妙之處在于,他能夠用數(shù)學(xué)方法量化這句話,觀察數(shù)據(jù)質(zhì)量或數(shù)量的統(tǒng)計度量。
觀看演講地址:
https://www.youtube.com/watch?v=8YLdIDOMEZs
我的商業(yè)經(jīng)驗也反映了這一點:通常情況下,公司往往在獲取或合并更多的數(shù)據(jù)前,并沒有先分析當(dāng)前現(xiàn)有數(shù)據(jù)是否已足夠。
數(shù)據(jù)質(zhì)量經(jīng)常是一個問題,而且還是一個大問題。這個問題可能是由于手工輸入錯誤、原始數(shù)據(jù)的不準(zhǔn)確性、聚合或處理層中的問題、某段時間內(nèi)數(shù)據(jù)丟失等原因造成的。
提高數(shù)據(jù)質(zhì)量,是一個需要花費大量時間并且很無趣的工作,但是它也可以給我們帶來最有益的的結(jié)果。
四:總結(jié)
如果模型表現(xiàn)不佳確實存在數(shù)據(jù)瓶頸,那就試著找出瓶頸在哪里。總而言之,可以從這三個方面入手:
第一,數(shù)據(jù)量的問題往往可以通過簡單的統(tǒng)計顯著性或準(zhǔn)確性曲線來檢驗識別。如果這不是問題所在,那就繼續(xù)進行下一步。
第二,根據(jù)我的經(jīng)驗,我們所擁有的數(shù)據(jù)的多樣性往往被夸大,這并不是因為新數(shù)據(jù)沒有用處,而是因為新數(shù)據(jù)資源可能已經(jīng)包含了以某種方式捕獲的信息,特別是在已經(jīng)有了一個相對豐富的數(shù)據(jù)集的情況下。
第三,數(shù)據(jù)質(zhì)量是關(guān)鍵,關(guān)注更小、更干凈的數(shù)據(jù)集比關(guān)注更大、更混亂的數(shù)據(jù)集要好得多。