版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qilixuening/article/details/72810579
13.2 试基于朴素贝叶斯模型推导生成式半监督学习算法
回顾一下,朴素贝叶斯的假设是
xi=(xi1,…,xin)
中的所有
xij
相互独立,结合贝叶斯公式可知,我们的目标是找到一个
ck∈C
,最大化下式:
p(ck∣xi)=p(ck)p(xi∣ck)(1)
此时的
ck
即为该样本
xi
的分类,即:
h(xi)=argmaxckp(ck)p(xi∣ck)=argmaxckp(ck)⋅∏j=1Np(xij∣ck)(2)
假定各个类别与一个混合模型中的独立成分一一对应,混合模型的参数为
Θ
,则上式可以写为:
h(xi)=argmaxkp(θk)⋅∏j=1Np(xij∣θk)(3)
令
Θk=p(θk),Θxij∣j,k=p(xij∣θk),xij∈Ajk(4)
其中
Ajk
表示第
k
类样本在属性
j
上所有可能的取值的集合,则:
h(xi)=argmaxkΘk⋅∏j=1NΘxij∣j,k(5)
此时,将
Dl
中第
k
类样本的集合记为
lk
,
Du
中用伪标记分类的第
k
类样本的集合记为
u∗k
,
lk
中第
j
个属性取值为
xij
的集合记为
lk,xij
,
u∗k
中第
j
个属性取值为
xij
的集合记为
u∗k,xij
,我们可以对
Θk,Θxij∣j,k
进行参数估计:
Θ^kΘ^xij∣j,k=|lk|+|u∗k|+1|l|+|u∗|+|C|,=|lk,xij|+|u∗k,xij|+1|lk|+|u∗k|+|Ajk|(6)(7)
基于上述参数估计方法,可构建如下算法:
- 输入:有标记数据
Dl
和未标记数据
Du
;
- 只使用
Dl
,利用
(6),(7)
计算出朴素贝叶斯模型的初始参数
Θ^(0)k,Θ^(0)xij∣j,k
,并令
u∗k=∅
循环,当
Θ^(m)k,Θ^(m)xij∣j,k≠Θ^(m+1)k,Θ^(m+1)xij∣j,k
时:
E-step: 将
Θ^(m)k,Θ^(m)xij∣j,k
带入式
(5)
获取所有样本
xi∈Du
的伪标记
c∗i
,并令
D∗u={(xi,c∗i)}
M-step: 利用更新后的
D∗u
,结合
Dl
,利用
(6),(7)
计算出朴素贝叶斯模型的参数
Θ^(m+1)k,Θ^(m+1)xij∣j,k
- 输出:
Θ^k,Θ^xij∣j,k
,朴素贝叶斯分类器
h(x)
,已完成分类的
D∗u
。