線性回歸中,我們假設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...