1. 程式人生 > >機器學習、監督學習、無監督學習、分類、迴歸、聚類的概念

機器學習、監督學習、無監督學習、分類、迴歸、聚類的概念

機器學習的兩種主要定義

定義1 :

Arthur Samuel (1959):Field of study that gives computers the ability to learn without being explicitly programmed.

一個使計算機無需明確地程式設計就可以自主學習的領域。

定義2:

Tom Mitchell (1998) Well-posed Learning Problem:A computer program is said to learn from experience E with respect to some task T

 and some performance measure P, if its performance on T, as measured by P, improves with experience E.

一個程式被認為從經驗(E)中學習解決某個任務(T),達到效能度量值(P),如果其在解決T上的效能(由P測量)隨經驗E而改善,就可以稱為機器學習。

概念:

要做的任務T;

以往可以學習經驗的資料記錄E;

判別記錄做對否的判別器P。

監督學習(Supervised learning)

在監督式學習下,輸入資料被稱為“訓練資料”,每組訓練資料有一個明確的標識或結果,在建立預測模型的時候,監督式學習建立一個學習過程,將預測結果與“訓練資料”的實際結果進行比較,不斷的調整預測模型,直到模型的預測結果達到一個預期的準確率。

常見演算法有邏輯迴歸(Logistic Regression)和反向傳遞神經網路(Back Propagation Neural Network)。

監督式學習的常見應用場景有分類問題和迴歸問題

迴歸(regression):預測一系列的連續值。

常見的迴歸方法:

1、線性迴歸(正則化)

該演算法的形式十分簡單,它期望使用一個超平面擬合數據集(只有兩個變數的時候就是一條直線)。如果資料集中的變數存線上性關係,那麼其就能擬合地非常好。

在實踐中,簡單的線性迴歸通常被使用正則化的迴歸方法(LASSO、Ridge 和 Elastic-Net)所代替。正則化其實就是一種對過多回歸係數採取懲罰以減少過擬合風險的技術。當然,我們還得確定懲罰強度以讓模型在欠擬合和過擬合之間達到平衡。

優點:線性迴歸的理解與解釋都十分直觀,並且還能通過正則化來降低過擬合的風險。另外,線性模型很容易使用隨機梯度下降和新資料更新模型權重。

缺點:線性迴歸在變數是非線性關係的時候表現很差。並且其也不夠靈活以捕捉更復雜的模式,新增正確的互動項或使用多項式很困難並需要大量時間。

2、迴歸樹(整合方法)

迴歸樹(決策樹的一種)通過將資料集重複分割為不同的分支而實現分層學習,分割的標準是最大化每一次分離的資訊增益。這種分支結構讓迴歸樹很自然地學習到非線性關係。

整合方法,如隨機森林(RF)或梯度提升樹(GBM)則組合了許多獨立訓練的樹。這種演算法的主要思想就是組合多個弱學習演算法而成為一種強學習演算法,不過這裡並不會具體地展開。在實踐中 RF 通常很容易有出色的表現,而 GBM 則更難調參,不過通常梯度提升樹具有更高的效能上限。

優點:決策樹能學習非線性關係,對異常值也具有很強的魯棒性。整合學習在實踐中表現非常好,其經常贏得許多經典的(非深度學習)機器學習競賽。

缺點:無約束的,單棵樹很容易過擬合,因為單棵樹可以保留分支(不剪枝),並直到其記住了訓練資料。整合方法可以削弱這一缺點的影響。

3、深度學習

深度學習是指能學習極其複雜模式的多層神經網路。該演算法使用在輸入層和輸出層之間的隱藏層對資料的中間表徵建模,這也是其他演算法很難學到的部分。

深度學習還有其他幾個重要的機制,如卷積和 drop-out等,這些機制令該演算法能有效地學習到高維資料。然而深度學習相對於其他演算法需要更多的資料,因為其有更大數量級的引數需要估計。

優點:深度學習是目前某些領域最先進的技術,如計算機視覺和語音識別等。深度神經網路在影象、音訊和文字等資料上表現優異,並且該演算法也很容易對新資料使用反向傳播演算法更新模型引數。它們的架構(即層級的數量和結構)能夠適應於多種問題,並且隱藏層也減少了演算法對特徵工程的依賴。

缺點:深度學習演算法通常不適合作為通用目的的演算法,因為其需要大量的資料。實際上,深度學習通常在經典機器學習問題上並沒有整合方法表現得好。另外,其在訓練上是計算密集型的,所以這就需要更富經驗的人進行調參(即設定架構和超引數)以減少訓練時間。

4、最近鄰演算法

最近鄰演算法是「基於例項的」,這就意味著其需要保留每一個訓練樣本觀察值。最近鄰演算法通過搜尋最相似的訓練樣本來預測新觀察樣本的值。

