如何為一個回歸問題找出最好的機器學習演算法?[機器學習 演算法 介紹]
如何為一個回歸問題找出最好的機器學習演算法?[機器學習 演算法 介紹]
01.線性和多項式回歸
優點:
建模速度快,在模型結構不複雜並且數據較少的情況下很有用。
線性回歸易於理解,在商業決策時很有價值。
缺點:
對非線性數據來說,多項式回歸在設計時有難度,因為在這種情況下必須瞭解數據結構和特徵變量之間的關係。
綜上,遇到複雜數據時,這些模型的表現就不理想了。
02.回歸樹和隨機森林
優點:
對複雜、高度非線性的關係非常實用。它們通常能達到非常高的表現性能,比多項式回歸更好。
易於使用理解。雖然最後的訓練模型會學會很多複雜的關係,但是訓練過程中的決策邊界易於理解。
缺點:
由於訓練決策樹的本質,它們更易於過度擬合。一個完整的決策樹模型會非常複雜,并包含很多不必要的結構。雖然有時通過“修剪”和與更大的隨機森林結合可以減輕這一狀況。
利用更大的隨機森林,可以達到更好地效果,但同時會拖慢速度,需要更多內存。
03.神經網絡和深度學習
優點:
由於神經網絡有很多層(所以就有很多參數),同時是非線性的,它們能高效地對複雜的非線性關係進行建模。
通常我們不用擔心神經網絡中的數據,它們在學習任何特徵向量關係時都很靈活。
研究表明,單單增加神經網絡的訓練數據,不論是新數據還是對原始數據進行增強,都會提高網絡性能。
缺點:
由於模型的複雜性,它們不容易被理解。
訓練時可能有難度,同時需要大量計算力、仔細地調參並且設置好學習速率。
它們需要大量數據才能達到較高的性能,與其他機器學習相比,在小數據集上通常表現更優。
心得
已知分類方法使用01或02,未知分類方法用03
4 thoughts on “如何為一個回歸問題找出最好的機器學習演算法?[機器學習 演算法 介紹]”
機器學習必學10大演算法
資料來源:https://mp.weixin.qq.com/s/PT2zu5Wm-_MxgRdC4DVWIQ
1. 線性回歸: y=b1x+b0
2. Logistic 回歸:它是二分類問題的首選方法
3. 線性判別分析(LDA)
4. 分類和回歸樹
5. 樸素貝葉斯
6. K 最近鄰演算法(KNN)
7. 學習向量量化(LVQ)
8. 支持向量機(SVM)
9. 袋裝法和隨機森林
10. Boosting 和 AdaBoost
機器學習 方法 選擇
機器學習 方法 選擇 選用 挑選 對應
演算法選擇參考
https://www.itread01.com/content/1541334303.html
之前翻譯過一些國外的文章,有一篇文章中給出了一個簡單的演算法選擇技巧:
1. 首當其衝應該選擇的就是邏輯迴歸,如果它的效果不怎麼樣,那麼可以將它的結果作為基準來參考,在基礎上與其他演算法進行比較;
2. 然後試試決策樹(隨機森林)看看是否可以大幅度提升你的模型效能。即便最後你並沒有把它當做為最終模型,你也可以使用隨機森林來移除噪聲變數,做特徵選擇;
3. 如果特徵的數量和觀測樣本特別多,那麼當資源和時間充足時(這個前提很重要),使用SVM不失為一種選擇。
通常情況下:【GBDT>=SVM>=RF>=Adaboost>=Other…】,現在深度學習很熱門,很多領域都用到,它是以神經網路為基礎的,目前我自己也在學習,只是理論知識不是很厚實,理解的不夠深,這裡就不做介紹了。
演算法固然重要,但好的資料卻要優於好的演算法,設計優良特徵是大有裨益的。假如你有一個超大資料集,那麼無論你使用哪種演算法可能對分類效能都沒太大影響(此時就可以根據速度和易用性來進行抉擇)。