摘要:機(jī)器學(xué)習(xí)初學(xué)者最常犯的錯(cuò)誤是測試訓(xùn)練數(shù)據(jù),并有成功的幻覺。機(jī)器學(xué)習(xí)中的每個(gè)人都知道過度擬合,但它有很多形式,并不是很明顯。事實(shí)上,理論與實(shí)踐的密切相互作用是機(jī)器學(xué)習(xí)多年來取得如此巨大進(jìn)步的主要原因之一。
摘要: 這是機(jī)器學(xué)習(xí)研究人員和從業(yè)人員所學(xué)到的12個(gè)關(guān)鍵經(jīng)驗(yàn)教訓(xùn)的總結(jié),包括避免陷阱,重點(diǎn)問題以及常見問題的答案。
機(jī)器學(xué)習(xí)算法可以通過從數(shù)據(jù)中歸納出如何執(zhí)行類似任務(wù)的方法。在手動(dòng)編程不適用的情況下,這通常是可行的并且非常劃算。隨著更多數(shù)據(jù)的可用,越來越多的問題可以得到解決。因此,機(jī)器學(xué)習(xí)正在被廣泛應(yīng)用于計(jì)算機(jī)等領(lǐng)域。然而,開發(fā)一個(gè)成功的機(jī)器學(xué)習(xí)應(yīng)用程序需要大量難以在教科書中找到的“黑色藝術(shù)(black art)”。
我最近讀了華盛頓大學(xué)Pedro Domingos教授的一篇技術(shù)論文,題為“機(jī)器學(xué)習(xí)的一些有用的知識(shí)”,它總結(jié)了機(jī)器學(xué)習(xí)研究人員和從業(yè)人員需要記住的12個(gè)關(guān)鍵經(jīng)驗(yàn)教訓(xùn),包括避免陷阱(pitfalls to avoid)、重點(diǎn)問題以及常見問題的答案。我想在本文中分享這些經(jīng)驗(yàn)教訓(xùn),因?yàn)樵诳紤]解決一個(gè)機(jī)器學(xué)習(xí)問題時(shí),它們是非常有用。
1:學(xué)習(xí)=表征(Representation)+評估+優(yōu)化所有機(jī)器學(xué)習(xí)算法通常由以下3個(gè)組件組成:
表征(Representation):分類器必須用計(jì)算機(jī)可以處理的一些語言來表示。相反,為學(xué)習(xí)者選擇一種表示方式等于選擇它可能學(xué)習(xí)的一組分類器。這個(gè)集合稱為學(xué)習(xí)者的假設(shè)空間。如果分類器不在假設(shè)空間中,則無法學(xué)習(xí)。一個(gè)相關(guān)的問題是如何表示輸入,即使用哪些功能。
評估:需要一個(gè)評估函數(shù)來區(qū)分分類器的好壞。算法內(nèi)部使用的評估函數(shù)可能不同于我們希望分類器優(yōu)化的外部評估函數(shù)。
優(yōu)化:最后,我們需要一種方法在語言中的分類器中搜索得分最高的分類器。優(yōu)化技術(shù)的選擇對于學(xué)習(xí)者的效率至關(guān)重要,并且還有助于確定評估函數(shù)具有多于一個(gè)最佳值時(shí)產(chǎn)生的分類器。新學(xué)習(xí)者開始使用現(xiàn)成的優(yōu)化器(后來由定制設(shè)計(jì)替代)是很常見的。
2:機(jī)器學(xué)習(xí)要以預(yù)測訓(xùn)練集之外的數(shù)據(jù)為目的(It’s Generalization that Counts)機(jī)器學(xué)習(xí)的基本目標(biāo)是推廣超出了訓(xùn)練集中的例子。這是因?yàn)?,無論我們有多少數(shù)據(jù),我們都不太可能在測試時(shí)再次看到這些確切的示例。訓(xùn)練集是很容易制作的。機(jī)器學(xué)習(xí)初學(xué)者最常犯的錯(cuò)誤是測試訓(xùn)練數(shù)據(jù),并有成功的幻覺。如果選擇的分類器在隨后的新數(shù)據(jù)上進(jìn)行測試,那么通常不會(huì)比隨機(jī)猜測更好。因此,如果聘請某人構(gòu)建機(jī)器學(xué)習(xí)模型,請務(wù)必保留一些數(shù)據(jù)給自己,并測試他們提供的分類器。相反,如果被聘為構(gòu)建機(jī)器學(xué)習(xí)模型,請將其中的一些數(shù)據(jù)設(shè)置為一開始,并僅在最后測試選擇的分類器,然后在整個(gè)數(shù)據(jù)中訓(xùn)練處最好的模型。
3:沒有足夠的數(shù)據(jù)這似乎是一個(gè)令人沮喪的消息。幸運(yùn)的是,我們想要從現(xiàn)實(shí)世界中學(xué)習(xí)的模型并不是完全要遵循數(shù)學(xué)的精準(zhǔn)性!事實(shí)上,非常普遍的假設(shè):如平滑性、類似的例子、有限的依賴性或有限的復(fù)雜性,通常足以做得很好,這是機(jī)器學(xué)習(xí)如此成功的很大一部分原因。就像演繹一樣,歸納(學(xué)習(xí)者所做的)就是知識(shí)杠桿:它將少量的輸入知識(shí)轉(zhuǎn)化為大量的輸出知識(shí)。歸納法是一種比演繹更加強(qiáng)大的杠桿,需要更少的輸入知識(shí)來產(chǎn)生有用的結(jié)果,但它仍然需要輸入知識(shí)才能工作。而且,就像任何杠桿一樣,我們投入的越多,收獲的也就越多。
現(xiàn)在想想,學(xué)習(xí)知識(shí)的所需的數(shù)據(jù)不應(yīng)該令人驚訝。機(jī)器學(xué)習(xí)不是魔術(shù),它無法從無到有。它現(xiàn)在所做的是從更少獲得更多。像所有工程一樣,編程有很多工作:我們必須從頭開始構(gòu)建所有的東西。學(xué)習(xí)更像是農(nóng)業(yè),讓大自然完成大部分的工作。農(nóng)民將種子與營養(yǎng)物質(zhì)結(jié)合起來種植作物,類似訓(xùn)練者將知識(shí)與數(shù)據(jù)結(jié)合起來發(fā)展項(xiàng)目。
4:過度擬合有很多處理方式如果我們擁有的知識(shí)和數(shù)據(jù)不足以完全確定正確的分類器,該怎么辦?我們冒著對分類器(或其中的一部分)產(chǎn)生幻覺的風(fēng)險(xiǎn),這些分類器沒有基于現(xiàn)實(shí),并且只是編碼數(shù)據(jù)中的隨機(jī)怪癖,這個(gè)問題被稱為過度擬合,是機(jī)器學(xué)習(xí)的怪癥。當(dāng)學(xué)習(xí)者輸出的分類器對訓(xùn)練數(shù)據(jù)100%準(zhǔn)確,但對測試數(shù)據(jù)的準(zhǔn)確率只有50%時(shí),實(shí)際上它已經(jīng)是過度擬合了。
機(jī)器學(xué)習(xí)中的每個(gè)人都知道過度擬合,但它有很多形式,并不是很明顯。了解過度擬合的一種方法是將泛化誤差分解為偏差和方差。偏差是學(xué)習(xí)者傾向于始終學(xué)習(xí)相同的錯(cuò)誤。無論真實(shí)信號如何,方差都傾向于學(xué)習(xí)隨機(jī)事物。線性學(xué)習(xí)者通常有很高的偏差,因?yàn)楫?dāng)兩個(gè)類之間的邊界不是超平面時(shí),學(xué)習(xí)者無法處理它。決策樹不存在這個(gè)問題,因?yàn)樗鼈兛梢员硎救魏尾紶柡瘮?shù),但是另一方面,他們可能會(huì)產(chǎn)生很高的方差:在同一個(gè)現(xiàn)象產(chǎn)生的不同訓(xùn)練集上學(xué)習(xí)的決策樹往往是非常不同的,但實(shí)際上應(yīng)該是一樣的。
交叉驗(yàn)證可以幫助對抗過度擬合,例如通過使用它來選擇決策樹的最佳大小。但它不是萬能的,因?yàn)槿绻覀冇盟鼇碜鎏嗟膮?shù)選擇,它本身就會(huì)開始過度擬合。
除了交叉驗(yàn)證之外,還有很多方法可以解決過度擬合的問題。最流行的是添加正則化術(shù)語到評估功能。例如,這可以懲罰具有更多結(jié)構(gòu)的分類器,從而有利于較少結(jié)構(gòu)的分類器。另一種選擇是在添加新結(jié)構(gòu)之前,執(zhí)行像卡方這樣的統(tǒng)計(jì)顯著性檢驗(yàn),以確定該類別的分布在具有和不具有該結(jié)構(gòu)的情況下是否真的不同。當(dāng)數(shù)據(jù)非常少時(shí),這些技術(shù)特別有用。盡管如此,你應(yīng)該對某種技術(shù)“解決”過度擬合問題的說法持懷疑態(tài)度,因?yàn)闆]有任何一種技術(shù)總能做到最好(沒有免費(fèi)的午餐)。
5:直覺錯(cuò)誤——高維度過度擬合之后,機(jī)器學(xué)習(xí)中最大的問題就是維度的詛咒。這個(gè)話題是由Bellman在1961年提出的,指的是許多在低維度下工作正常的算法在輸入是高維時(shí)就變得棘手。但在機(jī)器學(xué)習(xí)中,它指的是隨著示例的維數(shù)(特征數(shù)量)增加,泛化正確地變得越來越難,因?yàn)楣潭ù笮〉挠?xùn)練集只覆蓋了輸入空間的一小部分。
高維度的一般問題是我們的直覺來自三維世界,通常不適用于高維空間。在高維度中,多元高斯分布的大部分質(zhì)量并不接近平均值,而是在其周圍越來越遠(yuǎn)的“殼”中。如果恒定數(shù)量的示例在高維超立方體中均勻分布,超出某些維度,則大多數(shù)示例更接近超立方體的面,而不是最近鄰居。如果我們通過將超球體寫入超立方體來近似超球體,那么在高維中幾乎所有超立方體的體積都在超球體的外面。這對于機(jī)器學(xué)習(xí)來說是個(gè)壞消息,其中一種類型的形狀經(jīng)常通過另一種形狀來近似。
在二維或三維中構(gòu)建分類器非常簡單,我們可以通過視覺檢查在不同類別的例子之間找到合理的邊界。但是在高維度上,我們很難理解正在發(fā)生的事情。這反過來又使設(shè)計(jì)好的分類器變得困難。天真地說,人們可能會(huì)認(rèn)為聚集更多的功能不會(huì)受到損失,因?yàn)樵谧钤愀獾那闆r下,它們不會(huì)提供關(guān)于該類的新信息 但實(shí)際上,維度的詛咒可能會(huì)超過它們的好處。
6:理論保證不是他們所看到的機(jī)器學(xué)習(xí)論文充滿了理論保證。最常見的類型是確保良好泛化所需的示例數(shù)量的界限。你應(yīng)該怎樣做到這些保證?首先,它們甚至可能是非常了不起的,歸納傳統(tǒng)上與扣除形成對比:在推論中,你可以保證結(jié)論是正確的;在歸納中,所有判斷都社區(qū)。近幾十年來的一個(gè)主要發(fā)展是認(rèn)識(shí)到,我們可以對歸納結(jié)果保證,特別是如果我們愿意解決概率保證。
我們必須小心這種約束是什么意思。例如,如果你的模型返回了一個(gè)與特定訓(xùn)練集相一致的假設(shè),那么這個(gè)假設(shè)可能概括得很好。所謂的是,如果給定足夠大的訓(xùn)練集,那么你的模型要么返回一個(gè)推廣的假設(shè),要么找不到一致的假設(shè)。界限也沒有說如何選擇一個(gè)好的假設(shè)空間。它只告訴我們,如果假設(shè)空間包含真實(shí)的分類器,那么訓(xùn)練處輸出不好的分類器的概率是隨著訓(xùn)練集大小而減少。如果我們縮小假設(shè)空間,邊界就會(huì)改善,但是包含真實(shí)分類器的機(jī)會(huì)也會(huì)縮小。
另一種常見的理論保證類型是漸近的:給定無限的數(shù)據(jù),訓(xùn)練模型的人保證輸出正確的分類器。在實(shí)踐中,我們很少處于漸近狀態(tài)(也稱為“asymptopia”)。而且,由于上面討論的偏差-方差權(quán)衡,如果學(xué)習(xí)者A在給定無限數(shù)據(jù)的情況下比學(xué)習(xí)者B好,則B通常比給定有限數(shù)據(jù)的A好。
理論保證在機(jī)器學(xué)習(xí)中的主要作用不是作為實(shí)際決策的標(biāo)準(zhǔn),而是作為理解和推動(dòng)算法設(shè)計(jì)的源泉。事實(shí)上,理論與實(shí)踐的密切相互作用是機(jī)器學(xué)習(xí)多年來取得如此巨大進(jìn)步的主要原因之一。但要注意:訓(xùn)練是一個(gè)復(fù)雜的現(xiàn)象。
文章原標(biāo)題《12-useful-things-know-about-machine-learning》,
詳情請閱讀原文
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/8820.html
摘要:機(jī)器學(xué)習(xí)項(xiàng)目通常會(huì)有一個(gè)重要的學(xué)習(xí)者設(shè)計(jì)組成部分,從業(yè)者需要有一些專業(yè)知識(shí)。在機(jī)器學(xué)習(xí)中,這通常意味著,給定兩個(gè)具有相同訓(xùn)練錯(cuò)誤的分類器,其中較簡單的分類器可能具有最低的測試錯(cuò)誤。機(jī)器學(xué)習(xí)通常應(yīng)用于觀察性數(shù)據(jù),其中預(yù)測變量不受學(xué)習(xí)者的控制。 摘要: 這是機(jī)器學(xué)習(xí)研究人員和從業(yè)人員所學(xué)到的12個(gè)關(guān)鍵經(jīng)驗(yàn)教訓(xùn)的總結(jié),包括避免陷阱,重點(diǎn)問題以及常見問題的答案。 論文解讀:華盛頓大學(xué)教授Ped...
摘要:機(jī)器學(xué)習(xí)初學(xué)者中最常見的錯(cuò)誤就是對訓(xùn)練數(shù)據(jù)進(jìn)行測試并自以為大獲成功。綜上來看,機(jī)器學(xué)習(xí)需要知識(shí)這點(diǎn)并不奇怪。機(jī)器學(xué)習(xí)更像是種田,讓大自然完成大部分的工作。這個(gè)問題被稱為過擬合,是機(jī)器學(xué)習(xí)中的難題。 機(jī)器學(xué)習(xí)算法可以通過學(xué)習(xí)就可以弄清楚如何去執(zhí)行一些重要的任務(wù)。在手動(dòng)編程不可行的情況下,這種方法通常既可行又經(jīng)濟(jì)有效。隨著可獲取的數(shù)據(jù)在逐步增多,越來越多更加復(fù)雜的問題可以用機(jī)器學(xué)習(xí)來解決。...
閱讀 2854·2021-10-14 09:42
閱讀 917·2021-10-11 10:57
閱讀 827·2019-08-30 15:54
閱讀 1975·2019-08-30 13:50
閱讀 1737·2019-08-30 11:19
閱讀 1013·2019-08-29 12:38
閱讀 1501·2019-08-26 11:51
閱讀 1463·2019-08-26 10:48