而這種演算法是記憶體密集型,對高維資料的處理效果並不是很好,並且還需要高效的距離函式來度量和計算相似度。在實踐中,基本上使用正則化的迴歸或樹型整合方法是最好的選擇。

分類(classification):根據資料預測被預測物件屬於哪個分類,預測一系列的離散值。

常見的分類方法:

1、Logistic 迴歸(正則化)

Logistic 迴歸是與線性迴歸相對應的一種分類方法,且該演算法的基本概念由線性迴歸推導而出。Logistic 迴歸通過 Logistic 函式(即 Sigmoid 函式)將預測對映到 0 到 1 中間,因此預測值就可以看成某個類別的概率

該模型仍然還是「線性」的,所以只有在資料是線性可分(即資料可被一個超平面完全分離)時,演算法才能有優秀的表現。同樣 Logistic 模型能懲罰模型係數而進行正則化。

優點:輸出有很好的概率解釋,並且演算法也能正則化而避免過擬合。Logistic 模型很容易使用隨機梯度下降和新資料更新模型權重。

缺點:Logistic 迴歸在多條或非線性決策邊界時效能比較差。

2、分類樹(整合方法)

與迴歸樹相對應的分類演算法是分類樹。它們通常都是指決策樹,或更嚴謹一點地稱之為分類迴歸樹(CART),這也就是非常著名的 CART 的演算法。

簡單的隨機森林

優點:同迴歸方法一樣,分類樹的整合方法在實踐中同樣表現十分優良。它們通常對異常資料具有相當的魯棒性(就是系統的健壯性)和可擴充套件性。因為它的層級結構,分類樹的整合方法能很自然地對非線性決策邊界建模。

缺點:不可約束,單棵樹趨向於過擬合,使用整合方法可以削弱這一方面的影響。

3、深度學習

深度學習同樣很容易適應於分類問題。實際上,深度學習應用地更多的是分類任務,如影象分類等。

優點:深度學習非常適用於分類音訊、文字和影象資料。

缺點:和迴歸問題一樣,深度神經網路需要大量的資料進行訓練,所以其也不是一個通用目的的演算法。

4、支援向量機

支援向量機(SVM)可以使用一個稱之為核函式的技巧擴充套件到非線性分類問題,而該演算法本質上就是計算兩個稱之為支援向量的觀測資料之間的距離。SVM 演算法尋找的決策邊界即最大化其與樣本間隔的邊界,因此支援向量機又稱為大間距分類器。

支援向量機中的核函式採用非線性變換,將非線性問題變換為線性問題。支援向量機能讓計算機處理無限多個特徵。

如,SVM 使用線性核函式就能得到類似於 logistic 迴歸的結果,只不過支援向量機因為最大化了間隔而更具魯棒性。因此,在實踐中,SVM 最大的優點就是可以使用非線性核函式對非線性決策邊界建模。

優點:SVM 能對非線性決策邊界建模,並且有許多可選的核函式形式。SVM 同樣面對過擬合有相當大的魯棒性,這一點在高維空間中尤其突出。

缺點:然而,SVM 是記憶體密集型演算法,由於選擇正確的核函式是很重要的,所以其很難調參,也不能擴充套件到較大的資料集中。目前在工業界中,隨機森林通常優於支援向量機演算法。

5、樸素貝葉斯

樸素貝葉斯(NB)是一種基於貝葉斯定理和特徵條件獨立假設的分類方法。本質上樸素貝葉斯模型就是一個概率表,其通過訓練資料更新這張表中的概率。為了預測一個新的觀察值,樸素貝葉斯演算法就是根據樣本的特徵值在概率表中尋找最大概率的那個類別。

之所以稱之為「樸素」,是因為該演算法的核心就是特徵條件獨立性假設(每一個特徵之間相互獨立),而這一假設在現實世界中基本是不現實的。

優點:即使條件獨立性假設很難成立,但樸素貝葉斯演算法在實踐中表現出乎意料地好。該演算法很容易實現並能隨資料集的更新而擴充套件。

缺點:因為樸素貝葉斯演算法太簡單了,所以其也經常被以上列出的分類演算法所替代。

無監督學習(Unsupervised learning)

訓練集不會有人為標註的結果(無反饋),我們不會給出結果或無法得知訓練集的結果是什麼樣,而是單純由計算機通過無監督學習演算法自行分析,從而“得出結果”。

常見的應用場景包括關聯規則的學習以及聚類等。常見演算法包括Apriori演算法以及k-Means演算法。

聚類(clustering)

無監督學習的結果。聚類的結果將產生一組集合,集合中的物件與同集合中的物件彼此相似,與其他集合中的物件相異。

如:新聞聚合;DNA 個體聚類;天文資料分析;市場細分;社交網路分析。

常用的聚類方法:

1、K 均值聚類

