开发者学堂课程【人工智能必备基础:概率论与数理统计:垃圾邮件过滤实例】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/545/detail/7416
垃圾邮件过滤实例
内容介绍
一、模型比较理论
二、垃圾邮件过滤实例
一、模型比较理论
1.最大似然:最符合观测数据的(即 P(D|h) 最大的)最有优势
2.奥卡姆剃刀: P(h) 较大的模型有较大的优势
3.掷一个硬币,观察到的是“正”,根据最大似然估计的精神,我们应该猜测这枚硬币掷出“正”的概率是 1,因为这个才是能最大化 P(D|h) 的那个猜测
4.如果平面上有 N 个点,近似构成一条直线,但绝不精确地位于一条直线上。这时我们既可以用直线来拟合(模型 1 ),也可以用二阶多项式(模型 2 )拟合,也可以用三阶多项式(模型 3 ),特别地,用 N-1 阶多项式便能够保证肯定能完美通过 N 个数据点。那么,这些可能的模型之中到底哪个是最靠谱的呢?
5.奥卡姆剃刀:越是高阶的多项式越是不常见
P(N-1)<<P(1)
二、垃圾邮件过滤实例
问题:给定一封邮件,判定它是否属于垃圾邮件
D 来表示这封邮件,注意 D 由 N 个单词组成。我们用 h+ 来表示垃圾邮件,h- 表示正常邮件
P(h+|D)=P(h+)*P(D|h+)/P(D)
P(h- |D)=P(h-)*P(D|h-)/P(D)
1.先验概率: P(h+) 和 P(h-) 这两个先验概率都是很容易求出来的,只需要计算一个邮件库里面垃圾邮件和正常邮件的比例就行了。
2.D 里面含有 N 个单词 d1,d2,d3,P(D|h+)=P(d1,d2,...,dn|h+)
P(d1,d2,...,dn|h+) 就是说在垃圾邮件当中出现跟我们目前这封邮件一模一样的一封邮件的概率是多大!
P(d1,d2,...,dn |h+) 扩展为: P(d1|h+)*P(d2|d1h+)*P(d3|d2d1h+)*....
3.P(d1|h+)* P(d2|d1,h+) * P(d3|d2,d1,h+)* ..
假设 di 与 di-1 是完全条件无关的(朴素贝叶斯假设特征之间是独立互不影响)
简化为 P(d1|h+)* P(d2|h+)* P(d3|h+)*..
4. 对于 P(d1|h+)*P(d2|h+)*P(d3|h+)*.. 只要统计 di 这个单词在垃圾邮件中出现的频率即可