一份关于如何为回归任务选择机器学习算法指南
摘要:?本文總結(jié)了一些針對(duì)于回歸問題的機(jī)器學(xué)習(xí)方法,辯證地分析了其各自的優(yōu)缺點(diǎn),讀者可以根據(jù)具體問題選擇合適的機(jī)器學(xué)習(xí)算法以完成相應(yīng)的任務(wù)。
?
? ? ? ?當(dāng)遇到任何類型的機(jī)器學(xué)習(xí)(ML)問題時(shí),可能會(huì)有許多不同的算法可供你選擇。但是在機(jī)器學(xué)習(xí)中,有一個(gè)“沒有免費(fèi)午餐”的定理,該定理表明,基本上沒有一種機(jī)器學(xué)習(xí)算法能夠?qū)λ袉栴}而言是最合適的。不同機(jī)器學(xué)習(xí)算法的性能很大程度上取決于數(shù)據(jù)的大小和結(jié)構(gòu)。因此,除非我們直接通過一次次實(shí)驗(yàn)和錯(cuò)誤來測試我們采取的算法,否則,如何選擇正確的算法通常仍然是不清楚的。
? ? ? ?事物總有兩面性,每種機(jī)器算法也會(huì)有一些優(yōu)點(diǎn)和缺點(diǎn),我們可以根據(jù)其優(yōu)點(diǎn)和缺點(diǎn)作為選擇合適算法的一種指導(dǎo)。雖然一種具體的算法并不總是優(yōu)于另外一種算法,但我們可以根據(jù)每種算法本身具有的一些屬性作為快速選擇正確算法和調(diào)整超參數(shù)的指南。本文將分析一些針對(duì)回歸問題的典型機(jī)器算法,并根據(jù)其優(yōu)勢(shì)和劣勢(shì)制定何時(shí)使用它們的規(guī)則。看完這篇文章,應(yīng)該可以幫助你為回歸問題選擇出最佳的機(jī)器算法!
線性和多項(xiàng)式回歸
?
線性回歸
? ? ? ?從簡單的情況開始講解,單變量線性回歸是一種技術(shù),用于使用線性模型對(duì)單個(gè)輸入自變量(特征變量)和輸出因變量之間的關(guān)系進(jìn)行建模。更一般的情況是多變量線性回歸,其中為多個(gè)獨(dú)立輸入變量(特征變量)和輸出因變量之間的關(guān)系構(gòu)建模型。該模型保持線性,因?yàn)檩敵鍪禽斎胱兞康木€性組合。
? ? ? ?存在第三種最常見的情況被稱為多項(xiàng)式回歸,其中模型變?yōu)樘卣髯兞康姆蔷€性組合,即等式中可以存在指數(shù)變量、正弦項(xiàng)和余弦項(xiàng)等。然而,這種情況需要知道數(shù)據(jù)如何與輸出相關(guān),可以使用隨機(jī)梯度下降(SGD)算法訓(xùn)練回歸模型。
優(yōu)點(diǎn)
- 能夠快速建模,且當(dāng)要建模的關(guān)系不是非常復(fù)雜并且沒有大量數(shù)據(jù)時(shí),該方法特別有用。
- 線性回歸很容易被理解,這對(duì)于業(yè)務(wù)決策而言顯得非常有價(jià)值。
缺點(diǎn)
- 對(duì)于非線性數(shù)據(jù),多項(xiàng)式回歸在設(shè)計(jì)時(shí)可能非常具有挑戰(zhàn)性,因?yàn)楸仨毦哂嘘P(guān)于數(shù)據(jù)結(jié)構(gòu)和特征變量之間關(guān)系的一些信息。
- 由于上述原因,當(dāng)涉及高度復(fù)雜的數(shù)據(jù)時(shí),這類模型不如其它模型好。
神經(jīng)網(wǎng)絡(luò)
?
神經(jīng)網(wǎng)絡(luò)
? ? ? ?神經(jīng)網(wǎng)絡(luò)由一組稱為神經(jīng)元的節(jié)點(diǎn)相互連接組成。來自數(shù)據(jù)的輸入特征變量作為多變量線性組合傳遞給這些神經(jīng)元,其中乘以每個(gè)特征變量的值稱為權(quán)重。然后將非線性應(yīng)用于該線性組合,這給予神經(jīng)網(wǎng)絡(luò)模擬復(fù)雜非線性關(guān)系的能力。神經(jīng)網(wǎng)絡(luò)可以具有多層結(jié)構(gòu),每一層的輸出出以相同的方式傳遞給下一層。在最后的一層,即輸出端,通常不應(yīng)用非線性。一般使用隨機(jī)梯度下降(SGD)和反向傳播算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型(如上圖所示)。
優(yōu)點(diǎn)
- 由于神經(jīng)網(wǎng)絡(luò)可以有許多具有非線性的隱藏層,因此它們對(duì)于高度復(fù)雜的非線性關(guān)系建模方面非常有效。
- 通常, 我們不必?fù)?dān)心神經(jīng)網(wǎng)絡(luò)中的數(shù)據(jù)結(jié)構(gòu),該方法在對(duì)任何類型特征變量關(guān)系學(xué)習(xí)時(shí)都非常靈活。
? ? ? ?研究表明,簡單地為網(wǎng)絡(luò)提供更多的訓(xùn)練數(shù)據(jù),無論是全新的數(shù)據(jù),還是增加原始數(shù)據(jù)集,都有利于提升網(wǎng)絡(luò)的性能。
缺點(diǎn)
- 由于這類模型的復(fù)雜性,它們不易于解釋和理解。
- 它們?cè)谟?xùn)練時(shí)可能具有一定的挑戰(zhàn)性,且對(duì)計(jì)算性能有一定的要求,需要仔細(xì)的調(diào)整超參數(shù)和學(xué)習(xí)速率的設(shè)置。
- 神經(jīng)網(wǎng)絡(luò)方法一般需要大量數(shù)據(jù)才能獲得高的性能,并且在“小數(shù)據(jù)”情況下通常優(yōu)于其他的機(jī)器算法。
回歸樹和隨機(jī)森林
?
隨機(jī)森林
? ? ? ?從基本情況開始說起,決策樹是一種直觀的模型,遍歷樹的分支,并根據(jù)節(jié)點(diǎn)的決定來選擇下一個(gè)分支。樹形導(dǎo)入是將一組訓(xùn)練實(shí)例作為輸入,決定哪些屬性是最佳分割,分割數(shù)據(jù)集以及在生成的分割數(shù)據(jù)集上重復(fù)操作,直到所有訓(xùn)練實(shí)例都被分類務(wù)。在構(gòu)建決策樹時(shí),目標(biāo)是分割創(chuàng)建最純子節(jié)點(diǎn)的屬性,這將使我們的數(shù)據(jù)集中的所有實(shí)例分類所需的分割數(shù)量保持最小。純度是通過信息增益的概念來衡量的,信息增益的概念與先前看不見的實(shí)例需要了解多少以便對(duì)其進(jìn)行適當(dāng)分類有關(guān)。在實(shí)踐中,一般是通過比較熵,或者如果要在給定屬性上進(jìn)一步對(duì)當(dāng)前數(shù)據(jù)集分區(qū)進(jìn)行分區(qū),則對(duì)單個(gè)實(shí)例進(jìn)行分類的信息量。
? ? ? ?隨機(jī)森林只是決策樹的集合,輸入向量通過多個(gè)決策樹運(yùn)行。對(duì)于回歸問題,所有樹的輸出值是取的平均值;對(duì)于分類問題,投票方案用于確定最終類別。
優(yōu)點(diǎn):
- 擅長學(xué)習(xí)復(fù)雜、高度非線性的關(guān)系。通常可以實(shí)現(xiàn)相當(dāng)高的性能,優(yōu)于多項(xiàng)式回歸,并且性能通常與神經(jīng)網(wǎng)絡(luò)相當(dāng)。
- 很容易被理解和理解。雖然最終訓(xùn)練的模型可以學(xué)習(xí)到復(fù)雜的關(guān)系,但是在訓(xùn)練期間建立的決策邊界很容易理解。
缺點(diǎn):
- 由于在決策樹訓(xùn)練時(shí),可能很容易出現(xiàn)嚴(yán)重的過度擬合現(xiàn)象。完整的決策樹模型可能過于復(fù)雜并且包含不必要的結(jié)構(gòu),這種情況下有時(shí)可以通過適當(dāng)?shù)臉渲π藜艉透蟮碾S機(jī)森林集合來緩解。
- 使用較大的隨機(jī)森林集合來實(shí)現(xiàn)更高的性能,這會(huì)使得訓(xùn)練過程耗時(shí)長,且需要更多的內(nèi)存。
結(jié)論
? ? ? ?本文總結(jié)了一些針對(duì)于回歸問題的機(jī)器學(xué)習(xí)方法,辯證地分析了其各自的優(yōu)缺點(diǎn)。可以根據(jù)具體問題選擇合適的機(jī)器學(xué)習(xí)算法以完成相應(yīng)的任務(wù)。
?原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的一份关于如何为回归任务选择机器学习算法指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我需要一个高并发的架构,我的系统要改造成
- 下一篇: 阿里云IoT将举办第三届极客创新挑战赛,