人工智能機器學習常用算法總結及各個常用算法精確率對比_相關技巧

來源:腳本之家  責任編輯:小易  

什么是人工智能?它和神經網絡、機器學習、深度學習、數據挖掘這類熱門詞匯有什么關系?人工智能(AI)是一門綜合了計算機科學、生理學、哲學的交叉學科。凡是使用機器代替人類實現認知、識別、分析、決策等功能,均可認為使用了人工智能技術。撇開復雜的概念和高冷的定義,一圖看懂人工智能相關領域的錯綜復雜的關系。由圖可見,人工智能、機器學習、深度學習并非是層層包含的關系,而最近火熱的神經網絡也只是與人工智能有交叉而非人工智能的實現方式或者子集。所以,他們的關系是這些學科的部分知識和人工智能交叉在一起,你不一定全部要掌握,但是一定要了解。如何學習人工智能人工智能涉及到的學科范圍實在是太廣了,但是萬變不離其宗,任何一門技術都需要打好扎實的基礎,我的建議是數學,概率論,統計學,線性代數這些大學要學習的基本學科是一定要學會的,不止是會,還要懂得運用和思考。如果你是一個還沒入門的初學者,我推薦看《人工智能基礎(高中版)》,沒有涉及到大量的算法,講的都是一些基本的原理,里面也涉及到一些數學知識,我們公司每個人都要看的一本書,能夠讓普通人也能大體明白人工智能相關的知識www.13333515.buzz防采集請勿采集本網。

本文講解了機器學習常用算法總結和各個常用分類算法精確率對比。收集了現在比較熱門的TensorFlow、Sklearn,借鑒了Github和一些國內外的文章。

機器學習才能有人工智能呢,可以到這邊看看學習參觀

機器學習的知識樹,這個圖片是Github上的,有興趣的可以自己去看一下:

在接下來有人解決了隱層訓練問題,又一下子活躍起來了,大概活躍到了上世紀70年代,劃時代的SVM提出來了,至此機器學習從以仿生為主正式轉為以統計學為主;接下來是1995年AdaBoost算法提出,實現了多分類

地址:https://github.com/trekhleb/homemade-machine-learning

