生成模型之高斯鑑別分析

2021-06-21 10:14:19 字數 2826 閱讀 8663

線性回歸中,我們假設y滿足以sita*x為均值的高斯分布。也就是假設p(y|x)~n(sita*x,yita)。這種假設擬合p(y|x)的方法我們稱為判別法。

有這麼一種方法,嘗試去假設x的分布情況,也就是假設擬合p(x|y)。這就是生成模型。

使用生成模型,得到擬合分布p(x|y)之後,我們再使用bays規則,求得某個新樣本屬於某個標籤的概率:

然後,取其中概率最大的類作為分類結果:

高斯分布是熟知的自然分布。我們用多變數的高斯分布,來假設樣本特徵滿足這樣的分布,生成高斯鑑別分析模型。

所謂的多變數高斯分布如下:

其中,sigma表示方差矩陣,u表示均值向量。也就是假設x滿足分布:

簡單的二維高斯標準模型如下,其中u=0,sigma=i;

現在考慮乙個分類問題,x為輸入特徵,y為標籤。我們假設x屬於多變數高斯分布,y屬於伯努利分布,那麼有:

進而可以寫成:

然後我們要寫出其最大釋然函式。值得注意的是,現在的釋然函式是p(x,y),而不是之前線性回歸的p(y|x)。

最大化釋然函式,得到引數如下:

我們可以把分布圖畫出,如下:

上如中,兩個高斯分布擬合x,從而得出一條直線來劃分兩類樣本。

高斯鑑別模型與logistic回歸有著有趣的聯絡。如果我們用概率的知識,寫出p(y=1|x)的概率模型,會得到:

與logistic回歸有著相同的形式。也就是說,高斯鑑別模型與logistic回歸是對同乙個模型的不同角度描述。

區別:

有這樣的結論:如果p(x|y)屬於高斯分布,那麼p(y|x)會屬於logistic分布;但反之不成立。

也就是說,高斯分布比logistic有更強的約束,是一種被包含的關係。

如果原分布就是高斯分布,那麼高斯鑑別模型能更好地擬合資料;

而有許多其他的分布,最終也能得到logistic相同的形式,如泊松分布等等。也就是logistic回歸對不正確的分布假設有更好的魯棒性。如果原分布不是高斯,那麼我們用logistic分布照樣能很好地擬合資料。

結論:logistic回歸有更廣泛的適用性。

上述許多圖來自斯坦福的講義,接下來用matlab實現:

以(8,4),(4,8)為中心,方差為1,構建兩類正態分佈的樣本,如下:

擬合得到中心:(3.985,7.985),(4.006,8.081)

協方差矩陣為:

0.99        -0.04

-0.04       1.13

取p(x|y=1)=p(x|y=0)得到分介面:

ax+by=c;

其中:a =  -5.7206

b =  7.4201

c =  9.9559

畫出圖,如下:

聚類演算法之高斯混合模型

高斯混合模型 gmm gaussian mixture model 統計學習的模型有兩種,一種是概率模型,一種是非概率模型。所謂概率模型,是指訓練模型的形式是p y x 輸入是x,輸出是y,訓練後模型得到的輸出不是乙個具體的值,而是一系列的概率值 對應於分類問題來說,就是輸入x對應於各個不同y 類 ...

C VTK例項之高斯隨機數的生成

vtk例項高斯隨機數的生成 這個例子演示了從乙個平均數是0.0和標準偏差是2.2的高斯分布中隨機生成3個隨機數。先建立兩個檔案 gaussianrandomnumber.cpp和cmakelists.txt。如下 gaussianrandomnumber.cxx include include in...

用matlab做高斯混合模型 GMM 聚類分析

訓練gmm引數 options statset maxiter 1000 gmm gmdistribution.fit feature,k,covtype diagonal regularize 1e 10,options options k 聚類的總類別數 covtype 設定協方差矩陣的型別 r...