常見的機器學習算法,你知道幾個?

2021-01-10 天極網

誕生於1956年的人工智慧,由於受到智能算法、計算速度、存儲水平等因素的影響,在六十多年的發展過程中經歷了多次高潮和低谷。最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。

提到機器學習這個詞時,有些人首先想到的可能是科幻電影裡的機器人。事實上,機器學習是一門多領域交叉學科,涉及概率論、統計學、算法複雜度理論等多門學科。專門研究計算機如何模擬或實現人類的學習行為,利用數據或以往的經驗,以此優化電腦程式的性能標準。

根據學習任務的不同,我們可以將機器學習分為監督學習、非監督學習、強化學習三種類型,而每種類型又對應著一些算法。

各種算法以及對應的任務類型

接下來就簡單介紹幾種常用的機器學習算法及其應用場景,通過本篇文章大家可以對機器學習的常用算法有個常識性的認識。

 一、監督學習

(1)支持向量機(Support Vector Machine,SVM):是一類按監督學習方式對數據進行二元分類的廣義線性分類器,其決策邊界是對學習樣本求解的最大邊距超平面。例如,在紙上有兩類線性可分的點,支持向量機會尋找一條直線將這兩類點區分開來,並且與這些點的距離都儘可能遠。

優點:泛化錯誤率低,結果易解釋。

缺點:對大規模訓練樣本難以實施,解決多分類問題存在困難,對參數調節和核函數的選擇敏感。

應用場景:文本分類、人像識別、醫學診斷等。

(2)決策樹(Decision Tree):是一個預測模型,代表的是對象屬性與對象值之間的一種映射關係。下圖是如何在決策樹中建模的簡單示例:

優點:易於理解和解釋,可以可視化分析,容易提取出規則;能夠處理不相關的特徵。

缺點:對缺失數據處理比較困難。

應用場景:在決策過程應用較多。

