機(jī)器學(xué)習(xí)中更多的數(shù)據(jù)比更好的算法好?沒(méi)有合理的方法數(shù)據(jù)會(huì)成為噪音
在機(jī)器學(xué)習(xí)中,更多的數(shù)據(jù)總是比更好的算法好嗎?對(duì)于Quora上的這個(gè)問(wèn)題,Netflix公司工程總監(jiān)Xavier Amatriain認(rèn)為,很多時(shí)候增加更多的樣本到訓(xùn)練集并不會(huì)提高模型的性能,而如果沒(méi)有合理的方法,數(shù)據(jù)就會(huì)成為噪音。他通過(guò)Netflix的實(shí)踐經(jīng)驗(yàn)推導(dǎo)出最終的結(jié)論:我們需要的是好的方法,來(lái)幫助我們理解如何解釋數(shù)據(jù),模型,以及兩者的局限性,這都是為了得到最好的輸出。
在機(jī)器學(xué)習(xí)中,更多的數(shù)據(jù)總是比更好的算法好嗎?
不是這樣的。有時(shí)候更多的數(shù)據(jù)有用,有時(shí)它的作用不大。
為數(shù)據(jù)的力量辯護(hù),也許最著名的是谷歌的研發(fā)總監(jiān)Peter Norvig,他聲稱“我們沒(méi)有更好的算法。我們僅僅擁有更多的數(shù)據(jù)”。這句話通常是鏈接到文章《The Unreasonable EffecTIveness of Data》,這篇文章也是Norvig自己寫的(雖然它的來(lái)源被放在IEEE收費(fèi)專區(qū),不過(guò)你應(yīng)該能夠在網(wǎng)上找到pdf格式的原文檔)。更好的模型蓋棺定論是Norvig的語(yǔ)錄“所有模型都是錯(cuò)的,無(wú)論如何你都不會(huì)需要他們的”被錯(cuò)誤地引用之時(shí)(點(diǎn)擊這里查看作者澄清他是如何被錯(cuò)誤引用的)。
Norvig等人的作用是指在他們的文章中,他們的觀點(diǎn)早在幾年前被微軟研究人員Banko和Brill在一篇著名的論文[2001]《Scaling to Very Very Large Corpora for Natural Language DisambiguaTIon》中引用。在這篇論文中,作者給出了下圖。
該圖表明,對(duì)于給定的問(wèn)題,迥然不同的算法執(zhí)行結(jié)果幾乎是一樣的。然而,添加更多的樣本(單詞)到訓(xùn)練集里面,可以單調(diào)增加模型的精度。
因此,在封閉的情況下,你可能會(huì)認(rèn)為算法更重要。嗯…沒(méi)有這么快。事實(shí)是,Norvig的斷言以及Banko和Brill的論文都是正確的…在一個(gè)環(huán)境中。但是,他們現(xiàn)在再次被錯(cuò)誤地引用到一些環(huán)境中,而這些環(huán)境與最初的環(huán)境是完全不同的。但是,為了搞明白為什么,我們需要了解一些技術(shù)。(我不打算在這篇文章中給出一個(gè)完整的機(jī)器學(xué)習(xí)教程。如果你不明白我下面將要做出的解釋,請(qǐng)閱讀我對(duì)《How do I learn machine learning?》的回答?
方差還是偏差?
基本的想法是,一個(gè)模型的可能表現(xiàn)不好存在兩種可能的(而且是幾乎相反的)原因。
在第一種情況下,對(duì)于我們擁有的數(shù)據(jù)量來(lái)說(shuō),我們所用的模型太復(fù)雜了。這是一種以高方差著稱的情形,其可以導(dǎo)致模型過(guò)擬合。我們知道,當(dāng)訓(xùn)練誤差遠(yuǎn)低于測(cè)試誤差時(shí),我們正面臨著一個(gè)高方差問(wèn)題。高方差問(wèn)題可以通過(guò)減少特征數(shù)量加以解決,是的,還有一種方法是通過(guò)增加數(shù)據(jù)點(diǎn)的數(shù)量。所以,什么樣的模型是Banko &Brill的觀點(diǎn)和Norvig的斷言可以處理的?是的,回答正確:高方差。在這兩種情況下,作者致力于語(yǔ)言模型,其中詞匯表中的大約每一個(gè)詞都具有特征。與訓(xùn)練樣本相比,這有一些模型,它們具有許多特征。因此他們很有可能過(guò)擬合。是的,在這種情況下,添加更多的樣本將帶來(lái)很多幫助。
但是,在相反的情況下,我們可能有一個(gè)模型,它太簡(jiǎn)單了以至于無(wú)法解釋我們擁有的數(shù)據(jù)。在這種情況下,以高偏差著稱,添加更多的數(shù)據(jù)不會(huì)帶來(lái)幫助。參見下面一個(gè)真實(shí)的在Netflix運(yùn)行的系統(tǒng)的一個(gè)制表以及它的性能,同時(shí)我們添加更多的訓(xùn)練樣本到里面去。
所以,更多的數(shù)據(jù)并不總是有幫助的。正如我們剛剛看到的,在許多情況下,增加更多的樣本到我們的訓(xùn)練集并不會(huì)提高模型的性能。
多特征救援
如果你一直跟著我的節(jié)奏,到目前為止,你已經(jīng)完成了理解高方差和高偏差問(wèn)題的功課。你可能會(huì)認(rèn)為我故意留下了一些東西要討論。是的,高偏差模型將不會(huì)受益于更多的訓(xùn)練樣本,但是他們很可能受益于更多的特征。所以,到底這是不是都是關(guān)于增加“更多”數(shù)據(jù)的?好吧,再?gòu)?qiáng)調(diào)一次,這得視情況而定。
例如,在Netflix Prize的早期,有一個(gè)以評(píng)論額外特征的使用來(lái)解決問(wèn)題的博客文章,它是由企業(yè)家和斯坦福大學(xué)教授Anand Rajaraman建立的。這個(gè)帖子解釋了一個(gè)學(xué)生團(tuán)隊(duì)如何通過(guò)從IMDB添加內(nèi)容特征來(lái)改善預(yù)測(cè)精度特性。
現(xiàn)在回想起來(lái),很容易在批評(píng)后作出針對(duì)一個(gè)單一數(shù)據(jù)點(diǎn)的粗俗的過(guò)度泛化。更有甚者,后續(xù)文章提及SVD是一個(gè)“復(fù)雜”的算法,不值得一試,因?yàn)樗拗屏藬U(kuò)大更多的特征的能力。顯然,Anand的學(xué)生沒(méi)有贏得Netflix Prize,而且他們現(xiàn)在可能意識(shí)到SVD在獲獎(jiǎng)作品中發(fā)揮著重要的作用。
事實(shí)上,許多團(tuán)隊(duì)后來(lái)顯示,添加來(lái)自IMDB的內(nèi)容特征等等到一個(gè)優(yōu)化算法上幾乎沒(méi)有改善。Gravity team的一些成員,他們是Netflix Prize的最優(yōu)秀的競(jìng)爭(zhēng)者之一,發(fā)表了一篇詳細(xì)的論文,展示了將這些基于內(nèi)容的特征添加到高度優(yōu)化的協(xié)同過(guò)濾矩陣分解的方法沒(méi)有任何改善。這篇論文題為“Recommending New Movies: Even a Few RaTIngs Are More Valuable Than Metadata”。
為了公平起見,論文的標(biāo)題也是一個(gè)過(guò)度泛化?;趦?nèi)容的特征(或一般的不同特征)在許多情況下可以提高精確度。但是,你明白我的意思:更多的數(shù)據(jù)并不總是有幫助的。
更好的數(shù)據(jù)!=更多的數(shù)據(jù)
在我看來(lái),重要的是要指出,更好的數(shù)據(jù)始終更好。對(duì)此沒(méi)有反對(duì)意見。所以任何你能夠直接針對(duì)你的數(shù)據(jù)進(jìn)行“改善”的努力始終是一項(xiàng)很好的投資。問(wèn)題是,更好的數(shù)據(jù)并不意味著更多的數(shù)據(jù)。事實(shí)上,有時(shí)這可能意味著少!
想想數(shù)據(jù)清理或異常值去除,就當(dāng)是我的觀點(diǎn)一個(gè)微不足道的說(shuō)明。但是,還有許多其他的更微妙的例子。例如,我已經(jīng)看到人們投入大量的精力到Matrix FactorizaTIon,而真相是,他們可能通過(guò)采樣數(shù)據(jù)以及得到非常相似的結(jié)果獲得認(rèn)可。事實(shí)上,做某種形式的智能人口抽樣的正確的方式(例如使用分層抽樣)可以讓你得到比使用整個(gè)未過(guò)濾得的數(shù)據(jù)集更好的結(jié)果。
科學(xué)方法的終結(jié)?
當(dāng)然,每當(dāng)有一個(gè)關(guān)于可能的范式的變化激烈的爭(zhēng)論,就會(huì)有像Malcolm Gladwell 和 Chris Anderson這樣的人以此謀生甚至未曾認(rèn)真思考(不要誤會(huì)我的意思,我是他們倆的粉絲,我讀過(guò)他們的很多書)。在這種情況下,Anderson挑選了Norvig的一些評(píng)論,并錯(cuò)誤地在一篇文章中引用,該文章的標(biāo)題為:“The End of Theory: The Data Deluge Makes the Scientific Method Obsolete”。
這篇文章闡述了幾個(gè)例子,它們講的是豐富的數(shù)據(jù)如何幫助人們和企業(yè)決策甚至無(wú)需理解數(shù)據(jù)本身的含義。正如Norvig在他的辯駁中自己指出的問(wèn)題,Anderson有幾個(gè)觀點(diǎn)是正確的,但是很難實(shí)現(xiàn)。而且結(jié)果是一組虛假陳述,從標(biāo)題開始:海量數(shù)據(jù)并未淘汰科學(xué)方法。我認(rèn)為這恰恰相反。
數(shù)據(jù)沒(méi)有合理的方法=噪音
所以,我是在試圖制造大數(shù)據(jù)革命只是炒作的言論嗎?不可能。有更多的數(shù)據(jù),無(wú)論是更多的例子樣本或更多的特征,都是一種幸事。數(shù)據(jù)的可用性使得更多更好的見解和應(yīng)用程序成為可能。更多的數(shù)據(jù)的確帶來(lái)了更好的方法。更重要的是,它需要更好的方法。
綜上所述,我們應(yīng)該不理會(huì)過(guò)分簡(jiǎn)單的意見,它們所宣揚(yáng)的是理論或者模型的無(wú)用性,或者數(shù)據(jù)在其他方面的成功的可能性。盡可能多的數(shù)據(jù)是必要的,所以就需要好的模型和理論來(lái)解釋它們。但是,總的來(lái)說(shuō),我們需要的是好的方法,來(lái)幫助我們理解如何解釋數(shù)據(jù),模型,以及兩者的局限性,這都是為了得到最好的輸出。
換句話說(shuō),數(shù)據(jù)固然重要,但若沒(méi)有一個(gè)合理的的方法,數(shù)據(jù)將會(huì)成為噪音。