
當遇到任何類型的機器學習(ML)問題時,可能會有許多不同的算法可供你選擇。但是在機器學習中,有一個“沒有免費午餐”的定理,該定理表明,基本上沒有一種機器學習算法能夠對所有問題而言是最合适的。不同機器學習算法的性能很大程度上取決于資料的大小和結構。是以,除非我們直接通過一次次實驗和錯誤來測試我們采取的算法,否則,如何選擇正确的算法通常仍然是不清楚的。
事物總有兩面性,每種機器算法也會有一些優點和缺點,我們可以根據其優點和缺點作為選擇合适算法的一種指導。雖然一種具體的算法并不總是優于另外一種算法,但我們可以根據每種算法本身具有的一些屬性作為快速選擇正确算法和調整超參數的指南。本文将分析一些針對回歸問題的典型機器算法,并根據其優勢和劣勢制定何時使用它們的規則。看完這篇文章,應該可以幫助你為回歸問題選擇出最佳的機器算法!
線性和多項式回歸
線性回歸
從簡單的情況開始講解,單變量線性回歸是一種技術,用于使用線性模型對單個輸入自變量(特征變量)和輸出因變量之間的關系進行模組化。更一般的情況是多變量線性回歸,其中為多個獨立輸入變量(特征變量)和輸出因變量之間的關系構模組化型。該模型保持線性,因為輸出是輸入變量的線性組合。
存在第三種最常見的情況被稱為多項式回歸,其中模型變為特征變量的非線性組合,即等式中可以存在指數變量、正弦項和餘弦項等。然而,這種情況需要知道資料如何與輸出相關,可以使用随機梯度下降(SGD)算法訓練回歸模型。
優點
- 能夠快速模組化,且當要模組化的關系不是非常複雜并且沒有大量資料時,該方法特别有用。
- 線性回歸很容易被了解,這對于業務決策而言顯得非常有價值。
缺點
- 對于非線性資料,多項式回歸在設計時可能非常具有挑戰性,因為必須具有關于資料結構和特征變量之間關系的一些資訊。
- 由于上述原因,當涉及高度複雜的資料時,這類模型不如其它模型好。
神經網絡
神經網絡由一組稱為神經元的節點互相連接配接組成。來自資料的輸入特征變量作為多變量線性組合傳遞給這些神經元,其中乘以每個特征變量的值稱為權重。然後将非線性應用于該線性組合,這給予神經網絡模拟複雜非線性關系的能力。神經網絡可以具有多層結構,每一層的輸出出以相同的方式傳遞給下一層。在最後的一層,即輸出端,通常不應用非線性。一般使用随機梯度下降(SGD)和反向傳播算法訓練神經網絡模型(如上圖所示)。
- 由于神經網絡可以有許多具有非線性的隐藏層,是以它們對于高度複雜的非線性關系模組化方面非常有效。
-
通常, 我們不必擔心神經網絡中的資料結構,該方法在對任何類型特征變量關系學習時都非常靈活。
研究表明,簡單地為網絡提供更多的訓練資料,無論是全新的資料,還是增加原始資料集,都有利于提升網絡的性能。
- 由于這類模型的複雜性,它們不易于解釋和了解。
- 它們在訓練時可能具有一定的挑戰性,且對計算性能有一定的要求,需要仔細的調整超參數和學習速率的設定。
- 神經網絡方法一般需要大量資料才能獲得高的性能,并且在“小資料”情況下通常優于其他的機器算法。
回歸樹和随機森林
随機森林
從基本情況開始說起,決策樹是一種直覺的模型,周遊樹的分支,并根據節點的決定來選擇下一個分支。樹形導入是将一組訓練執行個體作為輸入,決定哪些屬性是最佳分割,分割資料集以及在生成的分割資料集上重複操作,直到所有訓練執行個體都被分類務。在建構決策樹時,目标是分割建立最純子節點的屬性,這将使我們的資料集中的所有執行個體分類所需的分割數量保持最小。純度是通過資訊增益的概念來衡量的,資訊增益的概念與先前看不見的執行個體需要了解多少以便對其進行适當分類有關。在實踐中,一般是通過比較熵,或者如果要在給定屬性上進一步對目前資料集分區進行分區,則對單個執行個體進行分類的資訊量。
随機森林隻是決策樹的集合,輸入向量通過多個決策樹運作。對于回歸問題,所有樹的輸出值是取的平均值;對于分類問題,投票方案用于确定最終類别。
優點:
- 擅長學習複雜、高度非線性的關系。通常可以實作相當高的性能,優于多項式回歸,并且性能通常與神經網絡相當。
- 很容易被了解和了解。雖然最終訓練的模型可以學習到複雜的關系,但是在訓練期間建立的決策邊界很容易了解。
缺點:
- 由于在決策樹訓練時,可能很容易出現嚴重的過度拟合現象。完整的決策樹模型可能過于複雜并且包含不必要的結構,這種情況下有時可以通過适當的樹枝修剪和更大的随機森林集合來緩解。
- 使用較大的随機森林集合來實作更高的性能,這會使得訓練過程耗時長,且需要更多的記憶體。
結論
本文總結了一些針對于回歸問題的機器學習方法,辯證地分析了其各自的優缺點。可以根據具體問題選擇合适的機器學習算法以完成相應的任務。
數十款阿裡雲産品限時折扣中,趕緊點選領劵開始雲上實踐吧!
作者資訊
George Self,AI、機器學習工程師
LinkedIn:
https://www.linkedin.com/in/georgeseif/本文由阿裡雲雲栖社群組織翻譯。
文章原标題《Selecting the Best Machine Learning Algorithm for Your Regression Problem》,譯者:海棠,審校:Uncle_LLD。
文章為簡譯,更為詳細的内容,
請檢視原文。