面對(duì)各種各樣的機(jī)器學(xué)習(xí)算法——“我應(yīng)該用哪一個(gè)?”,是一名初學(xué)者經(jīng)常遇到的問(wèn)題。問(wèn)題的答案,取決于許多因素,包括:
數(shù)據(jù)的大小,質(zhì)量和性質(zhì)
可用的計(jì)算時(shí)間
任務(wù)的緊迫性
你想對(duì)數(shù)據(jù)做什么
即便是經(jīng)驗(yàn)豐富的數(shù)據(jù)科學(xué)家,也無(wú)法在嘗試各種算法之前,判斷出哪種算法的效果最好。在這里,我并不是忽悠大家要一步到位。我的意思是,要根據(jù)明確的因素,搞清楚應(yīng)該優(yōu)先嘗試哪些算法。
機(jī)器學(xué)習(xí)算法速查表
該流程圖展示了何時(shí)使用哪些算法
機(jī)器學(xué)習(xí)算法速查表,幫助你找到適合不同具體問(wèn)題的算法。本文將引導(dǎo)你如何使用速查表。
該速查表專為初階數(shù)據(jù)科學(xué)家和分析師設(shè)計(jì)。因而在討論算法時(shí),我們將對(duì)假設(shè)做一些簡(jiǎn)化。
這里推薦的算法,來(lái)自于多位數(shù)據(jù)科學(xué)家、機(jī)器學(xué)習(xí)專家的編譯反饋和提示。 有幾個(gè)問(wèn)題我們還沒(méi)有達(dá)成一致,對(duì)于這些問(wèn)題,我們?cè)噲D突出共同點(diǎn),調(diào)和差異。
當(dāng)我們的庫(kù)在將來(lái)更加完整,包含更多可用方法時(shí),將會(huì)添加額外的算法。
如何使用速查表對(duì)圖表上的路徑和算法標(biāo)簽,看作“如果 <路徑標(biāo)簽> 就使用 <算法>”。例如:
如果要降維,就使用主成分分析。
如果需要快速的數(shù)字預(yù)測(cè),就用決策樹或邏輯回歸。
如果需要分層結(jié)果,就使用層次聚類。
有時(shí)候,適用的分支有多個(gè),其他時(shí)候完美適用的一個(gè)也沒(méi)有。 重要的是記?。哼@些路徑僅僅是經(jīng)驗(yàn)總結(jié),有的建議并不準(zhǔn)確。 我聊過(guò)的幾位數(shù)據(jù)科學(xué)家都說(shuō),找到最佳算法的唯一方法,就是嘗試所有的算法。
機(jī)器學(xué)習(xí)算法的類型本節(jié)將對(duì)最常見(jiàn)的機(jī)器學(xué)習(xí)算法類型,做個(gè)概述。 如果您對(duì)這些類別很熟悉,可以跳過(guò)本節(jié)到下面的“何時(shí)使用特定算法”。
監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí)算法會(huì)根據(jù)樣例集做預(yù)測(cè)。 例如,可以使用歷史銷售預(yù)估將來(lái)價(jià)格。 在監(jiān)督學(xué)習(xí)中,有標(biāo)記過(guò)的訓(xùn)練數(shù)據(jù)組成的輸入變量,以及輸出變量。 你用算法來(lái)分析訓(xùn)練數(shù)據(jù),學(xué)習(xí)從輸入映射到輸出的函數(shù)。這個(gè)預(yù)測(cè)函數(shù)通過(guò)從訓(xùn)練數(shù)據(jù)中進(jìn)行歸納,對(duì)新的未知的樣本建立映射,來(lái)預(yù)測(cè)未知情況下的結(jié)果。
分類:當(dāng)數(shù)據(jù)用于預(yù)測(cè)分類變量時(shí),監(jiān)督學(xué)習(xí)也稱為分類。 圖像處理中經(jīng)典的貓狗識(shí)別:根據(jù)圖像內(nèi)容,向圖片分配"狗"或"貓"標(biāo)簽就是這種案例。 當(dāng)只有兩個(gè)標(biāo)簽時(shí),這被稱為二進(jìn)制分類。 當(dāng)有兩類以上時(shí),這些問(wèn)題被稱為多類分類。
回歸:當(dāng)預(yù)測(cè)連續(xù)值時(shí),問(wèn)題就成為了一個(gè)回歸問(wèn)題。
預(yù)測(cè):根據(jù)過(guò)去和現(xiàn)在的數(shù)據(jù),對(duì)未來(lái)進(jìn)行預(yù)測(cè)。 最常被用來(lái)分析趨勢(shì)。 一個(gè)常見(jiàn)的例子可能是根據(jù)今年和前幾年的銷售情況估計(jì)下一年的銷售額。
半監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí)的困難在于,標(biāo)注數(shù)據(jù)非常昂貴、費(fèi)時(shí)。如果標(biāo)注數(shù)據(jù)有限,可以使用未標(biāo)注數(shù)據(jù)來(lái)加強(qiáng)監(jiān)督學(xué)習(xí)。在這種情況下機(jī)器不是完全監(jiān)督的,我們就稱是半監(jiān)督。通過(guò)半監(jiān)督學(xué)習(xí),可以使用未標(biāo)注數(shù)據(jù)和少量的標(biāo)注數(shù)據(jù)來(lái)提高學(xué)習(xí)的準(zhǔn)確性。
無(wú)監(jiān)督學(xué)習(xí)進(jìn)行無(wú)監(jiān)督學(xué)習(xí)時(shí),機(jī)器僅使用未標(biāo)注數(shù)據(jù)。目標(biāo)是發(fā)現(xiàn)數(shù)據(jù)中的內(nèi)在模式,比如聚類結(jié)構(gòu),一個(gè)低維的流形(manifold),或者一個(gè)稀疏樹和圖。
聚類:對(duì)一組數(shù)據(jù)進(jìn)行分組,使得同一組(或一類)中的數(shù)據(jù)比其他組中的數(shù)據(jù)更加相似(根據(jù)一些規(guī)則)。這通常用來(lái)將整個(gè)數(shù)據(jù)集劃分成幾個(gè)數(shù)據(jù)組。在每個(gè)數(shù)據(jù)組中進(jìn)行分析,能幫助用戶找到內(nèi)在的關(guān)聯(lián)。
降維:減少約束條件下的變量數(shù)量。在許多應(yīng)用中,原始數(shù)據(jù)特征維度特別高,并且一些特征是冗余的、或者和結(jié)果無(wú)關(guān)。降維能夠幫助找到正確的潛在關(guān)聯(lián)。
增強(qiáng)學(xué)習(xí)增強(qiáng)學(xué)習(xí)基于環(huán)境反饋,分析并優(yōu)化代理的行為。機(jī)器會(huì)嘗試不同場(chǎng)景,找出產(chǎn)生最大的收益的行為,不需要被告知做什么。試錯(cuò)和延時(shí)獎(jiǎng)勵(lì),是增強(qiáng)學(xué)習(xí)和其他技術(shù)的主要區(qū)別。
選擇算法的注意事項(xiàng)選擇一個(gè)算法時(shí),通常要考慮這三個(gè)方面:準(zhǔn)確性,訓(xùn)練時(shí)間和易用性。許多人將準(zhǔn)確性放在首位,但是初學(xué)者傾向于選擇他們最了解的算法。
當(dāng)拿到一個(gè)數(shù)據(jù)集時(shí),首先要考慮的是如何獲取結(jié)果,不管這些結(jié)果可能看起來(lái)是什么樣子的。初學(xué)者傾向于選擇容易實(shí)現(xiàn)并且能夠快速得到結(jié)果的算法。這種做法是可取的,因?yàn)檫@只是第一步工作。一旦你得到了一些結(jié)果并且熟悉了這些數(shù)據(jù),你可以會(huì)花費(fèi)更多時(shí)間、使用更加復(fù)雜的算法來(lái)增強(qiáng)你對(duì)這些數(shù)據(jù)的理解,來(lái)進(jìn)一步改進(jìn)結(jié)果。
即使在這種情況下,最好的算法,可能并不是有最高準(zhǔn)確率的方法,因?yàn)橐粋€(gè)算法通常需要仔細(xì)的調(diào)參和大量訓(xùn)練才能達(dá)到它的最優(yōu)性能。
(雷鋒網(wǎng)更多請(qǐng)?jiān)L問(wèn)原文地址)
via SAS