日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

生成模型学习笔记:从高斯判别分析到朴素贝叶斯

發布時間:2025/6/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 生成模型学习笔记:从高斯判别分析到朴素贝叶斯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器之心專欄

作者:張威

翻譯:燕子石


本文是哥倫比亞大學研究生張威在生成模型上的學習筆記,由畢業于新西蘭奧克蘭理工大學的燕子石翻譯。機器之心之前曾介紹過張威所寫的吳恩達《機器學習》課程的學習筆記。


  • 英文原版地址:https://wei2624.github.io/MachineLearning/sv_generative_model/

  • 中文翻譯地址:https://air-yan.github.io/machine%20learning/Generative-Learning-Algorithm/


1 判別模型


判別模型是一種對觀測數據進行直接分類的模型,常見的模型有邏輯回歸和感知機學習算法等。此模型僅對數據進行分類,并不能具象化或者量化數據本身的分布狀態,因此也無法根據分類生成可觀測的圖像。


定義上,判別模型通過構建條件概率分布 p(y|x;θ) 預測 y,即在特征 x 出現的情況下標記 y 出現的概率。此處 p 可以是邏輯回歸模型。


2 生成模型


與判別模型不同,生成模型首先了解數據本身分布情況,并進一步根據輸入 x,給出預測分類 y 的概率。該模型有著研究數據分布形態的概念,可以根據歷史數據生成新的可觀測圖像。


貝葉斯分類就是一個典型的例子。在這個例子中,我們有一個先驗分類,根據這個先驗分類,我們可以使用貝葉斯原理計算每個分類的概率,然后取概率最高的概率。同時,我們還可以根據特定的先驗生成特征。這就是一個生成過程。


3 高斯判別分析


高斯判別分析(GDA)是一個生成模型,其中 p(x|y) 是多元高斯正態分布。


3.1 多元高斯正態分布


在多元正態分布中,一個隨機變量是一個在維度為 n 的 Rn 空間中的矢量值。因此,多元高斯的均值向量 μ∈Rn,協方差矩陣Σ∈Rn x n,其中$ \ Sigma 是對稱的半正定矩陣。其概率密度函數為:

?



如上所述,μ是期望值。


向量值隨機變量 Z 的協方差為:

?


下圖顯示了均值為零但不同協方差的幾個密度函數。

?


以下為上圖的協方差(從左到右):

?


4 高斯判別分析和邏輯回歸


4.1 高斯判別分析


我們再來談談二元分類的問題,我們可以用多元高斯模型對 p(x|y) 進行建模。總的來講,我們有:

?


其中φ,μ0,μ1,Σ是我們想要找出的參數。請注意,雖然我們對不同的類有不同的均值,但我們在不同的類之間有著共享的協方差。


為什么它是一個生成模型?簡而言之,我們有一個類的先驗概率,這個類是伯努利分布。生成過程是(1)從伯努利分布中抽樣。(2)基于類標簽,我們從相應的分布中抽取 x。


所以,該數據的對數似然函數值是:

?


在上面的等式中,我們插入各個分布而不指明任何類,我們僅將它們抽象為 k。所以我們有:

?


現在,我們需要對每個參數進行取導,然后將它們設為零找到 argmax(函數值最大時對應的輸入值 x)。一些可能對推導有用的公式列舉如下:


(如果 A 是對稱的并且與 x 相互獨立)

?


證明: 矩陣 A 是對稱矩陣,所以 A= AT 并假設空間維度為 n。


?

雅可比公式:


?

證明:

?


證明:


這個證明有些復雜。你應該事先了解克羅內克函數和 Frobenius 內部乘積。對于矩陣 X,我們可以寫成:

?


你可以將 H 視為 Frobenius 內積的標識元素。在開始證明之前,讓我們準備好去找逆矩陣的導數。也就是說,?X-1/?X。

?


所以我們可以這么解:

?


接著,讓我們回到正題:

?


其中 F 表示 Frobenius 內積。


接著,帶回到原始公式:

?


現在,我們已經有足夠的準備去找到每個參數的梯度了。


對?取導并設為 0:

?