K 均值聚類是一種通用目的的演算法,聚類的度量基於樣本點之間的幾何距離(即在座標平面中的距離)。叢集是圍繞在聚類中心的族群,而叢集呈現出類球狀並具有相似的大小。聚類演算法是我們推薦給初學者的演算法,因為該演算法不僅十分簡單,而且還足夠靈活以面對大多數問題都能給出合理的結果。

優點:K 均值聚類是最流行的聚類演算法,因為該演算法足夠快速、簡單,並且如果你的預處理資料和特徵工程十分有效,那麼該聚類演算法將擁有令人驚歎的靈活性。

缺點:該演算法需要指定叢集的數量,而 K 值的選擇通常都不是那麼容易確定的。另外,如果訓練資料中的真實叢集並不是類球狀的,那麼 K 均值聚類會得出一些比較差的叢集。

2、Affinity Propagation 聚類

AP聚類演算法是一種相對較新的聚類演算法,該聚類演算法基於兩個樣本點之間的圖形距離(graph distances)確定叢集。採用該聚類方法的叢集擁有更小和不相等的大小。

優點:該演算法不需要指出明確的叢集數量(但是需要指定「sample preference」和「damping」等超引數)。

缺點:AP 聚類演算法主要的缺點就是訓練速度比較慢,並需要大量記憶體,因此也就很難擴充套件到大資料集中。另外,該演算法同樣假定潛在的叢集是類球狀的。

3、層次聚類(Hierarchical / Agglomerative)

層次聚類是一系列基於以下概念的聚類演算法:

最開始由一個數據點作為一個叢集;對於每個叢集,基於相同的標準合併叢集;重複這一過程直到只留下一個叢集,因此就得到了叢集的層次結構。

優點:層次聚類最主要的優點是叢集不再需要假設為類球形。另外其也可以擴充套件到大資料集。

缺點:有點像 K 均值聚類,該演算法需要設定叢集的數量(即在演算法完成後需要保留的層次)。

4、DBSCAN

DBSCAN是一個基於密度的演算法,它將樣本點的密集區域組成一個叢集。最近還有一項被稱為 HDBSCAN 的新進展,它允許改變密度叢集。

優點:DBSCAN 不需要假設叢集為球狀,並且它的效能是可擴充套件的。此外,它不需要每個點都被分配到一個叢集中,這降低了叢集的異常資料。

缺點:使用者必須要調整「epsilon」和「min_sample」這兩個定義了叢集密度的超引數。DBSCAN 對這些超引數非常敏感。

總結:

如果所有訓練資料都有標籤,則為有監督學習(supervised learning)。如果資料沒有標籤,顯然就是無監督學習(unsupervised learning)了

此外,監督學習和無監督學習之中還有半監督學習(semi-supervised learning)

半監督學習(semi-supervised learning):

訓練資料的一部分是有標籤的,另一部分沒有標籤,而沒標籤資料的數量常常極大於有標籤資料數量(這也是符合現實情況的)。演算法包括一些對常用監督式學習演算法的延伸,這些演算法首先試圖對未標識資料進行建模,在此基礎上再對標識的資料進行預測。

隱藏在半監督學習下的基本規律在於:資料的分佈必然不是完全隨機的,通過一些有標籤資料的區域性特徵,以及更多沒標籤資料的整體分佈,就可以得到可以接受甚至是非常好的分類結果。

常見演算法有圖論推理演算法(Graph Inference)或者拉普拉斯支援向量機(Laplacian SVM.)等。

相關推薦

機器學習(十六)監督學習和KMeans

無監督學習、聚類 聚類是在樣本沒有標註的情況下,對樣本進行特徵提取並分類,屬於無監督學習的內容。有監督學習和無監督學習的區別就是需要分析處理的資料樣本是否事先已經標註。如下圖,左邊是有監督,右邊是無監督: 應用場景也有所不同。 無

李巨集毅機器學習2016 第十五講 監督學習 生成模型之 VAE

Unsupervised Learning : Generation本章主要講解了無監督學習中的生成模型方法。1.生成模型(Generative Models)“What I cannot create, I do not understand.” ——Richard Fey

機器學習詳解】解約束優化問題:梯度下降牛頓法擬牛頓法

無約束優化問題是機器學習中最普遍、最簡單的優化問題。 x∗=minxf(x),x∈Rn 1.梯度下降 梯度下降是最簡單的迭代優化演算法,每一次迭代需求解一次梯度方向。函式的負梯度方向代表使函式值減小最快的方向。它的思想是沿著函式負梯度方向移動逐步逼

機器學習7-模型儲存&監督學習

模型儲存和載入 sklearn模型的儲存和載入API from sklearn.externals import joblib 儲存:joblib.dump(rf, 'test.pkl') 載入:estimator = joblib.load('test.pkl') 線性迴歸的模型儲存載入案例 d