二、機器學習是實現人工智能的一種重要方法。1、機器學習按照方法來分,可以分成四類,分別是:監督學習、無監督學習、半監督學習和強化學習。2、監督學習針對有標簽數據集,它通過學習出一個模型(其實

簡單的翻譯一下這個樹:

英文 中文
Machine Learning 機器學習
Supervised Learning 監督學習
Unsupervised Learning 非監督學習
Reinforcement Learning 強化學習
Neural Networks and Deep Learning 神經網絡與深度學習
Ensemble Learning 集成學習

需要數學基礎:高等數學,線性代數,概率論數理統計和隨機過程,離散數學,數值分析。數學基礎知識蘊含著處理智能問題的基本思想與方法,也是理解復雜算法的必備要素。今天的種種人工智能技術

以下是一部分算法的概念和應用,僅供大家參考

監督學習

機器學習常見算法分類匯總機器學習無疑是當前數據分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的算法。這里IT經理網為您總結一下常見的機器學習算法,以供您在工作和學習中參考

監督學習可以看作是原先的預測模型,有基礎的訓練數據,再將需要預測的數據進行輸入,得到預測的結果(不管是連續的還是離散的)

決策樹(Decision Tree,DT)

決策樹是一種樹形結構,為人們提供決策依據,決策樹可以用來回答yes和no問題,它通過樹形結構將各種情況組合都表示出來,每個分支表示一次選擇(選擇yes還是no),直到所有選擇都進行完畢,最終給出正確答案。

決策樹(decision tree)是一個樹結構(可以是二叉樹或非二叉樹)。在實際構造決策樹時,通常要進行剪枝,這時為了處理由于數據中的噪聲和離群點導致的過分擬合問題。剪枝有兩種:

先剪枝——在構造過程中,當某個節點滿足剪枝條件,則直接停止此分支的構造。

后剪枝——先構造完成完整的決策樹,再通過某些條件遍歷樹進行剪枝。

樸素貝葉斯分類器(Naive Bayesian Model,NBM)

樸素貝葉斯分類器基于貝葉斯定理及其假設(即特征之間是獨立的,是不相互影響的),主要用來解決分類和回歸問題。

具體應用有:

標記一個電子郵件為垃圾郵件或非垃圾郵件;

將新聞文章分為技術類、政治類或體育類;

檢查一段文字表達積極的情緒,或消極的情緒;

用于人臉識別軟件。

學過概率的同學一定都知道貝葉斯定理,這個在250多年前發明的算法,在信息領域內有著無與倫比的地位。貝葉斯分類是一系列分類算法的總稱,這類算法均以貝葉斯定理為基礎,故統稱為貝葉斯分類。樸素貝葉斯算法(Naive Bayesian) 是其中應用最為廣泛的分類算法之一。樸素貝葉斯分類器基于一個簡單的假定:給定目標值時屬性之間相互條件獨立。

最小二乘法(Least squares)

你可能聽說過線性回歸。最小均方就是用來求線性回歸的。如下圖所示,平面內會有一系列點,然后我們求取一條線,使得這條線盡可能擬合這些點分布,這就是線性回歸。這條線有多種找法,最小二乘法就是其中一種。最小二乘法其原理如下,找到一條線使得平面內的所有點到這條線的歐式距離和最小。這條線就是我們要求取得線。

邏輯回歸(Logistic Regression)

邏輯回歸模型是一個二分類模型,它選取不同的特征與權重來對樣本進行概率分類,用一個log函數計算樣本屬于某一類的概率。即一個樣本會有一定的概率屬于一個類,會有一定的概率屬于另一類,概率大的類即為樣本所屬類。用于估計某種事物的可能性。

支持向量機(Support Vector Machine)

支持向量機(support vector machine)是一個二分類算法,它可以在N維空間找到一個(N-1)維的超平面,這個超平面可以將這些點分為兩類。也就是說,平面內如果存在線性可分的兩類點,SVM可以找到一條最優的直線將這些點分開。SVM應用范圍很廣。

要將兩類分開,想要得到一個超平面,最優的超平面是到兩類的margin達到最大,margin就是超平面與離它最近一點的距離,如下圖,Z2>Z1,所以綠色的超平面比較好。

K最近鄰算法(KNN,K-NearestNeighbor)

鄰近算法,或者說K最近鄰(KNN,K-NearestNeighbor)分類算法是數據挖掘分類技術中最簡單的方法之一。KNN算法的核心思想是如果一個樣本在特征空間中的k個最相鄰的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別,并具有這個類別上樣本的特性。該方法在確定分類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。 KNN方法在類別決策時,只與極少量的相鄰樣本有關。由于KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。

主要應用領域是對未知事物的識別,即判斷未知事物屬于哪一類,判斷思想是,基于歐幾里得定理,判斷未知事物的特征和哪一類已知事物的的特征最接近。如上圖,綠色圓要被決定賦予哪個類,是紅色三角形還是藍色四方形?如果K=3,由于紅色三角形所占比例為2/3,綠色圓將被賦予紅色三角形那個類,如果K=5,由于藍色四方形比例為3/5,因此綠色圓被賦予藍色四方形類。由此也說明了KNN算法的結果很大程度取決于K的選擇。

集成學習(Ensemble Learning)

集成學習就是將很多分類器集成在一起,每個分類器有不同的權重,將這些分類器的分類結果合并在一起,作為最終的分類結果。最初集成方法為貝葉斯決策。

集成算法用一些相對較弱的學習模型獨立地就同樣的樣本進行訓練,然后把結果整合起來進行整體預測。集成算法的主要難點在于究竟集成哪些獨立的較弱的學習模型以及如何把學習結果整合起來。這是一類非常強大的算法,同時也非常流行。

常見的算法包括:

 Boosting, Bootstrapped Aggregation(Bagging),

 AdaBoost,堆疊泛化(Stacked Generalization, Blending),

 梯度推進機(Gradient Boosting Machine, GBM),隨機森林(Random Forest)。

那么集成方法是怎樣工作的,為什么他們會優于單個的模型?

他們拉平了輸出偏差:如果你將具有民主黨傾向的民意調查和具有共和黨傾向的民意調查取平均,你將得到一個中和的沒有傾向一方的結果。

它們減小了方差:一堆模型的聚合結果和單一模型的結果相比具有更少的噪聲。在金融領域,這被稱為多元化——多只股票的混合投資要比一只股票變化更小。這就是為什么數據點越多你的模型會越好,而不是數據點越少越好。

它們不太可能產生過擬合:如果你有一個單獨的沒有過擬合的模型,你是用一種簡單的方式(平均,加權平均,邏輯回歸)將這些預測結果結合起來,然后就沒有產生過擬合的空間了。

無監督學習

聚類算法

聚類算法就是將一堆數據進行處理,根據它們的相似性對數據進行聚類。

聚類,就像回歸一樣,有時候人們描述的是一類問題,有時候描述的是一類算法。聚類算法通常按照中心點或者分層的方式對輸入數據進行歸并。所以的聚類算法都試圖找到數據的內在結構,以便按照最大的共同點將數據進行歸類。常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。

聚類算法有很多種,具體如下:中心聚類、關聯聚類、密度聚類、概率聚類、降維、神經網絡/深度學習。

K-均值算法(K-Means)

K-means算法是硬聚類算法,是典型的基于原型的目標函數聚類方法的代表,它是數據點到原型的某種距離作為優化的目標函數,利用函數求極值的方法得到迭代運算的調整規則。K-means算法以歐式距離作為相似度測度,它是求對應某一初始聚類中心向量V最優分類,使得評價指標J最小。算法采用誤差平方和準則函數作為聚類準則函數。K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評價指標,即認為兩個對象的距離越近,其相似度就越大。該算法認為簇是由距離靠近的對象組成的,因此把得到緊湊且獨立的簇作為最終目標。

通常,人們根據樣本間的某種距離或者相似性來定義聚類,即把相似的(或距離近的)樣本聚為同一類,而把不相似的(或距離遠的)樣本歸在其他類。

主成分分析(Principal Component Analysis,PCA)

主成分分析是利用正交變換將一些列可能相關數據轉換為線性無關數據,從而找到主成分。PCA方法最著名的應用應該是在人臉識別中特征提取及數據降維。

PCA主要用于簡單學習與可視化中數據壓縮、簡化。但是PCA有一定的局限性,它需要你擁有特定領域的相關知識。對噪音比較多的數據并不適用。

SVD矩陣分解(Singular Value Decomposition)

也叫奇異值分解(Singular Value Decomposition),是線性代數中一種重要的矩陣分解,是矩陣分析中正規矩陣酉對角化的推廣。在信號處理、統計學等領域有重要應用。SVD矩陣是一個復雜的實復負數矩陣,給定一個m行、n列的矩陣M,那么M矩陣可以分解為M = UΣV。U和V是酉矩陣,Σ為對角陣。

PCA實際上就是一個簡化版本的SVD分解。在計算機視覺領域,第一個臉部識別算法就是基于PCA與SVD的,用特征對臉部進行特征表示,然后降維、最后進行面部匹配。盡管現在面部識別方法復雜,但是基本原理還是類似的。

獨立成分分析(ICA)

獨立成分分析(Independent Component Analysis,ICA)是一門統計技術,用于發現存在于隨機變量下的隱性因素。ICA為給觀測數據定義了一個生成模型。在這個模型中,其認為數據變量是由隱性變量,經一個混合系統線性混合而成,這個混合系統未知。并且假設潛在因素屬于非高斯分布、并且相互獨立,稱之為可觀測數據的獨立成分。

ICA與PCA相關,但它在發現潛在因素方面效果良好。它可以應用在數字圖像、檔文數據庫、經濟指標、心里測量等。

上圖為基于ICA的人臉識別模型。實際上這些機器學習算法并不是全都像想象中一樣復雜,有些還和高中數學緊密相關。

強化學習

Q-Learning算法

Q-learning要解決的是這樣的問題:一個能感知環境的自治agent,怎樣通過學習選擇能達到其目標的最優動作。

強化學習目的是構造一個控制策略,使得Agent行為性能達到最大。Agent從復雜的環境中感知信息,對信息進行處理。Agent通過學習改進自身的性能并選擇行為,從而產生群體行為的選擇,個體行為選擇和群體行為選擇使得Agent作出決策選擇某一動作,進而影響環境。增強學習是指從動物學習、隨機逼近和優化控制等理論發展而來,是一種無導師在線學習技術,從環境狀態到動作映射學習,使得Agent根據最大獎勵值采取最優的策略;Agent感知環境中的狀態信息,搜索策略(哪種策略可以產生最有效的學習)選擇最優的動作,從而引起狀態的改變并得到一個延遲回報值,更新評估函數,完成一次學習過程后,進入下一輪的學習訓練,重復循環迭代,直到滿足整個學習的條件,終止學習。

Q-Learning是一種無模型的強化學習技術。具體來說,可以使用Q學習來為任何給定的(有限的)馬爾可夫決策過程(MDP)找到最優的動作選擇策略。它通過學習一個動作價值函數,最終給出在給定狀態下采取給定動作的預期效用,然后遵循最優策略。一個策略是代理在選擇動作后遵循的規則。當這種動作值函數被學習時,可以通過簡單地選擇每個狀態中具有最高值的動作來構建最優策略。 Q-learning的優點之一是能夠比較可用操作的預期效用,而不需要環境模型。此外,Q學習可以處理隨機過渡和獎勵的問題,而不需要任何適應。已經證明,對于任何有限的MDP,Q學習最終找到一個最優策略,從總體獎勵的預期值返回到從當前狀態開始的所有連續步驟是最大可實現的意義。

機器學習常用Python包

sklearn

開源機器學習模塊,包括分類、回歸、聚類系列算法,主要算法有SVM、邏輯回歸、樸素貝葉斯、Kmeans、DBSCAN等;也提供了一些語料庫。

學習地址:https://scikit-learn.org/stable/modules/classes.html

numpy

Python的語言擴展,定義了數字的數組和矩陣。提供了存儲單一數據類型的多維數組(ndarray)和矩陣(matrix)。

學習地址:http://www.numpy.org/

scipy

其在numpy的基礎上增加了眾多的數學、科學以及工程計算中常用的模塊,例如線性代數、常微分方程數值求解、信號處理、圖像處理、稀疏矩陣等等。

學習地址:https://www.scipy.org/

pandas

直接處理和操作數據的主要package,提供了dataframe等方便處理表格數據的數據結構

學習地址:http://pandas.pydata.org/

statsmodels

統計和計量經濟學的package,包含了用于參數評估和統計測試的實用工具

學習地址:https://pypi.org/project/statsmodels/

matplotlib、pyplot、pylab

用于生成統計圖。pyplot 和 pylab屬于matplotlib的子模塊,所以只需安裝matplotlib,就會有pyplot和pylab的了。

學習地址:https://matplotlib.org/

jieba

中文分詞工具。

學習地址:https://github.com/fxsjy/jieba

Pattern

此庫更像是一個“全套”庫,因為它不僅提供了一些機器學習算法,而且還提供了工具來幫助你收集和分析數據。數據挖掘部分可以幫助你收集來自谷歌、推特和維基百科等網絡服務的數據。它也有一個Web爬蟲和HTML DOM解析器。“引入這些工具的優點就是:在同一個程序中收集和訓練數據顯得更加容易。

學習地址:https://github.com/clips/pattern

各個算法精確率對比

此次算精確率對比,總語料樣本21282條,分類標簽911個,語料是企業的語料集,不對外公開。精準率是把整體樣本按照8:2的比例,分為80%的訓練集,20%的測試集來算的,實驗流程在每篇文章中都有詳細記載。數據量低于21282的是取了總樣本的部分數據做的實驗,效果統計如下:

支持向量機(SupportVectorMachine)

升級版sklearn

Liblinear

sklearn

隨機森林(Random Forest)

樸素貝葉斯(Naive Bayesian Model)

K近鄰(K-NearestNeighbor)

邏輯回歸(LogisticRegression)

決策樹(Decision Tree)

本文簡單介紹了人工智能機器學習常用算法總結及各個常用算法精確率對比,更多關于人工智能知識請查看下面的相關鏈接

說實話,人工智能涉及到領域和課程太多,學習門檻還是很高的。我現在在科大訊飛工作,我們這邊最近上線了一個AI大學,里面的課程淺顯易懂很符合零基礎的人學習。AI 大學是訊飛開放平臺發起搭建的國內首個AI在線學習平臺,為所有AI群體提供學習分享和經驗交流的機會,秉承“開放、學習、互動、共享”的平臺理念,旨在為AI領域開發者、興趣愛好者、專業學習群體等提供AI專業技術課程、平臺運營資源、學習互動支持等服務。里面包含了這些內容:1.精品在線課程:AI大學提供覆蓋語音合成、語音識別、AIUI、麥克風陣列等多個核心業務領域的課程,包含技術能力、解決方案、行業剖析等多個維度。2.最新線下活動:每月一期的線下交流活動,技術沙龍、產品發布、創客交流…訊飛技術大咖與你面對面交流,分享多年從業經驗。3.AI開發者互動論壇:所有AI愛好者的在線交流基地。最常見的問題和最精華的回復匯聚在此,幫助開發者快速排雷。4.前沿的知識干貨:整合行業內AI相關的資訊信息,為用戶提供有價值的內容和服務,每周定期更新AI領域最新黑科技、開發者關注話題資訊5.高校政府合作:AI大學聯合多方資源,給學員提供技術、場地、高校培訓等各類支持與幫扶,致力于給學員提供一站式教學內容,并助力孵化授課的老師都是行業內的專業人士,包括劉慶峰-科大訊飛董事長、吳霽虹-人工智能專家學者宋繼強-Intel中國研究院院長、陳云霽-寒武紀董事長、李遠清-華南理工大學博導徐立-商湯科技CEO、朱靖波-小牛翻譯創始人、陳志剛-訊飛AI研究院副院長建議你可以去看下,登錄AI大學官網即可,對了,里面還有個專屬的通行證可以看下,除了全年的免費課程,還可以直接參加科大訊飛的線下發布會,點擊鏈接可以直接購買網頁鏈接最后,希望能對題主有用,有問題也可以與我交流內容來自www.13333515.buzz請勿采集。


  • 本文相關:
  • python機器學習庫xgboost的使用
  • python機器學習實現決策樹
  • python 機器學習之支持向量機非線性回歸svr模型
  • python機器學習庫scikit-learn:svr的基本應用
  • 機器學習實戰之knn算法pandas
  • python機器學習之神經網絡實現
  • javascript中七種流行的開源機器學習框架
  • python機器學習之knn分類算法
  • python機器學習k-近鄰算法(k nearest neighbor)實例詳解
  • python適合人工智能的理由和優勢
  • 人工智能(ai)首選python的原因解析
  • 為何人工智能(ai)首選python?讀完這篇文章你就知道了(推薦)
  • 人工智能學習路線分享
  • ai人工智能 python實現人機對話
  • 使用python解決windows文件名非用反斜杠問題(python 小技巧)
  • 提高代碼可讀性的十大注釋技巧分享
  • 分享幾個新增備案不關站的代碼
  • 分享15個美化代碼的代碼語法高亮工具
  • 如何正確使用開源項目?
  • iis 301重定向與程序代碼實現301重定向的差別
  • 獲取目錄下所有文件名的代碼
  • 微信小程序版的知乎日報開發實例
  • 在pb中如何讓用戶只能修改新增的數據
  • 基于http協議的一些實時數據獲取技術詳解
  • 我想學人工智能,現在是個初級程序員,到什么程度可以學習人工智能機器學習這種?
  • 人工智能,機器學習,統計學,數據挖掘之間有什么區別
  • 認知計算是什么?與人工智能,機器學習這些概念有什么區別
  • 人工智能,機器學習,統計學和數據挖掘有什么區別
  • 機器學習與人工智能究竟有何區別
  • 人工智能中的機器學習經歷過哪些階段?
  • 如何區分人工智能,機器學習和深度學習
  • 學習人工智能要準備哪些基礎知識?
  • 機器學習的分類
  • 如何自學人工智能
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全javascriptasp.netphp編程ajax相關正則表達式asp編程jsp編程編程10000問css/htmlflex腳本加解密web2.0xml/rss網頁編輯器相關技巧安全相關網頁播放器其它綜合dart首頁相關技巧python機器學習庫xgboost的使用python機器學習實現決策樹python 機器學習之支持向量機非線性回歸svr模型python機器學習庫scikit-learn:svr的基本應用機器學習實戰之knn算法pandaspython機器學習之神經網絡實現javascript中七種流行的開源機器學習框架python機器學習之knn分類算法python機器學習k-近鄰算法(k nearest neighbor)實例詳解python適合人工智能的理由和優勢人工智能(ai)首選python的原因解析為何人工智能(ai)首選python?讀完這篇文章你就知道了(推薦)人工智能學習路線分享ai人工智能 python實現人機對話使用python解決windows文件名非用反斜杠問題(python 小技巧)提高代碼可讀性的十大注釋技巧分享分享幾個新增備案不關站的代碼分享15個美化代碼的代碼語法高亮工具如何正確使用開源項目?iis 301重定向與程序代碼實現301重定向的差別獲取目錄下所有文件名的代碼微信小程序版的知乎日報開發實例在pb中如何讓用戶只能修改新增的數據基于http協議的一些實時數據獲取技術詳解2019最新的pycharm激活碼(推薦)進制轉換算法原理(二進制 八進制eclipse 格式化代碼時不換行與自微信小程序設置http請求的步驟詳幾款開源的中文分詞系統十進制負數轉換為二進制、八進制從console.log說起(console.log詳url 長度有限制嗎?git 撤銷操作、刪除文件和恢復文讓開發自動化 用 eclipse 插件提高代碼質vscode中配置setings.json的技巧web高性能開發系列隨筆 bearrui(ak-47)版網站開發中的文件存儲目錄結構的探討ascii碼對照表以及各個字符的解釋(精華版google提供二維碼生成器git 的基本操作、開發流程、實用技巧總結聲音驗證碼制作方法深入理解瀏覽器的各種刷新規則高效管理http連接的方法
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.13333515.buzz All Rights Reserved
    3排列五开奖结果