zoukankan      html  css  js  c++  java
  • naive bayes

    场景:垃圾邮件预测

    目标:
    $p(y|w) = frac{p(w|y)p(y)}{p(w)}$
    对于一封邮件来说,它的单词相同,所以$p(w)$可以不关心,计算得到分子就能知道更属于哪一类
    所以,关键在于计算$p(y)$以及$p(w_i|y)$,即根据数据估计这些値
     
    假设w为(0,1,0,.,1,..,0),即邮件中是否出现词典中单词,n为词典长度
    使用最大似然估计:
    $logprod_i^m p(w_i)|y_i)p(y_i) = sum_i^m [log p(y_i)sum_j^n log p(w_{ij}|p(y_i))]$
    得到
    $p(y=1) = frac{sum [y_i==1]}{m}$
    $p(w_k|y=1) = frac{sum [y_i==1 and w_k==1]}{sum [y_i==1]}$
     
    在做预测时,有些单词在以前邮件中内有出现,所以,这些单词的概率
    $p(w_k|y=1)=0$,这种情况会使$p(y=1|w)=0$,做拉普赖斯平滑
    $p(w_k|y=1) = frac{1+sum [y_i==1 and w_k==1]}{c+sum [y_i==1]}$
    c为$w_k$可取値的个数,此处为0,1,所以c=2
  • 相关阅读:
    log4j
    hashContext
    sql语句
    css样式
    作业七:(二)疑问解答
    作业七:(1)翻译
    结对编程作业
    软件优缺点评价(补交)
    C#程序分析
    VS2013安装及测试练习
  • 原文地址:https://www.cnblogs.com/porco/p/4537259.html
Copyright © 2011-2022 走看看