常見機器學習算法優缺點比較

2021-01-08 OFweek維科網

  缺點

  · 當觀測樣本很多時,效率並不是很高;

  · 對非線性問題沒有通用解決方案,有時候很難找到一個合適的核函數;

  · 對缺失數據敏感;

  · 對於核的選擇也是有技巧的(libsvm中自帶了四種核函數:線性核、多項式核、RBF以及sigmoid核):

  · 第一,如果樣本數量小於特徵數,那麼就沒必要選擇非線性核,簡單的使用線性核就可以了;

  · 第二,如果樣本數量大於特徵數目,這時可以使用非線性核,將樣本映射到更高維度,一般可以得到更好的結果;

  · 第三,如果樣本數目和特徵數目相等,該情況可以使用非線性核,原理和第二種一樣。

  對於第一種情況,也可以先對數據進行降維,然後使用非線性核,這也是一種方法。

  7.人工神經網絡的優缺點

  人工神經網絡的優點:

  · 分類的準確度高;

  · 並行分布處理能力強,分布存儲及學習能力強,

  · 對噪聲神經有較強的魯棒性和容錯能力,能充分逼近複雜的非線性關係;

  · 具備聯想記憶的功能。

  人工神經網絡的缺點:

  · 神經網絡需要大量的參數,如網絡拓撲結構、權值和閾值的初始值;

  · 不能觀察之間的學習過程,輸出結果難以解釋,會影響到結果的可信度和可接受程度;

  · 學習時間過長,甚至可能達不到學習的目的。

  8、K-Means聚類

  之前寫過一篇關於K-Means聚類的文章,博文連結:機器學習算法-K-means聚類。關於K-Means的推導,裡面有著很強大的EM思想。

  優點

  · 算法簡單,容易實現;

  · 對處理大數據集,該算法是相對可伸縮的和高效率的,因為它的複雜度大約是O(nkt),其中n是所有對象的數目,k是簇的數目,t是迭代的次數。通常k<<n。這個算法通常局部收斂。

  · 算法嘗試找出使平方誤差函數值最小的k個劃分。當簇是密集的、球狀或團狀的,且簇與簇之間區別明顯時,聚類效果較好。

  缺點

  · 對數據類型要求較高,適合數值型數據;

  · 可能收斂到局部最小值,在大規模數據上收斂較慢

  · K值比較難以選取;

  · 對初值的簇心值敏感,對於不同的初始值,可能會導致不同的聚類結果;

  · 不適合於發現非凸面形狀的簇,或者大小差別很大的簇。

  · 對於」噪聲」和孤立點數據敏感,少量的該類數據能夠對平均值產生極大影響。

  算法選擇參考

  之前翻譯過一些國外的文章,有一篇文章中給出了一個簡單的算法選擇技巧:

  首當其衝應該選擇的就是邏輯回歸,如果它的效果不怎麼樣,那麼可以將它的結果作為基準來參考,在基礎上與其他算法進行比較;

  然後試試決策樹(隨機森林)看看是否可以大幅度提升你的模型性能。即便最後你並沒有把它當做為最終模型,你也可以使用隨機森林來移除噪聲變量,做特徵選擇;

  如果特徵的數量和觀測樣本特別多,那麼當資源和時間充足時(這個前提很重要),使用SVM不失為一種選擇。

  通常情況下:【GBDT>=SVM>=RF>=Adaboost>=Other…】,現在深度學習很熱門,很多領域都用到,它是以神經網絡為基礎的,目前我自己也在學習,只是理論知識不是很厚實,理解的不夠深,這裡就不做介紹了。

  算法固然重要,但好的數據卻要優於好的算法,設計優良特徵是大有裨益的。假如你有一個超大數據集,那麼無論你使用哪種算法可能對分類性能都沒太大影響(此時就可以根據速度和易用性來進行抉擇)。

  參考文獻

  [1]https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

  [2]http://blog.echen.me/2011/04/27/choosing-a-machine-learning-classifier/

  [3]http://www.csuldw.com/2016/02/26/2016-02-26-choosing-a-machine-learning-classifier/