一種用迴歸神經網路學習說話人嵌入的監督神經網路預測框架

An Unsupervised Neural Prediction Framework for Learning Speaker Embeddings using Recurrent Neural Networks 一種用迴歸神經網路學習說話人嵌入的無監督神經網路預測框架 摘要 本文提出

人臉識別之疲勞檢測(二)閾值法KNN分類和K-means

Table of Contents 1、均值法 2、中值法 3、KNN 結合上一節在獲得人眼特徵點後需要對睜眼閉眼狀態做出判斷,方法的選擇需要經驗結合公平的評價方法,使用大量測試集得到不同方法下的精確度並做出比較: 1、均值法 50幀睜眼資料取均值,得到不同閾

吳恩達機器學習(十一)K-means(監督學習演算法)

目錄 0. 前言 學習完吳恩達老師機器學習課程的無監督學習,簡單的做個筆記。文中部分描述屬於個人消化後的理解,僅供參考。 如果這篇文章對你有一點小小的幫助,請給個關注喔~我會非常開心

機器學習基礎(五十七)—— 監督學習監督學習

僅使用 inputs x(t) 用於學習: automatically extract meaningful features for your data leverage the availabi

機器學習監督學習監督學習分類迴歸概念

機器學習的兩種主要定義: 定義1 : Arthur Samuel (1959):Field of study that gives computers the ability to learn without being explicitly programmed. 一

機器學習(二):有監督學習監督學習和半監督學習

一、基本概念 1 特徵(feature) 資料的特徵。 舉例:書的內容 2 標籤(label) 資料的標籤。 舉例:書屬於的類別,例如“計算機”“圖形學”“英文書”“教材”等。 3 學習(learning) 將很多資料丟給計算機分析,以此

16【李巨集毅機器學習(2017)】Unsupervised Learning: Deep Auto-encoder(監督學習:深度自動編碼器)

本篇部落格將介紹無監督學習演算法中的 Deep Auto-encoder。 目錄 Deep Auto-encoder 輸入28*28維度的影象畫素,由NN encoder輸出code,code的維度往往小於784,但我們並不知道code的

學習筆記TF057:TensorFlow MNIST,卷積神經網絡循環神經網絡監督學習

back ide str 描述 com 類別 bat softmax 比例 MNIST 卷積神經網絡。https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py 。Te

監督學習監督學習監督學習

class tail detail 局部特征 連續 tails cannot 得到 ica 1.有監督學習:教計算機如何做事情。   對於機器學習來說,有監督學習就是訓練數據既有特征又有標簽,通過訓練,讓機器可以自己找到特征和標簽之間的聯系,在面對只有特征沒有標簽的數據時,

十大統計技術,包括線性迴歸分類重取樣降維監督學習等。

統計學習方法的經典研究主題包括: 線性迴歸模型 感知機 k 近鄰法 樸素貝葉斯法 決策樹 Logistic 迴歸與最大熵模型 支援向量機 提升方法 EM 演算法

[深度學習]半監督學習監督學習之Autoencoders自編碼器(附程式碼)

目錄   自編碼器介紹 從零開始訓練自編碼器 驗證模型訓練結果 視覺化結果 載入預訓練模型 自編碼器介紹 自編碼器的結構簡單,由Encoder和Decoder組成,Encoder產生的Latent variables是潛在變數,它是Decoder的輸入。

[深度學習]半監督學習監督學習之DCGAN深度卷積生成對抗網路(附程式碼)

論文全稱:《Generative Adversarial Nets》 論文地址:https://arxiv.org/pdf/1406.2661.pdf 論文全稱:《UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GEN

[深度學習]半監督學習監督學習之Variational Auto-Encoder變分自編碼器(附程式碼)

論文全稱:《Auto-Encoding Variational Bayes》 論文地址:https://arxiv.org/pdf/1312.6114.pdf 論文程式碼: keras 版本:https://github.com/bojone/vae pytorch 版本:https

概念監督學習監督學習與半監督學習

(此為機器學習隨筆之一) 機器學習中的演算法,主要有兩種:監督學習;半監督學習。 1 、名詞 監督學習 : supervised learning 無監督學習 : unsupervised learning 半監督學習 : semi-supervise

一文讀懂監督學習監督學習監督學習強化學習這四種深度學習方式

 一般說來,訓練深度學習網路的方式主要有四種:監督、無監督、半監督和強化學習。在接下來的文章中,計算機視覺戰隊將逐個解釋這些方法背後所蘊含的理論知識。除此之外,計算機視覺戰隊將分享文獻中經常碰到的術語,並提供與數學相關的更多資源。 監督學習(Supervised

監督學習監督學習監督學習和強化學習

Author: LiChong0309 Lable: Reinforcement learning、Artificial intelligence、Deep learning、Machine learning 1.Machine lea