4 3 樸素貝葉斯 最大似然估計演算法過程

2021-10-03 22:15:02 字數 3137 閱讀 5238

輸入:

樣本資料t,包含m個n維特徵的樣本。

aij為每個樣本特徵的第i個特徵可取到的第j個值。

測試樣本x

輸出:對x的**分類。

p k(

y=ck

)=∑i

(y=c

k)

mp_k(y=c_k) = \frac

pk​(y=

ck​)

=m∑i

(y=c

k​)​

p ij

kp_

pijk​為當為當

為當y =c

ky=c_k

y=ck​時,x

第j個特

徵為

時,x第j個特徵為

時,x第j個

特徵為aij

a_ai

j​的條件概率

p ij

k=∑i

(x(i

)=ai

j,y=

ck)∑

i(y=

ck

)p_ = \frac = a_, y=c_k)}

pijk​=

∑i(y

=ck​

)∑i(

x(i)

=aij

​,y=

ck​)

​對所有c

kc_k

ck​計算計算

計算p (x

=x∣y

=ck)

p(x=x|y=c_k)

p(x=x∣

y=ck

​)p (x

=x∣y

=ck)

p(x=x|y=c_k)

p(x=x∣

y=ck

​)為 當為當

為當y =c

ky=c_k

y=ck

​時,x的每乙個特徵的條件概率的乘積。

p (x

=x∣y

=ck)

=∏p(

x(i)

=ai∣

y=ck

)p(x=x|y=c_k) = \prod p(x^=a_i|y=c_k)

p(x=x∣

y=ck

​)=∏

p(x(

i)=a

i​∣y

=ck​)p(

y=ck

∣x=x

)=p(

x=x∣

y=ck

)p(y

=ck)

p(x=

x)

p(y=c_k|x=x) = \frac

p(y=ck

​∣x=

x)=p

(x=x

)p(x

=x∣y

=ck​

)p(y

=ck​

)​以上公式中分子所有需要的內容都在以前已經計算出,代入公式即可

不需要計算分母。因為最終要用到的不是後驗概率的具體數值,只是要比較大小。中所有c_k的後驗概率公式,分母都是相同的,不影響大小的比較,所以不用計算出來。

當x=x時所有c

kc_k

ck​的後驗

概率中分

子取得最

大概率的

那的後驗概率中分子取得最大概率的那

的後驗概率中

分子取得

最大概率

的那c

kc_k

ck​即x的分類

def

*****tebayes

(t, y, a, y, x)

:# 計算先驗概率

prepro =

for yrange in y:

#print (yrange, y[y==yrange].shape[0], )

prepro[yrange]

= y[y==yrange]

.shape[0]

/y.shape[0]

print

('先驗概率:'

,prepro)

# 計算條件概率

conpro =

for i in

range

(len

(a))

:# 遍歷每個特徵

for j in a[i]

:# 遍歷特徵的每個取值

for k in y:

conpro[

(i,j, k)

]= x[

(y==k)

&(x[

:,i]

==j),:

].shape[0]

/x[y==k,:]

.shape[0]

print

('條件概率:'

,conpro)

# 計算後驗概率的分子

postpro =

for yrange in y:

pro =

1for i in

range

(x.shape[0]

):pro = pro * conpro[

(i, x[i]

, yrange)

] postpro[yrange]

= pro * prepro[yrange]

print

('後驗概率'

, postpro)

# 確定x的分類

import operator

return

sorted

(postpro.items(),

# iterable -- 可迭代物件,在python2中使用a.iteritems(),在python3中使用a.items()

key=operator.itemgetter(1)

,# key -- 主要是用來進行比較的元素,指定可迭代物件中的乙個元素來進行排序,這裡指基於item的value進行排序

reverse=

true)[

0][0

]# reverse -- 排序規則,reverse = true 降序 , reverse = false 公升序(預設)。

# 排序結果是乙個list

貝葉斯估計與最大似然估計

極大似然估計 極大似然估計的基本想法是 我們所看到的,就是最可能發生的。所以通過最大化實驗資料發生的概率 p x 其中引數 是未知的 取極值時對應的 即為最大似然估計。貝葉斯估計p x p x p p x p 表示乙個事件發生的 概率,例如扔乙個硬幣的結果正面朝上的概率,這個 概率 是乙個隨機變數,...

bayes 貝葉斯估計與最大似然估計

參考 設資料為d,變數為x,決定概率分布的引數為 似然函式 p d 後驗概率分布 p d p d p constant 1.用mle方法只能估計出使得似然函式最大時的 值,而基於bayes的後驗概率法則可以求出 的後驗概率分布。若需要求得最優的 則可以用map來獲得。2.mle求出最優的引數 後帶回...

極大似然 樸素貝葉斯 EM演算法

1 寫出似然函式 聯合概率分布 2 似然函式處理 比如取對數 3 獲得似然方程 求導數,令導數 0 4 解似然方程,獲得模型引數。ps 回顧神經網路中loss function的定義,一般都是 log loss 形式的函式,實際上也是對訓練樣本進行了極大似然估計,只不過求解引數的方式不能是令導數 0...