天天看點

機器學習必知的10大算法監督學習無監督學習

機器學習算法可以分為三大類:監督學習、無監督學習和強化學習。以下介紹 10 個關于監督學習和無監督學習的算法。

  • 監督學習可用于一個特定的資料集(訓練集)具有某一屬性(标簽),但是其他資料沒有标簽或者需要預測标簽的情況。
  • 無監督學習可用于給定的沒有标簽的資料集(資料不是預配置設定好的),目的就是要找出資料間的潛在關系。
  • 強化學習位于這兩者之間,每次預測都有一定形式的回報,但是沒有精确的标簽或者錯誤資訊。

監督學習

1. 決策樹(Decision Trees)

決策樹是一個決策支援工具,它使用樹形圖或者決策模型以及可能性序列,包括偶然事件的結果、資源成本和效用。下圖是其基本原理:

機器學習必知的10大算法監督學習無監督學習

從業務決策的角度來看,決策樹是人們必須了解的最少的是/否問題,這樣才能評估大多數時候做出正确決策的機率。作為一種方法,它允許你以結構化和系統化的方式來解決問題,進而得出合乎邏輯的結論。

2. 樸素貝葉斯分類 (Naive Bayesian classification)

樸素貝葉斯分類器是一類簡單的機率分類器,它基于貝葉斯定理和特征間的強大的(樸素的)獨立假設。圖中是貝葉斯公式,其中 P(A|B)是後驗機率,P(B|A)是似然,P(A)是類先驗機率,P(B)是預測先驗機率。

機器學習必知的10大算法監督學習無監督學習

一些應用例子:判斷垃圾郵件

對新聞的類别進行分類,比如科技、政治、運動

判斷文本表達的感情是積極的還是消極的

人臉識别

3. 最小二乘法(Ordinary Least Squares Regression)

如果你懂統計學的話,你可能以前聽說過線性回歸。最小二乘法是一種計算線性回歸的方法。你可以将線性回歸看做通過一組點來拟合一條直線。實作這個有很多種方法,“最小二乘法”就像這樣:你可以畫一條直線,然後對于每一個資料點,計算每個點到直線的垂直距離,然後把它們加起來,那麼最後得到的拟合直線就是距離和盡可能小的直線。

機器學習必知的10大算法監督學習無監督學習

線性指的是你用來拟合資料的模型,而最小二乘法指的是你最小化的誤差度量。

4. 邏輯回歸 (Logistic Regression)

邏輯回歸是一個強大的統計學方法,它可以用一個或多個解釋變量來表示一個二項式結果。它通過使用邏輯函數來估計機率,進而衡量類别依賴變量和一個或多個獨立變量之間的關系,後者服從累計邏輯分布。

機器學習必知的10大算法監督學習無監督學習

總的來說,邏輯回歸可以用于以下幾個真實應用場景:

信用評分

計算營銷活動的成功率

預測某個産品的收入

特定的某一天是否會發生地震

5. 支援向量機(Support Vector Machine,SVM)

SVM 是二進制分類算法。給定 N 維坐标下兩種類型的點,SVM 生成(N-1)維的超平面來将這些點分成兩組。假設你在平面上有兩種類型的可以線性分離的點,SVM 将找到一條直線,将這些點分成兩種類型,并且這條直線盡可能遠離所有這些點。

機器學習必知的10大算法監督學習無監督學習

從規模上看,使用 SVM(經過适當的修改)解決的一些最大的問題包括顯示廣告、人類剪切位點識别(human splice site recognition)、基于圖像的性别檢測,大規模圖像分類……

6. 內建方法(Ensemble methods)

內建方法是學習算法,它通過建構一組分類器,然後通過它們的預測結果進行權重投票來對新的資料點進行分類。原始的內建方法是貝葉斯平均,但是最近的算法包括糾錯輸出編碼、Bagging 和 Boosting。

機器學習必知的10大算法監督學習無監督學習

那麼內建方法如何工作?并且為什麼它們要優于單個模型?

它們平均了單個模型的偏差:如果你将民主黨的民意調查和共和黨的民意調查在一起平均化,那麼你将得到一個均衡的結果,不偏向任何一方。

它們減少了方差:一組模型的總體意見比其中任何一個模型的單一意見更加統一。在金融領域,這就是所謂的多元化,有許多股票的組合比一個單獨的股票的不确定性更少,這也為什麼你的模型在資料多的情況下會更好的原因。

它們不太可能過拟合:如果你有單個的模型沒有過拟合,那麼把這些模型的預測簡單結合起來(平均、權重平均、邏輯回歸),那麼最後得到的模型也不會過拟合。

無監督學習

7. 聚類算法(Clustering Algorithms)

聚類是将一系列對象分組的任務,目标是使相同組(叢集)中的對象之間比其他組的對象更相似。

機器學習必知的10大算法監督學習無監督學習

每一種聚類算法都不相同,下面是一些例子:基于質心的算法

基于連接配接的算法

基于密度的算法

機率

降維

神經網絡/深度學習

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

PCA 是一個統計學過程,它通過使用正交變換将一組可能存在相關性的變量的觀測值轉換為一組線性不相關的變量的值,轉換後的變量就是所謂的主分量。

機器學習必知的10大算法監督學習無監督學習

PCA 的一些應用包括壓縮、簡化資料便于學習、可視化等。請注意,領域知識在選擇是否繼續使用 PCA 時非常重要。 資料嘈雜的情況(PCA 的所有成分具有很高的方差)并不适用。

9. 奇異值分解(Singular Value Decomposition,SVD)

線上性代數中,SVD 是複雜矩陣的因式分解。對于給定的 m * n 矩陣 M,存在分解使得 M=UΣV,其中 U 和 V 是酉矩陣,Σ是對角矩陣。

機器學習必知的10大算法監督學習無監督學習

實際上,PCA 是 SVD 的一個簡單應用。在計算機視覺中,第一個人臉識别算法使用 PCA 和 SVD 來将面部表示為“特征面”的線性組合,進行降維,然後通過簡單的方法将面部比對到身份,雖然現代方法更複雜,但很多方面仍然依賴于類似的技術。

10. 獨立成分分析(Independent Component Analysis,ICA)

ICA 是一種統計技術,主要用于揭示随機變量、測量值或信号集中的隐藏因素。ICA 對觀測到的多變量資料定義了一個生成模型,這通常是作為樣本的一個大的資料庫。在模型中,假設資料變量由一些未知的潛在變量線性混合,混合方式也是未知的。潛在變量被假定為非高斯分布并且互相獨立,它們被稱為觀測資料的獨立分量。

機器學習必知的10大算法監督學習無監督學習

ICA 與 PCA 有關,但是當這些經典方法完全失效時,它是一種更強大的技術,能夠找出源的潛在因素。 其應用包括數字圖像、文檔資料庫、經濟名額和心理測量。現在運用你對這些算法的了解去創造機器學習應用,為世界各地的人們帶來更好的體驗吧。

轉自:https://www.toutiao.com/i6504479419665482253/

轉載于:https://www.cnblogs.com/alan666/p/8311838.html