如何为你的回归问题选择最合适的机器学习算法?
當我們要解決任意一種機器學(xué)習問題時,都需要選擇合適的算法。在機器學(xué)習中存在一種“沒有免費的午餐”定律,即沒有一款機器學(xué)習模型可以解決所有問題。不同的機器學(xué)習算法表現(xiàn)取決于數(shù)據(jù)的大小和結(jié)構(gòu)。所以,除非用傳統(tǒng)的試錯法實驗,否則我們沒有明確的方法證明某種選擇是對的。
但是,每種機器學(xué)習算法都有各自的有缺點,這也能讓我們在選擇時有所參考。雖然一種算法不能通用,但每個算法都有一些特征,能讓人快速選擇并調(diào)整參數(shù)。接下來,我們大致瀏覽幾種常見的用于回歸問題的機器學(xué)習算法,并根據(jù)它們的優(yōu)點和缺點總結(jié)出在什么情況下可以使用。
線性和多項式回歸
首先是簡單的情況,單一變量的線性回歸是用于表示單一輸入自變量和因變量之間的關(guān)系的模型。多變量線性回歸更常見,其中模型是表示多個輸入自變量和輸出因變量之間的關(guān)系。模型保持線性是因為輸出是輸入變量的線性結(jié)合。
第三種行間情況稱為多項式回歸,這里的模型是特征向量的非線性結(jié)合,即向量是指數(shù)變量,sin、cos等等。這種情況需要考慮數(shù)據(jù)和輸出之間的關(guān)系,回歸模型可以用隨機梯度下降訓(xùn)練。
優(yōu)點:
●?建模速度快,在模型結(jié)構(gòu)不復(fù)雜并且數(shù)據(jù)較少的情況下很有用。●?線性回歸易于理解,在商業(yè)決策時很有價值。
缺點:
●?對非線性數(shù)據(jù)來說,多項式回歸在設(shè)計時有難度,因為在這種情況下必須了解數(shù)據(jù)結(jié)構(gòu)和特征變量之間的關(guān)系。●?綜上,遇到復(fù)雜數(shù)據(jù)時,這些模型的表現(xiàn)就不理想了。
神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)包含了許多互相連接的節(jié)點,稱為神經(jīng)元。輸入的特征變量經(jīng)過這些神經(jīng)元后變成多變量的線性組合,與各個特征變量相乘的值稱為權(quán)重。之后在這一線性結(jié)合上應(yīng)用非線性,使得神經(jīng)網(wǎng)絡(luò)可以對復(fù)雜的非線性關(guān)系建模。神經(jīng)網(wǎng)絡(luò)可以有多個圖層,一層的輸出會傳遞到下一層。在輸出時,通常不會應(yīng)用非線性。神經(jīng)網(wǎng)絡(luò)用隨機梯度下降和反向傳播算法訓(xùn)練。
優(yōu)點:
●?由于神經(jīng)網(wǎng)絡(luò)有很多層(所以就有很多參數(shù)),同時是非線性的,它們能高效地對復(fù)雜的非線性關(guān)系進行建模。●?通常我們不用擔心神經(jīng)網(wǎng)絡(luò)中的數(shù)據(jù),它們在學(xué)習任何特征向量關(guān)系時都很靈活。
●?研究表明,單單增加神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),不論是新數(shù)據(jù)還是對原始數(shù)據(jù)進行增強,都會提高網(wǎng)絡(luò)性能。
缺點:
●?由于模型的復(fù)雜性,它們不容易被理解。●?訓(xùn)練時可能有難度,同時需要大量計算力、仔細地調(diào)參并且設(shè)置好學(xué)習速率。
●?它們需要大量數(shù)據(jù)才能達到較高的性能,與其他機器學(xué)習相比,在小數(shù)據(jù)集上通常表現(xiàn)更優(yōu)。
回歸樹和隨機森林
首先從基本情況開始,決策樹是一種直觀的模型,決策者需要在每個節(jié)點進行選擇,從而穿過整個“樹”。樹形歸納是將一組訓(xùn)練樣本作為輸入,決定哪些從哪些屬性分割數(shù)據(jù),不斷重復(fù)這一過程,知道所有訓(xùn)練樣本都被歸類。在構(gòu)建樹時,我們的目標是用數(shù)據(jù)分割創(chuàng)建最純粹的子節(jié)點。純粹性是通過信息增益的概念來衡量的。在實際中,這是通過比較熵或區(qū)分當前數(shù)據(jù)集中的單一樣本和所需信息量與當前數(shù)據(jù)需要進一步區(qū)分所需要的信息量。
隨機森林是決策樹的簡單集成,即是輸入向量經(jīng)過多個決策樹的過程。對于回歸,所有樹的輸出值是平均的;對于分類,最終要用投票策略決定。
優(yōu)點:
●?對復(fù)雜、高度非線性的關(guān)系非常實用。它們通常能達到非常高的表現(xiàn)性能,比多項式回歸更好。●?易于使用理解。雖然最后的訓(xùn)練模型會學(xué)會很多復(fù)雜的關(guān)系,但是訓(xùn)練過程中的決策邊界易于理解。
缺點:
●?由于訓(xùn)練決策樹的本質(zhì),它們更易于過度擬合。一個完整的決策樹模型會非常復(fù)雜,并包含很多不必要的結(jié)構(gòu)。雖然有時通過“修剪”和與更大的隨機森林結(jié)合可以減輕這一狀況。●?利用更大的隨機森林,可以達到更好地效果,但同時會拖慢速度,需要更多內(nèi)存。
這就是三種算法的優(yōu)缺點總結(jié)。希望你覺得有用!
原文發(fā)布時間為:2018-09-9
本文作者:George Seif
本文來自云棲社區(qū)合作伙伴“深度學(xué)習自然語言處理”,了解相關(guān)信息可以關(guān)注“深度學(xué)習自然語言處理”。
總結(jié)
以上是生活随笔為你收集整理的如何为你的回归问题选择最合适的机器学习算法?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一次LAMP环境搭建
- 下一篇: html的进一步了解(更新中···)