詳解生成式模型與辨別式模型
分類模型可以分為兩大類:生成式模型與辨別式模型。本文解釋了這兩種模型類型之間的區別,并討論了每種方法的優缺點。
辨別式模型
辨別式模型是一種能夠學習輸入數據和輸出標簽之間關系的模型,它通過學習輸入數據的特征來預測輸出標簽。在分類問題中,我們的目標是將每個輸入向量x分配給標簽y。判別模型試圖直接學習將輸入向量映射到標簽的函數f(x)。這些模型可以進一步分為兩個子類型:
分類器試圖找到f(x)而不使用任何概率分布。這些分類器直接為每個樣本輸出一個標簽,而不提供類的概率估計。這些分類器通常稱為確定性分類器或無分布分類器。此類分類器的例子包括k近鄰、決策樹和SVM。
分類器首先從訓練數據中學習后驗類概率P(y = k|x),并根據這些概率將一個新樣本x分配給其中一個類(通常是后驗概率最高的類)。
這些分類器通常被稱為概率分類器。這種分類器的例子包括邏輯回歸和在輸出層中使用sigmoid或softmax函數的神經網絡。
在所有條件相同的情況下,我一般都使用概率分類器而不是確定性分類器,因為這個分類器提供了關于將樣本分配給特定類的置信度的額外信息。
一般的判別式模型包括:
- 邏輯回歸(Logistic Regression,LR)
- 支持向量機(Support Vector Machine,SVM)
- 決策樹(Decision Tree,DT)
生成式模型
生成式模型在估計類概率之前學習輸入的分布。生成式模型是一種能夠學習數據生成過程的模型,它可以學習輸入數據的概率分布,并生成新的數據樣本。
更具體地說生成模型首先從訓練數據中估計類別的條件密度P(x|y = k)和先驗類別概率P(y = k)。他們試圖了解每個分類的數據是如何生成的。
然后利用貝葉斯定理估計后驗類概率:
貝葉斯規則的分母可以用分子中出現的變量來表示:
生成式模型也可以先學習輸入和標簽P(x, y)的聯合分布,然后將其歸一化以得到后驗概率P(y = k|x)。一旦我們有了后驗概率,我們就可以用它們將一個新的樣本x分配給其中一個類(通常是后驗概率最高的類)。
例如,考慮一個圖像分類任務中,我們需要區分圖像狗(y = 1)和貓(y = 0)。生成模型首先會建立一個狗 P(x|y = 1) 的模型,以及貓 P(x|y = 0) 的模型。然后在對新圖像進行分類時,它會將其與兩個模型進行匹配,以查看新圖像看起來更像狗還是更像貓。
為生成模型允許我們從學習的輸入分布P(x|y)中生成新的樣本。所以我們將其稱之為生成式模型。最簡單的例子是,對于上面的模型我們可以通過從P(x|y = 1)中采樣來生成新的狗的圖像。
一般的生成模型包括
- 樸素貝葉斯(Na?ve Bayes)
- 高斯混合模型(GMMs)
- 隱馬爾可夫模型(hmm)
- 線性判別分析 (LDA)
深度生成模型(DGMs)結合了生成模型和深度神經網絡:
- 自編碼器(Autoencoder,AE)
- 生成式對抗網絡(Generative Adversarial Network,GAN)
- 自回歸模型,例如GPT(Generative Pre-trained Transformer)是一種包含數十億參數的自回歸語言模型。
區別和優缺點
生成式模型和辨別式模型的主要區別在于它們學習的目標不同。生成式模型學習輸入數據的分布,可以生成新的數據樣本。辨別式模型學習輸入數據和輸出標簽之間的關系,可以預測新的標簽。
生成式模型:
生成模型給了我們更多的信息,因為它們同時學習輸入分布和類概率。可以從學習的輸入分布中生成新的樣本。并且可以處理缺失的數據,因為它們可以在不使用缺失值的情況下估計輸入分布。但是大多數判別模型要求所有的特征都存在。
訓練復雜度高,因為生成式模型要建立輸入數據和輸出數據之間的聯合分布,需要大量的計算和存儲資源。對數據分布的假設比較強,因為生成式模型要建立輸入數據和輸出數據之間的聯合分布,需要對數據的分布進行假設和建模,因此對于復雜的數據分布,生成式模型在小規模的計算資源上并不適用。
生成模型可以處理多模態數據,因為生成式模型可以建立輸入數據和輸出數據之間的多元聯合分布,從而能夠處理多模態數據。
辨別式模型:
如果不對數據做一些假設,生成式模型學習輸入分布P(x|y)在計算上是困難的,例如,如果x由m個二進制特征組成,為了對P(x|y)建模,我們需要從每個類的數據中估計2個?參數(這些參數表示m個特征的2個?組合中的每一個的條件概率)。而Na?ve Bayes等模型對特征進行條件獨立性假設,以減少需要學習的參數數量,因此訓練復雜度低。但是這樣的假設通常會導致生成模型比判別模型表現得更差。
對于復雜的數據分布和高維數據具有很好的表現,因為辨別式模型可以靈活地對輸入數據和輸出數據之間的映射關系進行建模。
辨別式模型對噪聲數據和缺失數據敏感,因為模型只考慮輸入數據和輸出數據之間的映射關系,不利用輸入數據中的信息填補缺失值和去除噪聲。
總結
生成式模型和辨別式模型都是機器學習中重要的模型類型,它們各自具有優點和適用場景。在實際應用中,需要根據具體任務的需求選擇合適的模型,并結合混合模型和其他技術手段來提高模型的性能和效果。