
機(jī)器學(xué)習(xí)實現(xiàn)與分析之五(高斯判別分析)
高斯判別分析(GDA)簡介
首先,高斯判別分析的作用也是用于分類。對于兩類樣本,其服從伯努利分布,而對每個類中的樣本,假定都服從高斯分布,則有:
這樣,根據(jù)訓(xùn)練樣本,估計出先驗概率以及高斯分布的均值和協(xié)方差矩陣(注意這里兩類內(nèi)部高斯分布的協(xié)方差矩陣相同),即可通過如下貝葉斯公式求出一個新樣本分別屬于兩類的概率,進(jìn)而可實現(xiàn)對該樣本的分類。
GDA詳細(xì)推導(dǎo)
那么高斯判別分析的核心工作就是估計上述未知量?,μ0,μ1,Σ?,μ0,μ1,Σ。如何來估計這些參數(shù)?又該最大似然估計上場了。其對數(shù)似然函數(shù)為:
注意此函數(shù)第一部分只和μ0,Σμ0,Σ有關(guān),第二部分只和μ1,Σμ1,Σ有關(guān),最后一部分只和??有關(guān)。最大化該函數(shù),首先求??,先對其求偏導(dǎo)數(shù):
此處II為指示函數(shù)。令其為0,可求解出:
同樣地,對μ0μ0求偏導(dǎo)數(shù):
令其為0,可求解得:
根據(jù)對稱性可直接得出:
下面對ΣΣ求偏導(dǎo)數(shù),由于似然函數(shù)只有前面兩部分與ΣΣ有關(guān),則將前兩部分改寫如下:
進(jìn)而有:
這里推導(dǎo)用到了:
令其為0,從而求得:
上面的推導(dǎo)似乎很復(fù)雜,但其結(jié)果卻是非常簡潔。通過上述公式,所有的參數(shù)都已經(jīng)估計出來,需要判斷一個新樣本x時,可分別使用貝葉斯求出p(y=0|x)和p(y=1|x),取概率更大的那個類。
實際計算時,我們只需要比大小,那么貝葉斯公式中分母項可以不計算,由于2個高斯函數(shù)協(xié)方差矩陣相同,則高斯分布前面那相同部分也可以忽略。實際上,GDA算法也是一個線性分類器,根據(jù)上面推導(dǎo)可以知道,GDA的分界線(面)的方程為:
取對數(shù)展開后化解,可得:
若,則
這就是GDA算法的線性分界面。
GDA實現(xiàn)
這里也采用前面講邏輯回歸生成的數(shù)據(jù)來進(jìn)行實驗,直接load進(jìn)來進(jìn)行處理,詳見邏輯回歸。GDA訓(xùn)練代碼如下:
View Code
測試代碼:
View Code
訓(xùn)練結(jié)果如下,訓(xùn)練樣本中,正負(fù)樣本均為100個,故?=0.5:
改變正負(fù)樣本數(shù)量,即相當(dāng)于改變先驗概率,則實驗結(jié)果如下(相應(yīng)的??的值顯示在圖像標(biāo)題):
算法分析
1.與邏輯回歸的關(guān)系
根據(jù)上面的結(jié)果以及貝葉斯公式,可有
而
那么,令
則
這不就是邏輯回歸的形式么?
在推導(dǎo)邏輯回歸的時候,我們并沒有假設(shè)類內(nèi)樣本是服從高斯分布的,因而GDA只是邏輯回歸的一個特例,其建立在更強(qiáng)的假設(shè)條。故兩者效果比較:
a.邏輯回歸是基于弱假設(shè)推導(dǎo)的,則其效果更穩(wěn)定,適用范圍更廣
b.數(shù)據(jù)服從高斯分布時,GDA效果更好
c.當(dāng)訓(xùn)練樣本數(shù)很大時,根據(jù)中心極限定理,數(shù)據(jù)將無限逼近于高斯分布,則此時GDA的表現(xiàn)效果會非常好
2.為何要假設(shè)兩類內(nèi)部高斯分布的協(xié)方差矩陣相同?
從直觀上講,假設(shè)兩個類的高斯分布協(xié)方差矩陣不同,會更加合理(在混合高斯模型中就是如此假設(shè)的),而且可推導(dǎo)出類似上面簡潔的結(jié)果。
假定兩個類有相同協(xié)方差矩陣,分析具有以下幾點影響:
A.當(dāng)樣本不充分時,使用不同協(xié)方差矩陣會導(dǎo)致算法穩(wěn)定性不夠;過少的樣本甚至導(dǎo)致協(xié)方差矩陣不可逆,那么GDA算法就沒法進(jìn)行
B.使用不同協(xié)方差矩陣,最終GDA的分界面不是線性的,同樣也推導(dǎo)不出GDA的邏輯回歸形式
3.使用GDA時對訓(xùn)練樣本有何要求?
首先,正負(fù)樣本數(shù)的比例需要符合其先驗概率。若是預(yù)先明確知道兩類的先驗概率,那么可使用此概率來代替GDA計算的先驗概率;若是完全不知道,則可以公平地認(rèn)為先驗概率為 50%。
其次,樣本數(shù)必須不小于樣本特征維數(shù),否則會導(dǎo)致協(xié)方差矩陣不可逆,按照前面分析應(yīng)該是多多益善。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10