2019-04-12 15:40:57 3665瀏覽
本篇文章扣丁學(xué)堂大數(shù)據(jù)培訓(xùn)小編給讀者們分享一下關(guān)于大數(shù)據(jù)開發(fā)的一些內(nèi)容,那就是如何選擇機器學(xué)習(xí)算法,對大數(shù)據(jù)開發(fā)感興趣的小伙伴就隨小編一起來了解一下吧。
如何針對某個分類問題決定使用何種機器學(xué)習(xí)算法? 當(dāng)然,如果你真心在乎準確率,最好的途徑就是測試一大堆各式各樣的算法(同時確保在每個算法上也測試不同的參數(shù)),最后選擇在交叉驗證中表現(xiàn)最好的。倘若你只是想針對你的問題尋找一個“足夠好”的算法,或者一個起步點,這里給出了一些我覺得這些年用著還不錯的常規(guī)指南。
訓(xùn)練集有多大?
如果是小訓(xùn)練集,高偏差/低方差的分類器(比如樸素貝葉斯)要比低偏差/高方差的分類器(比如k最近鄰)具有優(yōu)勢,因為后者容易過擬合。然而隨著訓(xùn)練集的增大,低偏差/高方差的分類器將開始具有優(yōu)勢(它們擁有更低的漸近誤差),因為高偏差分類器對于提供準確模型不那么給力。
你也可以把這一點看作生成模型和判別模型的差別。
一些常用算法的優(yōu)缺點:
樸素貝葉斯:這個簡單,你只要做些算術(shù)就好了。倘若條件獨立性假設(shè)確實滿足,樸素貝葉斯分類器將會比判別模型,譬如邏輯回歸收斂得更快,因此你只需要更少的訓(xùn)練數(shù)據(jù)。就算該假設(shè)不成立,樸素貝葉斯分類器在實踐中仍然有著不俗的表現(xiàn)。如果你需要的是快速簡單并且表現(xiàn)出色,這將是個不錯的選擇。其主要缺點是它學(xué)習(xí)不了特征間的交互關(guān)系。
邏輯回歸:有很多正則化模型的方法,而且你不必像在用樸素貝葉斯那樣擔(dān)心你的特征是否相關(guān)。與決策樹與支持向量機相比,你還會得到一個不錯的概率解釋,你甚至可以輕松地利用新數(shù)據(jù)來更新模型(使用在線梯度下降算法)。如果你需要一個概率架構(gòu)(比如簡單地調(diào)節(jié)分類閾值,指明不確定性,或者是要得得置信區(qū)間),或者你以后想將更多的訓(xùn)練數(shù)據(jù)快速整合到模型中去,使用它吧。
決策樹:易于解釋說明,它可以毫無壓力地處理特征間的交互關(guān)系并且是非參數(shù)化的,因此你不必擔(dān)心異常值或者數(shù)據(jù)是否線性可分(舉個例子,決策樹能輕松處理好類別A在某個特征維度x的末端 ,類別B在中間,然后類別A又出現(xiàn)在特征維度x前端的情況 )。它的一個缺點就是不支持在線學(xué)習(xí),于是在新樣本到來后,決策樹需要全部重建。另一個缺點是容易過擬合,但這也就是諸如隨機森林(或提升樹)之類的集成方法的切入點。另外,隨機森林經(jīng)常是很多分類問題的贏家(通常比支持向量機好上那么一點,我認為),它快速并且可調(diào),同時你無須擔(dān)心要像支持向量機那樣調(diào)一大堆參數(shù),所以最近它貌似相當(dāng)受歡迎。
支持向量機:高準確率,為避免過擬合提供了很好的理論保證,而且就算數(shù)據(jù)在原特征空間線性不可分,只要給個合適的核函數(shù),它就能運行得很好。在動輒超高維的文本分類問題中特別受歡迎??上?nèi)存消耗大,難以解釋,運行和調(diào)參也有些煩人,所以我認為隨機森林要開始取而代之了。
然而。。。
盡管如此,回想一下,好的數(shù)據(jù)卻要優(yōu)于好的算法,設(shè)計優(yōu)良特征是大有裨益的。假如你有一個超大數(shù)據(jù)集,那么無論你使用哪種算法可能對分類性能都沒太大影響(此時就根據(jù)速度和易用性來進行抉擇)。
再重申一次我上面說過的話,倘若你真心在乎準確率,你一定得嘗試多種多樣的分類器,并且通過交叉驗證選擇最優(yōu)。要么就從Netflix Prize(和Middle Earth)取點經(jīng),用集成方法把它們合而用之,妥妥的。
想要了解更多關(guān)于大數(shù)據(jù)開發(fā)方面內(nèi)容的小伙伴,請關(guān)注扣丁學(xué)堂大數(shù)據(jù)培訓(xùn)官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育有專業(yè)的大數(shù)據(jù)講師為您指導(dǎo),此外扣丁學(xué)堂老師精心推出的大數(shù)據(jù)視頻教程定能讓你快速掌握大數(shù)據(jù)從入門到精通開發(fā)實戰(zhàn)技能。扣丁學(xué)堂大數(shù)據(jù)學(xué)習(xí)群:209080834。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】 【掃碼進入HTML5前端架構(gòu)師進階免費公開課】
查看更多關(guān)于“大數(shù)據(jù)培訓(xùn)資訊”的相關(guān)文章>