標籤:

機器學習演算法系列--生成模型與判別模型

一、監督學習模型的一般形式

  • 概率模型:條件概率分布 P(Y|X)
  • 非概率模型:決策函數Y=f(X)

監督學習的任務就是從數據中學習一個模型(也叫分類器),應用這一模型,對給定的輸入X預測響應的輸出Y。這個模型的一般形式為決策函數或者條件概率分布。

決策函數Y=f(x):你輸入一個x,它就輸出一個y,這個y與一個閾值比較,根據比較結果判定x屬於哪個類別。例如二分類問題,如果y大於閾值,x就屬於類w1,否則就屬於類w2.

條件概率分布P(Y|X):你輸入一個X,它通過比較它屬於所有類的概率,然後輸出概率最大的那個座位該X對應的類別。例如:如果P(W1|X)大於P(W2|X),那麼我們就認為X是屬於w1類的。

所以這兩個模型都可以實現對給定x,預測相應的輸出y的功能。

分類器的設計就是在給定訓練數據的基礎上估計其概率模型P(Y|X)。如果可以估計出來,就可以分類了。但是一般來說,概率模型比較難估計。給一堆數據給你,一般很難找到這些數滿足什麼規律。那能否不依賴概率模型直接設計分類器呢?事實上,可以把分類器看作一個決策函數(或決策面),如果能夠從要解決的問題和訓練樣本出發直接求出判別函數,就不用估計概率模型了,這就是決策函數Y=f(x)的偉大使命了。例如支持向量機,我們已經知道它的決策函數(分類面)是線性的了,也就是可以表示成Y=f(X)=WX+b的形式,那麼我們通過訓練樣本來學習得到W和b的值就可以得到Y=f(X)了。還有一種更直接的分類方法,它不用事先設計分類器,而是只確定分類原則,根據已知樣本(訓練樣本)直接對未知樣本進行分類,包括knn,它不會在進行具體的預測之前求出概率模型P(Y|X)或者決策函數Y=f(X),而是在真正預測的時候,將X與訓練數據的各類 X_i 進行比較,和哪些相似,就判定屬於什麼類別。

二、生成模型與判別模型

監督學習方法又分生成方法(Generative approach)和判別方法(Discriminative approach),所學到的模型分別稱為生成模型(Generative Model)和判別模型(Discriminative Model)

在生成模型中,P(Y|X)= P(X,Y)/ P(X),P(X)是訓練數據的改良版分布,但是要在數據樣本非常多的時候,P(X)才能很好的描述數據真正的分布。所以生成模型需要對P(X)建模,不只增加了工作量,另外由於數據的稀疏性,導致我們都是被強迫地使用弱獨立性假設去對p(x)建模的,所以就產生了局限性。所以我們更趨向於直觀的使用判別模型去分類。

由生成模型可以得到判別模型,但由判別模型得不到生成模型。

參考文獻

生成模型與判別模型 - CSDN博客?

blog.csdn.net


推薦閱讀:

機器學習的定義
SVM推導筆記(一)
這些是 Python 官方推薦的最好書籍(推薦)
2-3 Cost Function-Intuition I
2-2 Cost Function

TAG:機器學習 |