一文看懂如何為回歸問題選擇最優ML演算法
在遇到不同類型的ML問題時,有許多不同的演算法可供選擇。機器學習領域,有一種叫「沒有免費的午餐」的定律,意思是沒有這樣一種ML演算法,它能完美適用於所有的問題。不同ML演算法的性能在很大程度上取決於數據的大小和結構。因此,除非我們可以通過簡單的反覆實驗來直接測試演算法,那麼演算法選擇的正確性往往是不清楚的。
但是,每一種ML演算法都有它的優點和缺點,我們可以將這些特性作為我們選擇演算法的指導。儘管一種演算法並不是總是優於另一種演算法,但是我們可以將每種演算法的一些特性作為指導,來快速選擇最優的演算法並調整超參數。下面我們看看幾個用於解決回歸問題的比較突出的ML演算法,並基於它們的優缺點來確定什麼時候使用哪種演算法的指導準則。本文能在你選擇最優的ML演算法來解決回歸問題時提供很好的幫助。
線性回歸和多項式回歸
先以簡單的單變數線性回歸開始,它是一種用線性模型(即一條直線)來模擬單個輸入自變數(特徵變數)和輸出因變數之間關係的方法。更為常見的場景是多變數線性回歸,即用於模擬多獨立輸入變數(特徵變數)與輸出因變數之間的關係的模型。因為輸出變數是輸入變數的線性組合,所以該模型依舊是線性的。
第三種最為常見的情況稱為多項式回歸,在多項式回歸中模型變成了特徵變數的非線性組合(即可能存在指數變數,正弦和餘弦等)。然而,這需要知道數據與輸出的相關性。回歸模型可以使用隨機梯度下降法(SGD)進行訓練。
優點:
- 建模快速,尤其適用於建模關係不是很複雜而且沒有許多數據的情況。
- 線性回歸很容易理解,對於商業決策非常有價值。
缺點:
- 對於非線性數據,多項式回歸的設計非常具有挑戰性,因為必須有數據結構和特徵變數之間關係的這些信息。
- 由於上述原因,當涉及到高度複雜的數據時這些模型不如其他模型。
神經網路
神經網路是由一組被稱為神經元的節點相互連接而成。來自數據的輸入特徵變數作為多變數線性組合傳遞給這些神經元,其中乘以每個特徵變數的值被稱為權重。然後將非線性應用於該線性組合,從而讓神經網路能夠為非線性關係建模。神經網路可以有多層,其中一層的輸出以相同的方式傳遞給下一層。而在輸出層,一般不會施加非線性。神經網路可以使用隨機梯度下降法(SGD)和反向傳播法(都顯示在上面的GIF中)進行訓練。
優點:
- 由於神經網路可以具有許多非線性層(從而能夠包含參數),所以在建模高度複雜的非線性關係時非常有用。
- 我們通常不必擔心神經網路中的數據結構,因為它在學習幾乎所有類型的特徵變數關係的時候都非常靈活。
- 研究表明,只需要為神經網路提供更多的訓練數據,無論是全新的數據集還是增加原始數據集,都能提升神經網路的性能。
缺點:
- 由於這些模型的複雜性,,它們不容易解釋和理解。
- 這些模型訓練起來可能非常具有挑戰性而且計算密集,需要仔細調整超參數並設置學習速率時間表。
- 它們需要大量的數據訓練才能實現高性能,並且在「小樣本」情況下通常會優於其他ML演算法。
回歸樹和隨機森林
先說一說基本的情況,決策樹是一種直觀的模型,通過遍歷樹的分支然後根據節點的決策來選擇下一個分支。樹歸納是將一組訓練實例作為輸入,確定最適合分割的屬性,然後分割數據集,並在分割後的數據集上循環,直到完成所有訓練實例的分類的過程。在構建決策樹時,目的是分割那些有可能生成最純子節點的屬性,這將盡量減少為了將數據集中所有實例進行分類而需要進行的分割次數。純度是通過信息增益這一概念來衡量的,它與需要了解之前不可見實例多少信息緊密相關(為了能被正確分類)。實際上,我們通過將熵或者分類當前數據集分區的單個實例所需的信息量與在當前數據集分區在給定屬性上進一步分區的情況下分類單個實例所需的信息量進行比較來衡量它(純度)。
隨機森林只是決策樹的集合。輸入向量通過多決策樹來運行。對於回歸,將所有輸出值求平均;對於分類,使用投票法來確定最終類別。
優點:
- 擅長學習高度複雜的非線性關係。它們通常可以到達相當高的性能,優於多項式回歸,與神經網路的性能相當。
- 非常容易解釋和理解。雖然最終的訓練模型可以學習複雜的關係,但是在訓練過程中建立的決策邊界很容易理解。
缺點:
- 由於訓練的決策樹的特性,它們可能出現較大的過擬合。一個完整的決策樹模型可能出現過於複雜並且包含不必要的結構。儘管有時可以通過合適的樹剪枝演算法和更大的隨機森林集合來改善這種情況。
- 使用更大的隨機森林集合實現更高性能的同時伴隨著速度變慢和需要更多的內存的缺點。
結語
本文列舉了在面臨回歸問題時,各個機器學習演算法的優缺點,從而幫我們快速選擇哪種演算法。在後面的文章中,我們會分享不同分類模型的優缺點。希望本文能對你有所幫助,學到了一些新穎有用的東西。如果喜歡,請點個贊吧。
學習更多機器學習姿勢,快來集智主站:
集智專欄參考資料:
https://towardsdatascience.com/selecting-the-best-machine-learning-algorithm-for-your-regression-problem-20c330bad4ef
推薦閱讀:
※Google機器學習速總結
※PMF:概率矩陣分解
※機器學習數學:最小二乘法
※機器學習-各種 Learning 概念簡明介紹
※模型部署