欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【数据挖掘】贝叶斯公式在垃圾邮件过滤中的应用 ( 先验概率 | 似然概率 | 后验概率 )

发布时间:2025/6/17 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【数据挖掘】贝叶斯公式在垃圾邮件过滤中的应用 ( 先验概率 | 似然概率 | 后验概率 ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

        • I . 垃圾邮件过滤 需求 及 表示方法
        • II . 贝叶斯方法 步骤 1 : 提出假设
        • III . 贝叶斯方法 步骤 2 : 计算垃圾邮件假设概率
        • IV . 贝叶斯方法 步骤 2 : 计算正常邮件假设概率
        • V . 贝叶斯方法 步骤 3 : 比较假设的概率
        • VI . 先验概率 P(H1)P(H_1)P(H1)P(H0)P(H_0)P(H0)
        • VII . 似然概率 P(D∣H1)P(D|H_1)P(DH1)P(D∣H0)P(D|H_0)P(DH0)



I . 垃圾邮件过滤 需求 及 表示方法



1 . 需求 : 收到一封邮件 , 判断该邮件是否是垃圾邮件 ;


2 . 表示方法 :


① 收到邮件 DDD : DDD 表示收到的邮件 , 其有一定的特征 , 如包含指定的单词 等 ;

② 收到邮件 DDD 的概率 : DDD 是符合一定要求的邮件 , 不是每一个收到的邮件都有 DDD 的特征 ;

③ 垃圾邮件 H0H_0H0 : 表示收到 DDD 邮件是 H0H_0H0 垃圾邮件 ; ( H0H_0H0 泛指垃圾邮件 , 不是指某一封邮件 )

④ 正常邮件 H1H_1H1 : 表示收到 DDD 邮件是 H1H_1H1 正常邮件 ; ( H1H_1H1 泛指正常邮件 , 不是指某一封邮件 )



II . 贝叶斯方法 步骤 1 : 提出假设



1 . 提出假设 : 收到邮件事件是 DDD , 该邮件是否是垃圾邮件 , 只有两个假设 , 是 或 否 ,


① 假设 111 : 假设 收到的 DDD 邮件 是垃圾邮件 H0H_0H0 ;

② 假设 222 : 假设 收到的 DDD 邮件 是正常邮件 H1H_1H1 ;



III . 贝叶斯方法 步骤 2 : 计算垃圾邮件假设概率



1 . 计算该邮件是垃圾邮件的概率 :


① 需要计算的概率 : 收到邮件 DDD 后 , 该邮件是垃圾邮件 H0H_0H0 , 概率是 P(H0∣D)P(H_0|D)P(H0D) ;

② 问题 : 很明显 , 这个概率求不出来 ;


2 . 引入贝叶斯公式 :


① 逆向概率 ( 似然概率 | 条件概率 ) : 收到垃圾邮件后 , 该邮件是 DDD 的概率 ; 这个概率可以由训练学习得到 , 数据量足够大 , 是可以知道的 ;

② 先验概率 : 收到 H0H_0H0 邮件的概率是已知的 ;

③ 后验概率 : 贝叶斯公式计算该邮件 DDD 是垃圾邮件的概率 :

P(H0∣D)=P(D∣H0)P(H0)P(D)P(H_0 | D) = \frac{P(D|H_0)P(H_0)}{P(D)}P(H0D)=P(D)P(DH0)P(H0)



IV . 贝叶斯方法 步骤 2 : 计算正常邮件假设概率



1 . 计算该邮件是正常邮件的概率 :


① 计算的概率 : 收到邮件 DDD 后 , 该邮件是正常邮件 H1H_1H1 , 概率是 P(H1∣D)P(H_1|D)P(H1D) ;

② 问题 : 很明显 , 这个概率求不出来 ;


2 . 引入贝叶斯公式 :


① 逆向概率 ( 似然概率 | 条件概率 ) : 收到正常邮件 H1H_1H1 后 , 该邮件是 DDD 的概率 ; 这个概率可以由训练学习得到 , 数据量足够大 , 是可以知道的 ;

② 先验概率 : 收到 H1H_1H1 邮件的概率是已知的 ;

③ 后验概率 : 贝叶斯公式计算该邮件 DDD 是正常邮件的概率 :

P(H1∣D)=P(D∣H1)P(H1)P(D)P(H_1 | D) = \frac{P(D|H_1)P(H_1)}{P(D)}P(H1D)=P(D)P(DH1)P(H1)



V . 贝叶斯方法 步骤 3 : 比较假设的概率



1 . 假设概率 : 提出了 222 个假设 , 邮件 DDD 是垃圾邮件的概率是 P(H0∣D)=P(D∣H0)P(H0)P(D)P(H_0 | D) = \frac{P(D|H_0)P(H_0)}{P(D)}P(H0D)=P(D)P(DH0)P(H0) , 邮件 DDD 是正常邮件的概率是 P(H1∣D)=P(D∣H1)P(H1)P(D)P(H_1 | D) = \frac{P(D|H_1)P(H_1)}{P(D)}P(H1D)=P(D)P(DH1)P(H1) ;


2 . 比较概率忽略分母 : 比较 上述两个概率 , 明显其分母都是 P(D)P(D)P(D) , 可以不考虑分母因素 , 只比较分子 ;


3 . 比较分子 : 比较 P(D∣H0)P(H0)P(D|H_0)P(H_0)P(DH0)P(H0)P(D∣H1)P(H1)P(D|H_1)P(H_1)P(DH1)P(H1) 两个值的大小 ;



VI . 先验概率 P(H1)P(H_1)P(H1)P(H0)P(H_0)P(H0)



1 . 先验概率 : P(H1)P(H_1)P(H1) 代表收到正常邮件的概率 , P(H0)P(H_0)P(H0) 代表收到垃圾邮件的概率 ;


2 . 获取这两个概率 : 从系统后台服务器中的邮件库中获取垃圾邮件 和 正常邮件比例即可 ;



VII . 似然概率 P(D∣H1)P(D|H_1)P(DH1)P(D∣H0)P(D|H_0)P(DH0)



1 . P(D∣H1)P(D|H_1)P(DH1) 概率 : 表示收到正常邮件时 , 该邮是 DDD 邮件的概率 , 即具有 DDD 邮件的特征 ; 需要在当前邮件库中找到具有该邮件 DDD 特征的邮件出现的概率 ;


2 . P(D∣H0)P(D|H_0)P(DH0) 概率 : 表示收到垃圾邮件时 , 该邮是 DDD 邮件的概率 , 即具有 DDD 邮件的特征 ; 需要在当前邮件库中找到具有该邮件 DDD 特征的邮件出现的概率 ;

总结

以上是生活随笔为你收集整理的【数据挖掘】贝叶斯公式在垃圾邮件过滤中的应用 ( 先验概率 | 似然概率 | 后验概率 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。