zoukankan      html  css  js  c++  java
  • 黑客与画家 第八章

    2013/6/24 16:01 写于 和谐图书馆
    第八章 防止垃圾邮件的一中方法
    垃圾邮件一直是个让人头疼的问题,我们知道,垃圾邮件始终是要接受的,只要我们在接受的时候进行相应的自动处理,那么就能避免查阅那些垃圾文件了。而作者认为,基于内容的过滤器将发挥巨大的作用。而这当中,好的方法就是贝叶斯判断。
    以前人们总是倾向于查看已有的垃圾邮件,找出它的特征,然后再根据这个特征来避免下次收到垃圾邮件。但是这样效率低,而且费头脑。
    所以统计学方法就是一种更为聪明的方法。
    作者首先准备了2组样本,一组叫做垃圾邮件,一组叫做非垃圾邮件。每组的样本是4000。然后根据每个实义标识,计算出每个实义标识在两个邮箱组中出现的此书。此后建立两张表,一个邮件组一张。每张表是键值对应的。键是指那些实义标识,值则是出现的此书。最后在创建了第三章表格。键还是标识,值则是包含该标识是垃圾邮件的概率。把这个概率叫做P。公示如下:
    Rg=min(1,2(good(W)/G)),Rb=min(1,bad(W)/B) 
    P=max(0.01,min(0.99,Rb/(Rg+Rb)))
    W就是标志
    G就是正常邮件
    B就是垃圾邮件
    good表示刚才创建的第一张表
    bad表示刚才创建的第二张表
    当收到邮件的时候,程序就会读出邮件中所有的实义标识,然后找出其中15个最醒目标识。(最醒目的表示,就是概率偏离0.5最远的标识).
    然后求得概率
    P=(15个Pi的和)/(15个Pi的和+15个(1-Pi的和) 
    如果是没有出现过的标识,就用0.4来代替他的概率.
    最后如果P>0.9,那么就当成是垃圾邮件.
    作者之后提出来了,每个使用者可以建议自己的垃圾邮件库,这样每个人就有自己的标准,这会使得发送垃圾邮件更为困难,因为垃圾邮件往往是群发的.
    还有,可以添加一些白名单,这些名单发送的邮件可以免除过滤.
    贝叶斯过滤器是可以跟进化的.
    如果让发垃圾邮件的成本提高,那么就可能没有垃圾邮件了.
     
    ps.贝叶斯方法,貌似很刁啊.
     
    转载请表明出处  http://www.huangweibin.com/
  • 相关阅读:
    Android Activity与Service的交互方式
    Android Service和Thread的区别
    Android Binder机制简单了解
    Android内的生命周期整理
    Android App的生命周期是什么
    ListView item 中TextView 如何获取长按事件
    Go之并发处理(售票问题)
    Go之简单并发
    Go之函数直接实现接口
    Go之类型判断
  • 原文地址:https://www.cnblogs.com/hwb1992/p/3152744.html
Copyright © 2011-2022 走看看