對 μk 取導并設為 0:

?


對 Σ 取導并設為 0:

?


結果如圖所示:

?


請注意,由于有著共享協方差,因此上圖兩個輪廓的形狀是相同的,但均值則不同。在邊界線上(自左上到右下的直線),每個類的概率為 50%。


4.2 高斯判別分析(GDA)和邏輯回歸


高斯判別分析是如何與邏輯回歸相關聯的呢?我們可以發現如果上述 p(x|y) 是具有共享協方差的多元高斯,我們就可以計算 p(x|y) 然后發現它是遵循邏輯函數的。要證明這一點,我們可以:

?


由于高斯屬于指數族,我們最終可以將分母中的比率轉換為 exp(θTx),其中 θ 是φ,μ0,μ1,Σ的函數。


同樣的,如果 p(x|y) 是具有不同 λ 的泊松分布,則 p(x|y) 也遵循邏輯函數。這意味著 GDA 模型本身有一個強假設,即每個類的數據都可以用具有共享協方差的高斯模型建模。但是,如果這個假設是正確的話,GDA 將可以更好并且更快地訓練模型。

另一方面,如果不能做出假設,邏輯回歸就不那么敏感了。因此,你可以直接使用邏輯回歸,而無需接觸高斯假設或 Possion 假設。


5 樸素貝葉斯


在高斯判別分析中,隨機變量應使用具有連續值特征的數據。而樸素貝葉斯則用于學習離散值隨機變量,如文本分類。在文本分類中,模型基于文本中的單詞將文本標記為二進制類,單詞被向量化并用于模型訓練。一個單詞向量就像一本字典一樣,其長度是字典中單詞儲存的數量,其二進度值則代表著是否為某個詞。一個單詞在單詞向量中由 1 表示「是」,而單詞向量中的其他位置則是 0。


然而,這可能并不起作用。比方說,如果我們有 50,000 個單詞并嘗試將其建模為多項式,則參數的維數為 250,000-1,250,000-1,這太大了。因此,為了解決這個問題,我們做出了


樸素貝葉斯假設:


基于給定分類下,每個詞彼此間條件獨立。


于是,我們有:?



我們對第一步應用概率論中的鏈式法則,對第二步應用樸素貝葉斯假設。


找到對數似然函數值的最大值:



其中 ?j|y=1 = P (xj=1|y=1),? j|y=1 = P(xj=1|y=1), ?j|y=0 = P(xj=1|y=0) 并且 ?y= p(y=1)。這些是我們需要訓練的參數。


我們可以對其求導:

?


為了預測新樣本,我們可以使用貝葉斯法則來計算 P(y = 1 | x)并比較哪個更高。

?



延伸: 在這種情況下,因為 y 是二進制值(0,1),我們將 P(xi | y)建模為伯努利分布。也就是說,它可以是「有那個詞」或「沒有那個詞」。伯努利將類標簽作為輸入并對其概率進行建模,前提是它必須是二進制的。如果是處理非二進制值 Xi,我們可以將其建模為多項式分布,多項式分布可以對多個類進行參數化。


總結: 樸素貝葉斯適用于離散空間,高斯判別分析適用于連續空間。我們任何時候都能將其離散化。


6 拉普拉斯平滑處理


上面的示例通常是好的,不過當新郵件中出現過去訓練樣本中不存在的單詞時,該模型將會預測失敗。在這種情況下,它會因為模型從未看到過這個詞而導致兩個類的φ變為零,以至于無法進行預測。


這時我們則需要另一個解決方案,其名為拉普拉斯平滑,它將每個參數設置為:

?


其中 k 是類的數量。在實際操作中,拉普拉斯平滑并沒有太大的區別,因為我們的模型中通常包含了所有的單詞,但有一個備用計劃總是極好的!



本文為機器之心專欄,轉載請聯系本公眾號獲得授權

?------------------------------------------------

加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com

投稿或尋求報道:content@jiqizhixin.com

廣告 & 商務合作:bd@jiqizhixin.com

總結

以上是生活随笔為你收集整理的生成模型学习笔记:从高斯判别分析到朴素贝叶斯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。