機器學習演算法--貝葉斯分類器
1.貝葉斯理論
在已知相關概率下,基於概率和誤判損失來選擇最優的類別標記。
假設類別標記總數為N,即Y{c1,c2..cn}.rij表示將一個真實樣本為cj誤判為ci的損失,p(ci|x)表示樣本x分類為ci的概率,則有樣本x的條件風險:
尋找一個判定準則h,使得X---->Y,總體風險最小
貝葉斯判定準則:對於每個樣本x,若R(h(x)|x)最小,則總體風險R(h)也將最小。
h*為最優貝葉斯分類器,R(h*)為貝葉斯風險,對於每個樣本,選擇那個條件風險R(c|x)最小的類別標記
若最小化分類錯誤率,損失函式:
則樣本x的條件風險:
最小化分類錯誤率的最優貝葉斯分類器:
欲求P(c|x)的最大值,有
P(c)為樣本中各個類別的概率 P(x|c)是樣本在分類c下的特徵屬性分佈概率 P(x)是樣本x分佈概率,與類別標記無關。
P(c)表達了樣本中各個類別的比重,可以利用樣本中的類別數量頻率來進行估計;P(x|c)是樣本在已知分類為c的條件下,各個特徵屬性的聯合分佈,x為樣本特徵向量,一般多維,聯合概率難以求解和估計。
2.極大似然估計
估計類條件概率一般採用極大似然估計,即先假定具有某種確定的概率分佈形式,再基於訓練樣本對概率分佈引數進行估計。結果的準確依賴於假設的分佈是否接近於資料真實的分佈。
Dc表示訓練集中第c類樣本組成的集合,假定這些樣本獨立同分布,則引數oc對於Dc的似然估計為:
即求得引數oc,使得樣本所有可能出現的可能性最大
為了避免連乘造成下溢,取對數似然:
即引數似然估計的任務:
3.樸素貝葉斯分類器NBC
P(x|c)表示已知類別c下的屬性聯合分佈,x=(x1,x2...xd)為d喂向量,一般難於求解,NBC假設x的所有特徵屬性相互獨立,獨立的對於結果發生影響,基於條件屬性獨立性假設:
NBC分類屬性表示式,即
類先驗概率P(c) Dc表示訓練集D中c類樣本數
對於離散屬性: Dcxi表示第c類中第一個屬性值為xi的樣本數
對於連續屬性 假定 其中第c類樣本中第i個屬性取值的均值和方差(多維高斯分佈)
說明:
中心極限定理:樣本的平均值約等於總體的平均值。不管總體是什麼分佈,任意一個總體的樣本平均值都會圍繞在總體的整體平均值周圍,並且呈正態分佈。
拉普拉斯平滑:為避免訓練集中其他屬性被未出現的屬性而抹去,需要進行平滑,避免因訓練集樣本不充分而出現概率為0的情況
N表示訓練集D中可能的類別數,Ni表示第i個屬性可能的取值數
4.半樸素貝葉斯分類器SNBC
獨依賴估計(ODE)假設每個屬性依賴於類別之外最多僅依賴於一個其他屬性
pai為屬性xi的依賴屬性,稱為xi的父屬性。如何為每個屬性確定父屬性:
1.SPODE
假設所有屬性依賴於同一個超父屬性,通過交叉驗證來確定最優超父屬性
2.TAN
利用最大帶權生成樹演算法
(1)計算任意兩個屬性之前的條件互資訊
(2)以屬性為節點構建完全圖,權重為條件互資訊
(3)構建最大帶權生成樹
(4)加入類別屬性y,增加y到各個屬性的有向邊
3.AODE
採用整合學習,將每個屬性作為父屬性來構建SPOED,然後選取那些足夠訓練資料的SPODE來整合學習
Dxi是第i個屬性上取值為xi的樣本集合,m`為閾值
Dcxi表示類別為c且第i個屬性為xi的樣本集合 N表示D中可能類別數 Ni表示第i個屬性可能取值數
Dcxixj 表示類別為c且第i屬性為xi,第j個屬性為xj的樣本集合
5.貝葉斯網
5.1結構
貝葉斯網由網路結構G和引數O組成 B=<G,O> G是一個有向無環圖 O描述這種依賴關係。
給定某個節點,貝葉斯網假定屬性與他的非後裔屬性獨立
分析變數間的條件獨立性,有向分解,將有向圖變為無向圖:找出圖中所有V型結構,在兩個父節點之間新增一條無向邊,將圖中所有有向邊變為無向邊,變為道德圖
在道德圖中,變數x,y,能被屬性集合Z={zi}分開,則說明在Z的條件下,x和y獨立
5.2網路結構學習
評分函式:
其中|B|為貝葉斯網路的引數 f(O)為每個引數的編碼長度 LL(B|D)為貝葉斯網的對數似然
AIC f(O)=1
BIC f(O)=logm/2
從所有可能空間搜尋貝葉斯網是NP難問題,可以近似求解 1貪心法 逐漸增加邊的數量 2施加約束來不斷減少邊的數量。
5.3推斷
吉布斯取樣演算法:
Q={Q1,Q2..Qn}待查詢的變數
E={E1,E2...Ek}證據變數 取值e={e1,e2...ek}
計算P(Q=q|E=e) q={q1,q2..qn}待查詢變數的一組取值
吉布斯取樣演算法:
6.EM演算法
未觀測變數為隱變數 X已觀測變數 Z隱變數 O引數
對引數O進行最大似然估計
計算Z期望來最大化已觀測資料的邊際似然
E步:以當前引數的估計值來計算對數似然的期望值
M步:尋找使E中對數似然最大的引數值