如何選擇機(jī)器學(xué)習(xí)模型?
↑↑↑點(diǎn)擊上方藍(lán)字,回復(fù)資料,10個(gè)G的驚喜
本文最初發(fā)表于 Towards Data Science 博客,經(jīng)原作者 Santiago Valdarrama 授權(quán),InfoQ 中文站翻譯并分享。
和很多人的想法相反,性能最好的機(jī)器學(xué)習(xí)模型未必是最好的解決方案。在 Kaggle 競賽中,性能是你需要的全部。實(shí)際上,這也是另一個(gè)需要考慮的因素。下面讓我們從模型的性能開始,并重新考慮一些其他考慮因素,以便在選擇模型來解決問題時(shí)牢記在心。
模型結(jié)果的質(zhì)量是選擇模型時(shí)應(yīng)考慮的基本因素。優(yōu)先選擇能夠使性能最大化的算法。取決于問題,不同的度量標(biāo)準(zhǔn)可能對分析模型的結(jié)果有所幫助。舉例來說,最流行的度量有正確率、準(zhǔn)確率、查全率和 F1 分?jǐn)?shù)。
切記,并非每一個(gè)度量都適用于所有的情況。例如,在處理不平衡的數(shù)據(jù)集時(shí),正確率是不適當(dāng)?shù)?。在我們?zhǔn)備開始模型選擇過程之前,選擇一種良好的度量(或一組指標(biāo))來評估模型性能是一項(xiàng)至關(guān)重要的任務(wù)。
很多情況下,對模型結(jié)果的解釋是至關(guān)重要的。遺憾的是,很多算法就像黑盒子一樣工作,無論結(jié)果如何,都很難解釋。在這些情況下,缺乏可解釋性可能是成功或失敗的決定性條件。
如果存在可解釋性問題,線性回歸和決策樹是很好的選擇。神經(jīng)網(wǎng)絡(luò)則不然。選擇好的候選者之前,一定要知道每種模型的結(jié)果是否易于解釋。有意思的是,可解釋性和復(fù)雜性通常存在于兩個(gè)極端,所以接下來我們來看看復(fù)雜性。
一種復(fù)雜的模型在數(shù)據(jù)中可能會發(fā)現(xiàn)更多有趣的模式,但是,這會使維護(hù)和解釋更加困難。
這里有一些不嚴(yán)謹(jǐn)?shù)母爬?,需要記住?/p>
復(fù)雜性越高,性能就越好,但是成本也越高。
復(fù)雜性與可解釋性成反比。模型越復(fù)雜,解釋結(jié)果就越困難。
拋開可解釋性不談,構(gòu)建和維護(hù)模型的成本是項(xiàng)目成功的關(guān)鍵因素。復(fù)雜的設(shè)置會對模型的整個(gè)生命周期產(chǎn)生更大的影響。
可用的訓(xùn)練數(shù)據(jù)量是選擇模型時(shí)要考慮的主要因素之一。
神經(jīng)網(wǎng)絡(luò)在處理和合成大量數(shù)據(jù)方面確實(shí)很出色。KNN(K-Nearest Neighbors,K- 最近鄰)模型更好,示例也更少。除了可用的數(shù)據(jù)量外,還有一個(gè)重要的考慮因素是,為了獲得好的結(jié)果,你真正需要多少數(shù)據(jù)。有時(shí)候,你可以通過 100 個(gè)訓(xùn)練例子來建立一個(gè)很好的解決方案;有時(shí)候,你需要 100000 個(gè)例子。
利用這些與你的問題和數(shù)據(jù)量有關(guān)的信息,選擇一個(gè)模型來處理它。
從兩個(gè)不同的角度看待維度是有用的:數(shù)據(jù)集的垂直大小代表我們擁有的數(shù)據(jù)量。水平大小代表特征的數(shù)量。
我們已經(jīng)討論了垂直維度如何影響優(yōu)秀模型的選擇。事實(shí)證明,水平維度也是需要考慮的因素。如果你的模型有更多的特征,就會有更好的解決方案。越多的特征也會增加模型的復(fù)雜性。
“維度的詛咒”(Curse of dimensionality)很好地介紹了維度如何影響模型的復(fù)雜性。可以想象,并非每一個(gè)模型對高維數(shù)據(jù)集的擴(kuò)展都是相同的。在將高維數(shù)據(jù)作為問題進(jìn)行集成時(shí),我們可能也需要引入特定的降維算法。PCA 是這方面最流行的算法之一。
訓(xùn)練一個(gè)模型需要多長時(shí)間,需要多少錢?你會選擇一個(gè)正確率為 98%、訓(xùn)練成本為 10 萬美元的模型,還是選擇一個(gè)準(zhǔn)確率為 97%、成本為 1 萬美元的模型?
這個(gè)問題的答案當(dāng)然取決于你的個(gè)人情況。
需要在接近實(shí)時(shí)的情況下結(jié)合新知識的模型,很難適應(yīng)長周期的訓(xùn)練。舉例來說,推薦系統(tǒng)需要根據(jù)每個(gè)用戶的動作不斷更新,才能從廉價(jià)的訓(xùn)練周期中獲益。在設(shè)計(jì)可擴(kuò)展的解決方案時(shí),平衡時(shí)間、成本和性能非常重要。
運(yùn)行一個(gè)模型并作出預(yù)測需要多長時(shí)間?想象一下自動駕駛系統(tǒng):它需要實(shí)時(shí)作出決策,因此任何時(shí)間過長的模型都無法被考慮。
例如,使用 KNN 開發(fā)預(yù)測所需的大部分處理都在推理過程中進(jìn)行。因此運(yùn)行它的成本非常高。但決策樹的推理時(shí)間較短,在訓(xùn)練過程中需要較長的時(shí)間。
很多人專注于他們最喜歡的模型。常常是他們最熟悉的那個(gè),在前一個(gè)項(xiàng)目中給他們帶來了好效果。
但是機(jī)器學(xué)習(xí)中 沒有免費(fèi)的午餐。任何一種模型都不能同時(shí)適用于所有情況,尤其是當(dāng)我們考慮現(xiàn)實(shí)生活中的系統(tǒng)限制時(shí)。
當(dāng)選擇一個(gè)好的模型時(shí),了解幾個(gè)不同的考慮因素對確保項(xiàng)目的成功至關(guān)重要。作為總結(jié),下面列出了我們剛才討論的內(nèi)容:
模型的性能
結(jié)果的可解釋性
模型的復(fù)雜性
數(shù)據(jù)集的大小
數(shù)據(jù)的維度
訓(xùn)練時(shí)間和成本
推理時(shí)間
作者介紹:Santiago Valdarrama,專注于機(jī)器學(xué)習(xí)系統(tǒng)。
原文鏈接:
https://towardsdatascience.com/considerations-when-choosing-a-machine-learning-model-aa31f52c27f3?gi=b42e581fe448
推薦閱讀
(點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)
【開源】23個(gè)優(yōu)秀的機(jī)器學(xué)習(xí)數(shù)據(jù)集
老鐵,三連支持一下,好嗎?↓↓↓
