0%

朴素贝叶斯+垃圾邮件分类器


Naive Bayes 朴素贝叶斯

关于吴恩达的cs229课程的一份笔记,关于朴素贝叶斯分类器在垃圾邮件分类上的应用。


spam classifier 垃圾邮件分类器

样本: 过去时间收到的所有邮件,共$m$封。

步骤:

1.首先建立词典$X$,词典中共有$n$个词。

2.通过样本估计概率,

其中$X_i \in {0,1}$,表示词典中的第$i$个词是否出现,$X_i = 1$表示出现。

上面的$y \in {0,1}$,并且$y=1$表示邮件为垃圾邮件。令

然后利用极大似然法估计概率值。

3.通过上面得到 $P(X|y)$ 与 $P(y)$的概率, 对于新的输入$X$, 就可以用$P(y|X)$就可判断$y$。


改进

这里考虑词的出现次数,对上面的分类器进行改进。

这个模型称为:Multinomial Event Model

步骤:

1.建立词典,词典的词的总数为$V$。

2.对于一封邮件,将其转化为向量的表示第个词在词典中的位置。 例如,邮件开头为A NIPS ...,其中A在词典的第1个, NIPS在词典的35000个,则

3.通过样本估计概率,

其中$k \in {0,1,…,n}$,对$X_j=k$表示邮件中的第$j$个词在词典中的位置为$k$。

同样的,上面$y \in {0,1}$,对于$y=1$,它就表示邮件为垃圾邮件。令:

同样的,利用极大似然法估计概率值。

4.通过上面得到$P(X|y)$与$P(y)$的概率, 对于新的输入$X$, 就可以用$P(y | X)$来判断$y$。