关闭

以垃圾邮件判定方法探索机器学习中的二分类判定问题

标签: 贝叶斯定理垃圾邮件机器学习二分类
258人阅读 评论(0) 收藏 举报
分类:

学习了一点机器学习的内容:如何进行垃圾邮件分类。自己总结了一下。
试想一下我们人脑的思考方式,我们是如何判断一封邮件是垃圾邮件的:如果邮件中包含某些词,而且这些词出现的频率较高时(比如一封很短的邮件中只有几个Html标签,其中还包含“中奖”等词汇),我们把它归为“奇怪邮件”一类。当我们看了很多这样的“奇怪邮件”之后,我们判定这类邮件是我们所不需要的“垃圾邮件”,好在现在的邮箱都有垃圾箱可以帮我们分类。但是某一天我们收到腾讯客服的电话,我们真的中奖了,电话中说他们已经发了一封简短的邮件通知我,这是才焕然大悟,是不是那封邮件被当作垃圾邮件了,我们需要重新审视我们的分类标准。
那我们来试着模拟人脑的这个过程:
1,首先提取分类特征
首先需要获得一个垃圾邮件样本,然后统计样本中所有邮件中每一个单词出现的频率,并进行排序。从而得到分类特征词。
2,根据特征值计算新邮件是垃圾邮件的可能性。
新邮件中出现了某些“垃圾邮件特征词”,如何断定它是不是垃圾邮件呢。我们可以通过计算它是垃圾邮件的概率来判断。即计算出现特征词w1,…wn时,该邮件是垃圾邮件的条件概率。
介绍一下贝叶斯定理:
下面的图片截取自:http://www.chepoo.com/naive-bayesian-text-classification-algorithm-to-learn.html
贝叶斯定理
最终得出:
P(是垃圾邮件 | 含特征词w1,…wn) = P(含特征词w1 | 是垃圾邮件)*…P(wn | 是垃圾邮件) * P(是垃圾邮件) / (P(w1) * … P(wn))
如果此概率大于50%,我们认为是垃圾邮件。
注意:
这里如果某个P(含特征词w1 | 是垃圾邮件)为0的话,会使得最终结果为0,这被称为数据稀疏问题。为了解决这个问题,我们让每个特征词最少出现一次。
3,解决误杀和漏杀的问题。
如果确定有误杀及漏杀的情况,如何改进此模型呢?
这里猜测一下,是否可以通过调整P(w1 | 是垃圾邮件),来调整w1的判定权重呢?待以后学习后更新。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27249次
    • 积分:659
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:4篇
    • 译文:6篇
    • 评论:12条
    最新评论