當我們要解決任意一種機器學習問題時,都需要選擇合適的算法。在機器學習中存在一種“沒有免費的午餐”定律,即沒有一款機器學習模型可以解決所有問題。不同的機器學習算法表現(xiàn)取決于數(shù)據(jù)的大小和結(jié)構(gòu)。所以,除非用傳統(tǒng)的試錯法實驗,否則我們沒有明確的方法證明某種選擇是對的。
但是,每種機器學習算法都有各自的有缺點,這也能讓我們在選擇時有所參考。雖然一種算法不能通用,但每個算法都有一些特征,能讓人快速選擇并調(diào)整參數(shù)。接下來,我們大致瀏覽幾種常見的用于回歸問題的機器學習算法,并根據(jù)它們的優(yōu)點和缺點總結(jié)出在什么情況下可以使用。
線性和多項式回歸

首先是簡單的情況,單一變量的線性回歸是用于表示單一輸入自變量和因變量之間的關(guān)系的模型。多變量線性回歸更常見,其中模型是表示多個輸入自變量和輸出因變量之間的關(guān)系。模型保持線性是因為輸出是輸入變量的線性結(jié)合。
第三種行間情況稱為多項式回歸,這里的模型是特征向量的非線性結(jié)合,即向量是指數(shù)變量,sin、cos等等。這種情況需要考慮數(shù)據(jù)和輸出之間的關(guān)系,回歸模型可以用隨機梯度下降訓練。
優(yōu)點:
建模速度快,在模型結(jié)構(gòu)不復雜并且數(shù)據(jù)較少的情況下很有用。
線性回歸易于理解,在商業(yè)決策時很有價值。
缺點:
對非線性數(shù)據(jù)來說,多項式回歸在設(shè)計時有難度,因為在這種情況下必須了解數(shù)據(jù)結(jié)構(gòu)和特征變量之間的關(guān)系。
綜上,遇到復雜數(shù)據(jù)時,這些模型的表現(xiàn)就不理想了。

神經(jīng)網(wǎng)絡(luò)包含了許多互相連接的節(jié)點,稱為神經(jīng)元。輸入的特征變量經(jīng)過這些神經(jīng)元后變成多變量的線性組合,與各個特征變量相乘的值稱為權(quán)重。之后在這一線性結(jié)合上應用非線性,使得神經(jīng)網(wǎng)絡(luò)可以對復雜的非線性關(guān)系建模。神經(jīng)網(wǎng)絡(luò)可以有多個圖層,一層的輸出會傳遞到下一層。在輸出時,通常不會應用非線性。神經(jīng)網(wǎng)絡(luò)用隨機梯度下降和反向傳播算法訓練。
優(yōu)點:
由于神經(jīng)網(wǎng)絡(luò)有很多層(所以就有很多參數(shù)),同時是非線性的,它們能高效地對復雜的非線性關(guān)系進行建模。
通常我們不用擔心神經(jīng)網(wǎng)絡(luò)中的數(shù)據(jù),它們在學習任何特征向量關(guān)系時都很靈活。
研究表明,單單增加神經(jīng)網(wǎng)絡(luò)的訓練數(shù)據(jù),不論是新數(shù)據(jù)還是對原始數(shù)據(jù)進行增強,都會提高網(wǎng)絡(luò)性能。
缺點:
由于模型的復雜性,它們不容易被理解。
訓練時可能有難度,同時需要大量計算力、仔細地調(diào)參并且設(shè)置好學習速率。
它們需要大量數(shù)據(jù)才能達到較高的性能,與其他機器學習相比,在小數(shù)據(jù)集上通常表現(xiàn)更優(yōu)。
回歸樹和隨機森林

首先從基本情況開始,決策樹是一種直觀的模型,決策者需要在每個節(jié)點進行選擇,從而穿過整個“樹”。樹形歸納是將一組訓練樣本作為輸入,決定哪些從哪些屬性分割數(shù)據(jù),不斷重復這一過程,知道所有訓練樣本都被歸類。在構(gòu)建樹時,我們的目標是用數(shù)據(jù)分割創(chuàng)建最純粹的子節(jié)點。純粹性是通過信息增益的概念來衡量的。在實際中,這是通過比較熵或區(qū)分當前數(shù)據(jù)集中的單一樣本和所需信息量與當前數(shù)據(jù)需要進一步區(qū)分所需要的信息量。
隨機森林是決策樹的簡單集成,即是輸入向量經(jīng)過多個決策樹的過程。對于回歸,所有樹的輸出值是平均的;對于分類,最終要用投票策略決定。
優(yōu)點:
對復雜、高度非線性的關(guān)系非常實用。它們通常能達到非常高的表現(xiàn)性能,比多項式回歸更好。
易于使用理解。雖然最后的訓練模型會學會很多復雜的關(guān)系,但是訓練過程中的決策邊界易于理解。
缺點:
由于訓練決策樹的本質(zhì),它們更易于過度擬合。一個完整的決策樹模型會非常復雜,并包含很多不必要的結(jié)構(gòu)。雖然有時通過“修剪”和與更大的隨機森林結(jié)合可以減輕這一狀況。
利用更大的隨機森林,可以達到更好地效果,但同時會拖慢速度,需要更多內(nèi)存。
這就是三種算法的優(yōu)缺點總結(jié)。希望你覺得有用!
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4844瀏覽量
108262 -
機器學習
+關(guān)注
關(guān)注
67文章
8569瀏覽量
137338
原文標題:如何為你的回歸問題選擇最合適的機器學習算法?
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
機器學習中的數(shù)據(jù)質(zhì)量雙保障:從“驗證”到“標記”
機器學習特征工程:縮放、編碼、聚合、嵌入與自動化
算法工程師需要具備哪些技能?
機器學習和深度學習中需避免的 7 個常見錯誤與局限性
用于單片機幾種C語言算法
C語言的常見算法
有哪些常見的AI算法可以用于裝置數(shù)據(jù)的異常檢測?
量子機器學習入門:三種數(shù)據(jù)編碼方法對比與應用
AI 驅(qū)動三維逆向:點云降噪算法工具與機器學習建模能力的前沿應用
FPGA在機器學習中的具體應用
任正非說 AI已經(jīng)確定是第四次工業(yè)革命 那么如何從容地加入進來呢?
【嘉楠堪智K230開發(fā)板試用體驗】K230機器視覺相關(guān)功能體驗
機器學習異常檢測實戰(zhàn):用Isolation Forest快速構(gòu)建無標簽異常檢測系統(tǒng)
幾種常見的用于回歸問題的機器學習算法
評論