机器学习-周志华-个人练习13.2

来源:互联网 发布:专心软件 编辑:程序博客网 时间:2024/05/16 13:47

13.2 试基于朴素贝叶斯模型推导生成式半监督学习算法

回顾一下,朴素贝叶斯的假设是xi=(xi1,,xin)中的所有xij相互独立,结合贝叶斯公式可知,我们的目标是找到一个ckC,最大化下式:

p(ckxi)=p(ck)p(xick)(1)

此时的ck即为该样本xi的分类,即:
h(xi)=argmaxckp(ck)p(xick)=argmaxckp(ck)j=1Np(xijck)(2)

假定各个类别与一个混合模型中的独立成分一一对应,混合模型的参数为Θ,则上式可以写为:
h(xi)=argmaxkp(θk)j=1Np(xijθk)(3)

Θk=p(θk),Θxijj,k=p(xijθk),xijAjk(4)

其中Ajk表示第k类样本在属性j上所有可能的取值的集合,则:
h(xi)=argmaxkΘkj=1NΘxijj,k(5)

此时,将 Dl 中第 k 类样本的集合记为lkDu 中用伪标记分类的第 k 类样本的集合记为uklk 中第 j 个属性取值为xij的集合记为lk,xijuk 中第 j 个属性取值为xij的集合记为uk,xij,我们可以对Θk,Θxijj,k进行参数估计:

Θ^kΘ^xijj,k=|lk|+|uk|+1|l|+|u|+|C|,=|lk,xij|+|uk,xij|+1|lk|+|uk|+|Ajk|(6)(7)

基于上述参数估计方法,可构建如下算法:

  • 输入:有标记数据Dl和未标记数据Du
  • 只使用Dl,利用(6),(7)计算出朴素贝叶斯模型的初始参数Θ^(0)k,Θ^(0)xijj,k,并令uk=
  • 循环,当Θ^(m)k,Θ^(m)xijj,kΘ^(m+1)k,Θ^(m+1)xijj,k时:

    • E-step: Θ^(m)k,Θ^(m)xijj,k带入式(5)获取所有样本xiDu的伪标记ci,并令Du={(xi,ci)}

    • M-step: 利用更新后的Du,结合Dl,利用(6),(7)计算出朴素贝叶斯模型的参数Θ^(m+1)k,Θ^(m+1)xijj,k

  • 输出:Θ^k,Θ^xijj,k,朴素贝叶斯分类器h(x),已完成分类的Du
原创粉丝点击