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