(3)樸素貝葉斯分類(Naive Bayesian classification):對於給出的待分類項,求解此項出現的條件下各個類別出現的概率,哪個最大,就認為此待分類屬於哪個類別。貝葉斯公式為:p(A|B)= p(B|A)*p(A/p(B),其中P(A|B)表示後驗概率,P(B|A)是似然值,P(A)是類別的先驗概率,P(B)代表預測器的先驗概率。

優點:在數據較少的情況下仍然有效,可以處理多類別問題。

缺點:對輸入數據的準備方式較為敏感。

應用場景:文本分類、人臉識別、欺詐檢測。

(4)k-近鄰算法(K-Nearest Neighbor,KNN):是一種基於實例的學習,採用測量不同特徵值之間的距離方法進行分類。其基本思路是:給定一個訓練樣本集,然後輸入沒有標籤的新數據,將新數據的每個特徵與樣本集中數據對應的特徵進行比較,找到最鄰近的k個(通常是不大於20的整數)實例,這k個實例的多數屬於某個類,就把該輸入實例分類到這個類中。

優點:簡單、易於理解、易於實現,無需估計參數。此外,與樸素貝葉斯之類的算法比,無數據輸入假定、準確度高、對異常數據值不敏感。

缺點:對於訓練數據依賴程度比較大,並且缺少訓練階段,無法應對多樣本。

應用場景:字符識別、文本分類、圖像識別等領域。

 二、非監督學習

(1)主成分分析(Principal Component Analysis,PCA):是一種統計方法。其主要思想是將n維特徵映射到k維上,這k維是全新的正交特徵也被稱為主成分,是在原有n維特徵的基礎上重新構造出來的k維特徵。

優點:降低數據的複雜性,識別最重要的多個特徵。

缺點:主成分各個特徵維度的含義具有一定的模糊性,不如原始樣本特徵的解釋性強;有可能損失有用的信息。

應用場景:語音、圖像、通信的分析處理。

(2)奇異值分解(Singular Value Decomposition,SVD):可以將一個比較複雜的矩陣用更小更簡單的幾個子矩陣的相乘來表示,這些小矩陣描述的是矩陣的重要的特性。

優點:簡化數據,去除噪聲點,提高算法的結果。

缺點:數據的轉換可能難以理解。

應用場景:推薦系統、圖片壓縮等。

(3)K-均值聚類(K-Means):是一種迭代求解的聚類分析算法,採用距離作為相似性指標。其工作流程是隨機確定K個對象作為初始的聚類中心,然後計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。

優點:算法簡單容易實現。

缺點:可能收斂到局部最小值,在大規模數據集上收斂較慢。

應用場景:圖像處理、數據分析以及市場研究等。

三、強化學習

Q-learning:是一個基於值的強化學習算法,它根據動作值函數評估應該選擇哪個動作,這個函數決定了處於某一個特定狀態以及在該狀態下採取特定動作的獎勵期望值。

優點:可以接收更廣的數據範圍。

缺點:缺乏通用性。

應用場景:遊戲開發。

以上就是文章的全部內容,相信大家對常用的機器學習算法應該有了大致的了解。

現如今,我們越來越多地看到機器學習算法為人類帶來的實際價值,如它們提供了關鍵的洞察力和信息來報告戰略決策。可以肯定的是,隨著機器學習越來越流行,未來還將出現越來越多能很好地處理任務的算法。

相關焦點

  • 想了解機器學習?你需要知道的十個基礎算法
    ,你需要知道的十個基礎算法毫無疑問,作為人工智慧的子領域—機器學習在過去的幾年中越來越受歡迎。由於大數據是目前科技行業最熱門的趨勢,基於大量的數據機器學習在提前預測和做出建議方面有巨大的潛力。一些有關機器學習常見的例子有:Netflix基於你以前看過的電影再給你做出影片的推薦,或者亞馬遜根據你以前買過的書籍再給你進行圖書推薦。如果想了解更多有關機器學習的知識,要從哪裡開始呢?作者第一次入門是在哥本哈根海外交流時選了一門有關人工智慧的課程。
  • Python入門5大機器學習算法(附代碼),你知道哪幾個?
    下面我們看下Python的5個機器學習算法(附代碼)1、線性回歸線性回歸通常用於根據連續變量估計實際數值(房價、呼叫次數、總銷售額等)。我們通過擬合最佳直線來建立自變量和因變量的關係。這條最佳直線叫做回歸線,並且用 Y= a *X + b 這條線性等式來表示。
  • 8種常見機器學習算法比較
    簡介機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容易,所以在實際應用中,我們一般都是採用啟發式學習方式來實驗。通常最開始我們都會選擇大家普遍認同的算法,諸如SVM,GBDT,Adaboost,現在深度學習很火熱,神經網絡也是一個不錯的選擇。
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    機器學習算法概述「機器智能是人類永遠需要的一項發明。」— Nick Bostrom.如果您可以回顧幾年前的AI並將其與現在的AI進行比較,您會驚訝地發現AI的發展速度隨著時間的增長呈指數級增長。它已擴展到各種領域,例如ML,Expert Systems,NLP等數十個領域。
  • 數據科學家應該知道的頂級機器學習算法
    機器學習算法簡介有兩種方法可以對您可能在現場遇到的機器學習算法進行分類。首先是按照學習風格對算法進行分組。第二個是通過形式或功能上的相似性對算法進行分組。通常,兩種方法都是有用的。但是,我們將專注於通過相似性進行算法分組,並瀏覽各種不同的算法類型。
  • 17個機器學習的常用算法!
    在機器學習或者人工智慧領域,人們首先會考慮算法的學習方式。在機器學習領域,有幾種主要的學習方式。將算法按照學習方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據輸入數據來選擇最合適的算法來獲得最好的結果。1. 監督式學習:
  • 新手必看的十種機器學習算法
    例如,你不能說神經網絡就一定比決策樹好,反之亦然。要判斷算法優劣,數據集的大小和結構等眾多因素都至關重要。所以,你應該針對你的問題嘗試不同的算法。然後使用保留的測試集對性能進行評估,選出較好的算法。當然,算法必須適合於你的問題。就比如說,如果你想清掃你的房子,你需要吸塵器,掃帚,拖把。而不是拿起鏟子去開始挖地。
  • 三張圖讀懂機器學習:基本概念、五大流派與九種常見算法
    機器學習正在進步,我們似乎正在不斷接近我們心中的人工智慧目標。語音識別、圖像檢測、機器翻譯、風格遷移等技術已經在我們的實際生活中開始得到了應用,但機器學習的發展仍還在繼續,甚至被認為有可能徹底改變人類文明的發展方向乃至人類自身。但你了解現在正在發生的這場變革嗎?
  • 入門| 機器學習新手必看10大算法
    因此,你應該針對具體問題嘗試多種不同算法,並留出一個數據「測試集」來評估性能、選出優勝者。 當然,你嘗試的算法必須適合你的問題,也就是選擇正確的機器學習任務。打個比方,如果你需要打掃房子,你可能會用吸塵器、掃帚或拖把,但是你不會拿出鏟子開始挖土。
  • 常見機器學習算法優缺點比較
    8、K-Means聚類  之前寫過一篇關於K-Means聚類的文章,博文連結:機器學習算法-K-means聚類。關於K-Means的推導,裡面有著很強大的EM思想。  · 算法嘗試找出使平方誤差函數值最小的k個劃分。當簇是密集的、球狀或團狀的,且簇與簇之間區別明顯時,聚類效果較好。
  • Python機器學習10:機器學習中的六種分類算法及實現(上)
    在機器學習中,可以使用多種算法模型解決同一個問題,那麼如何從中選擇出最佳的算法模型呢?當然,這個問題沒有一種固定的答案,需要根據不同的問題,嘗試使用多種機器學習方法,比較各種算法模型在該問題上的效果,最終才能決定究竟選擇哪一種模型。
  • 盤點:十大機器學習算法及其應用
    毫無疑問,過去兩年中,機器學習和人工智慧的普及度得到了大幅提升。如果你想學習機器算法,要從何下手呢?以我為例,我是在哥本哈根留學期間,學習AI課程入門的。我們用的教科書是一本AI經典:《Peter Norvig’s Artificial Intelligence?—?A Modern Approach》。
  • 機器學習入門必讀:6種簡單實用算法及學習曲線、思維導圖
    01 機器學習算法1. 分類算法這是一種監督學習方法。有很多算法幫助我們解決分類問題,比如K近鄰、決策樹、樸素貝葉斯、貝葉斯網絡、邏輯回歸、SVM等算法。人工神經網絡和深度學習也往往用來解決分類問題。這些都是常見和常用的分類算法,只不過不同的算法都有其優劣,會應用在不同的場景下。我們舉一個例子。
  • 十大機器學習算法之旅已啟程
    因此,你應該為你的問題嘗試許多不同的算法,同時使用數據的「測試集」來評估性能並選擇勝出者。  當然,你嘗試的算法必須適合你的問題,這就是選擇正確的機器學習任務的地方。打一個比方,如果你需要清理你的房子,你可以使用真空吸塵器、掃帚或拖把,但是你不會用一個鏟子來挖掘。
  • 機器學習初學者必須知道的十大算法
    還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。ML算法是可以從數據中學習並從中改進的算法,無需人工幹預。
  • 機器學習算法盤點:人工神經網絡、深度學習
    機器學習算法盤點:人工神經網絡、深度學習 佚名 發表於 2016-08-01 16:26:33   機器學習無疑是當前數據分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的算法。
  • 機器學習十大算法都是何方神聖?
    跟我們生活息息相關的最常見機器學習算法包括電影推薦算法、圖書推薦算法。這些算法都是基於你的電影觀看記錄或圖書購買記錄來給你做推薦的。James Le在KDnuggets上發布了一篇文章,介紹了他是如何入門機器學習的。此外,他在其中摸索出十大常用的機器學習算法,並逐一進行介紹。雷鋒網編譯如下,未經許可不得轉載。如果你想學機器學習,那怎麼入門呢?
  • 算法應用|機器學習python應用,簡單機器學習項目實踐
    可以說這並不是一個正式的項目,只是用來做一個簡單的展示,用於給初次接觸機器學習的讀者快速了解機器學習的過程和結果。1 機器學習中的Hello World頂目學習編程時,往往我們的第一句代碼就是print(「Hello World」),而接下來的這個數據集,可以說得上是機器學習中的Hello World頂目,入門學習機器學習的過程中最常見的一個數據集。
  • 分享最適合新手入門的10種機器學習算法
    首要原則 然而,在為監督式機器學習創建預測模型之前,要記得一條最重要的原則: 機器學習算法可以看做學習一種目標函數(f),該函數是輸入變量(X)到輸出變量(Y)的完美映射:Y=f(X) 這是一個通用的學習任務,我們希望用新輸入的變量(X)能輸出預測變量(Y)。我們不知道函數(f)是什麼樣子的,或者什麼形式的。
  • 機器學習十大算法都是何方神聖?看完你就懂了
    大數據原本在工業界中就已經炙手可熱,而基於大數據的機器學習則更加流行,因為其通過對數據的計算,可以實現數據預測、為公司提供決策依據。跟我們生活息息相關的最常見機器學習算法包括電影推薦算法、圖書推薦算法。這些算法都是基於你的電影觀看記錄或圖書購買記錄來給你做推薦的。James Le 在 KDnuggets 上發布了一篇文章,介紹了他是如何入門機器學習的。