相關焦點

  • 8種常見機器學習算法比較
    ,在機器學習中選擇一個恰當的算法十分重要,文中主要介紹了8種計算機算法及其優缺點,為大家進行算法選擇時提供一點意見。假如你在乎精度(accuracy)的話,最好的方法就是通過交叉驗證(cross-validation)對各個算法一個個地進行測試,進行比較,然後調整參數確保每個算法達到最優解,最後選擇最好的一個。但是如果你只是在尋找一個「足夠好」的算法來解決你的問題,或者這裡有些技巧可以參考,下面來分析下各個算法的優缺點,基於算法的優缺點,更易於我們去選擇它。
  • 「機器學習」機器學習算法優缺點對比(匯總篇)
    文中內容結合了個人在查閱資料過程中收集到的前人總結,同時添加了部分自身總結,在這裡,依據實際使用中的經驗,將對此模型優缺點及選擇詳加討論。主要回顧下幾個常用算法的適應場景及其優缺點!機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容易,所以在實際應用中,我們一般都是採用啟發式學習方式來實驗。
  • 各種機器學習分類算法的優缺點
    機器學習中有許多分類算法。本文將介紹分類中使用的各種機器學習算法的優缺點,還將列出他們的應用範圍。SVM(支持向量機)SVM的優點:1.在高維中表現良好。在現實世界中有無限維度(不僅僅是2D和3D)。例如,圖像數據、基因數據、醫學數據等具有更高的維數,支持向量機在這方面是有用的。基本上,當特徵/列的數量較多時,SVM表現良好。
  • 三張圖讀懂機器學習:基本概念、五大流派與九種常見算法
    四大會計師事務所之一的普華永道(PwC)近日發布了多份解讀機器學習基礎的圖表,其中介紹了機器學習的基本概念、原理、歷史、未來趨勢和一些常見的算法。為便於讀者閱讀,機器之心對這些圖表進行了編譯和拆分,分三大部分對這些內容進行了呈現,其中也加入了一些擴展連結,希望能幫助你進一步擴展閱讀。 一、機器學習概覽
  • 回歸、分類與聚類:三大方向剖解機器學習算法的優缺點
    在本教程中,作者對現代機器學習算法進行一次簡要的實戰梳理。雖然類似的總結有很多,但是它們都沒有真正解釋清楚每個算法在實踐中的好壞,而這正是本篇梳理希望完成的。因此本文力圖基於實踐中的經驗,討論每個算法的優缺點。
  • 機器學習——超全的機器學習算法崗面試與提問總結
    就自己的經驗總結一些準備機器學習算法崗位求職的粗淺經驗,簡要地分享一下。一個完整的機器學習工程師的面試過程主要有以下這些環節:自我介紹、項目介紹、算法推導和解釋、數據結構與算法題(寫代碼)。與感知器的聯繫和優缺點比較如何解決多分類問題、可以做回歸嗎,怎麼做它與其他分類器對比的優缺點,它的速度機器學習有很多關於核函數的說法,核函數的定義和作用是什麼?https://www.zhihu.com/question/24627666支持向量機(SVM)是否適合大規模數據?
  • 常見的機器學習算法,你知道幾個?
    誕生於1956年的人工智慧,由於受到智能算法、計算速度、存儲水平等因素的影響,在六十多年的發展過程中經歷了多次高潮和低谷。最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。提到機器學習這個詞時,有些人首先想到的可能是科幻電影裡的機器人。
  • AI產品經理必修課:機器學習算法
    三個名詞之間的關係人工智慧>機器學習>深度學習以機器學習算法是否應用了神經網絡作為區分標準,應用了多隱含層神經網絡的機器學習就是深度學習。4. 對AI產品經理的要求熟悉機器學習流程(詳見文章第三部分);了解機器學習可以解決的問題分類(詳見文章第四部分);了解算法的基本原理;了解工程實踐中算數據和計算資源三者間的依賴關係等。
  • AI算法機器學習常見面試題(三)
    樸素貝葉斯 = 貝葉斯公式 + 條件獨立假設,在實際使用過程中,樸素貝葉斯完全只需要關注P(A,B)=P(A)P(B/A)即可樸素貝葉斯中出現的常見模型有哪些拉普拉斯平滑樸素貝葉斯的優缺點其中比較典型的有一對一,和一對多可以做回歸嗎,怎麼做?
  • 常見機器學習算法背後的數學
    不同的機器學習算法是如何從數據中學習並預測未見數據的呢機器學習算法是這樣設計的,它們從經驗中學習,當它們獲取越來越多的數據時,性能就會提高。每種算法都有自己學習和預測數據的方法。在本文中,我們將介紹一些機器學習算法的功能,以及在這些算法中實現的有助於學習過程的一些數學方程。
  • 回歸、分類與聚類:三大方向剖解機器學習算法的優缺點(附Python和R...
    選自EliteDataScience機器之心編譯參與:蔣思源、晏奇在本教程中,作者對現代機器學習算法進行一次簡要的實戰梳理。雖然類似的總結有很多,但是它們都沒有真正解釋清楚每個算法在實踐中的好壞,而這正是本篇梳理希望完成的。因此本文力圖基於實踐中的經驗,討論每個算法的優缺點。而機器之心也在文末給出了這些算法的具體實現細節。
  • ...分類與聚類:三大方向剖解機器學習算法的優缺點(附Python和R實現)
    選自EliteDataScience機器之心編譯參與:蔣思源、晏奇在本教程中,作者對現代機器學習算法進行一次簡要的實戰梳理。雖然類似的總結有很多,但是它們都沒有真正解釋清楚每個算法在實踐中的好壞,而這正是本篇梳理希望完成的。因此本文力圖基於實踐中的經驗,討論每個算法的優缺點。而機器之心也在文末給出了這些算法的具體實現細節。
  • Python機器學習算法:線性回歸
    機器學習實踐者必須知道的。這通常是初學者第一次接觸的機器學習算法,了解它的操作方式對於更好地理解它至關重要。所以,簡單地說,讓我們來分解一下真正的問題:什麼是線性回歸?線性回歸定義線性回歸是一種有監督的學習算法,旨在採用線性方法來建模因變量和自變量之間的關係。
  • 機器學習算法集錦:從貝葉斯到深度學習及各自優缺點
    選自static.coggle.it機器之心編譯在我們日常生活中所用到的推薦系統、智能圖片美化應用和聊天機器人等應用中,各種各樣的機器學習和數據處理算法正盡職盡責地發揮著自己的功效。本文篩選並簡單介紹了一些最常見算法類別,還為每一個類別列出了一些實際的算法並簡單介紹了它們的優缺點。
  • 算法應用|機器學習python應用,初識機器學習是怎樣滴感受?
    一般是在數據組中包含最終結果(0 , 1),通過算法讓機器自己減少誤差。這一類學習主要應用於分類和預測(Regression &Classify) 。監督學習從給定的訓練數據集中學習出一個目標函數,當新的數據到來時,可以根據這個函數預測結果。監督學習的訓練集要求包括輸入和輸出,也可以說包括特徵和目標,訓練集中的目標是由人標註的。常見的監督學習算法包括回歸分析和統計分類。
  • 機器學習模型算法「知多少」?
    眾所周知,機器學習模型通常包括分類模型、回歸模型、聚類模型、預測模型、關聯挖掘模型等。它們分別用於解決不同的問題以及應用於不同的營銷場景。今天,讓我們就ML中最常見的分類模型進行一番剖析。針對不同的分類任務、不同的數據以及不同的適應場景,分類中有著不同的分類算法。常見的分類方法包括:決策樹、貝葉斯、K近鄰、支持向量機、工神經網絡等。
  • 機器學習算法盤點:人工神經網絡、深度學習
    機器學習算法盤點:人工神經網絡、深度學習 佚名 發表於 2016-08-01 16:26:33   機器學習無疑是當前數據分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的算法。
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    機器學習算法概述「機器智能是人類永遠需要的一項發明。」— Nick Bostrom.如果您可以回顧幾年前的AI並將其與現在的AI進行比較,您會驚訝地發現AI的發展速度隨著時間的增長呈指數級增長。它已擴展到各種領域,例如ML,Expert Systems,NLP等數十個領域。
  • AI算法機器學習常見面試題(二)
    常見決策樹的優缺點有特徵選擇等輔助功能缺點:處理關聯性數據比較薄弱特徵選擇方向:對於某個特徵,如果用另外一個隨機值替代它之後的表現比之前更差,則表明該特徵比較重要,所佔的權重應該較大,不能用一個隨機值替代。
  • 機器學習算法匯總:人工神經網絡、深度學習及其它
    【編者按】機器學習的算法很多。很多時候困惑人們都是,很多算法是一類算法,而有些算法又是從其他算法中延伸出來的。這裡,我們從兩個方面來給大家介紹,第一個方面是學習的方式,第二個方面是算法的類似性。本文來自IT經理網。