1. 程式人生 > >判別模型和生成模型——機器學習

判別模型和生成模型——機器學習

轉載自:https://www.cnblogs.com/zeze/p/7047630.html 

 

判別式模型(discriminative model)

產生式模型(generative model)

 

特點

尋找不同類別之間的最優分類面,反映的是異類資料之間的差異

對後驗概率建模,從統計的角度表示資料的分佈情況,能夠反映同類資料本身的相似度

區別(假定輸入x, 類別標籤y)

估計的是條件概率分佈(conditional distribution) : P(y|x)

估計的是聯合概率分佈(joint probability distribution: P(x, y),

聯絡

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

 

 

常見模型

– logistic regression
– SVMs
– traditional neural networks
– Nearest neighbor

–Gaussians, Naive Bayes 
–Mixtures of Gaussians, Mixtures of experts, HMMs
–Sigmoidal belief networks, Bayesian networks
– Markov random fields

【摘要】  

    - 生成模型:無窮樣本==》概率密度模型 = 產生模型==》預測
    - 判別模型:有限樣本==》判別函式 = 預測模型==》預測

【簡介】

簡單的說,假設o是觀察值,q是模型。
如果對P(o|q)建模,就是生成模型。其基本思想是首先建立樣本的概率密度模型,再利用模型進行推理預測。要求已知樣本無窮或儘可能的大限制。
這種方法一般建立在統計力學和bayes理論的基礎之上。
如果對條件概率(後驗概率) P(q|o)建模,就是判別模型。基本思想是有限樣本條件下建立判別函式,不考慮樣本的產生模型,直接研究預測模型。代表性理論為統計學習理論。
這兩種方法目前交叉較多。

【判別模型Discriminative Model】——inter-class probabilistic description

又可以稱為條件模型,或條件概率模型。估計的是條件概率分佈(conditional distribution), p(class|context)。

利用正負例和分類標籤,focus在判別模型的邊緣分佈。目標函式直接對應於分類準確率。

- 主要特點:

    尋找不同類別之間的最優分類面,反映的是異類資料之間的差異。

- 優點:

    分類邊界更靈活,比使用純概率方法或生產模型得到的更高階。
    能清晰的分辨出多類或某一類與其他類之間的差異特徵
    在聚類、viewpoint changes, partial occlusion and scale variations中的效果較好
    適用於較多類別的識別
    判別模型的效能比生成模型要簡單,比較容易學習

- 缺點:

    不能反映訓練資料本身的特性。能力有限,可以告訴你的是1還是2,但沒有辦法把整個場景描述出來。
    Lack elegance of generative: Priors, 結構, 不確定性
    Alternative notions of penalty functions, regularization, 核函式
    黑盒操作: 變數間的關係不清楚,不可視

 - 常見的主要有:  

    logistic regression、    SVMs、    traditional neural networks、    Nearest neighbor、    Conditional random fields(CRF): 目前最新提出的熱門模型,從NLP領域產生的,正在向ASR和CV上發展。

【生成模型Generative Model】——intra-class probabilistic description

又叫產生式模型。估計的是聯合概率分佈(joint probability distribution),p(class, context)=p(class|context)*p(context)。

用於隨機生成的觀察值建模,特別是在給定某些隱藏引數情況下。在機器學習中,或用於直接對資料建模(用概率密度函式對觀察到的draw建模),或作為生成條件概率密度函式的中間步驟。通過使用貝葉斯rule可以從生成模型中得到條件分佈。

如果觀察到的資料是完全由生成模型所生成的,那麼就可以fitting生成模型的引數,從而僅可能的增加資料相似度。但資料很少能由生成模型完全得到,所以比較準確的方式是直接對條件密度函式建模,即使用分類或迴歸分析。

與描述模型的不同是,描述模型中所有變數都是直接測量得到。

- 主要特點:
    一般主要是對後驗概率建模,從統計的角度表示資料的分佈情況,能夠反映同類資料本身的相似度。
    只關注自己的inclass本身(即點左下角區域內的概率),不關心到底 decision boundary在哪。
- 優點:
    實際上帶的資訊要比判別模型豐富,
    研究單類問題比判別模型靈活性強
    模型可以通過增量學習得到
    能用於資料不完整(missing data)情況
    modular construction of composed solutions to complex problems
    prior knowledge can be easily taken into account
    robust to partial occlusion and viewpoint changes
    can tolerate significant intra-class variation of object appearance
- 缺點:
    tend to produce a significant number of false positives. This is particularly true for object classes which share a high visual similarity such as horses and cows
    學習和計算過程比較複雜
    
- 常見的主要有:
    Gaussians, Naive Bayes, Mixtures of multinomials、    Mixtures of Gaussians, Mixtures of experts, HMMs、    Sigmoidal belief networks, Bayesian networks、    Markov random fields
    所列舉的Generative model也可以用disriminative方法來訓練,比如GMM或HMM,訓練的方法有EBW(Extended Baum Welch),或最近Fei Sha提出的Large   Margin方法。

【兩者之間的關係】

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

【總結】

有時稱判別模型求的是條件概率,生成模型求的是聯合概率。
常見的判別模型有線性迴歸、對數迴歸、線性判別分析、支援向量機、 boosting、條件隨機場、神經網路等。
常見的生產模型有隱馬爾科夫模型、樸素貝葉斯模型、高斯混合模型、 LDA、 RestrictedBoltzmann Machine 等