数据挖掘算法之贝叶斯网络

贝叶斯网络

上上周末写完上篇朴素贝叶斯分类后,连着上了七天班,而且有四天都是晚上九点下班,一直没有多少时间学习贝叶斯网络,所以更新慢了点,利用清明节两天假期,花了大概七八个小时,写了这篇博客,下面讲的例子有一个是上一篇朴素贝叶斯讲过的,还有其他的都是出自贝叶斯网络引论中。我会以通俗易懂的方式写出来,不会讲得很复杂,会介绍贝叶斯网络的绝大部分知识点,看完会让你对于贝叶斯网络有个大概的了解。但是对于比较深层次的东西,我先不打算写。比如训练贝叶斯网络因为涉及到比较加深入的数学知识,我自己暂时也不是理解得很透彻,所以先不写。

这几天利用闲暇时间,看了一部电视剧,stb超级教师,这部电视剧虽然没有什么明星,但是个人觉得还是挺好看的,比较有营养,算是一部喜剧和励志片。故事情节大概就是一个家庭贫困的孩子,在高中没有读完就去黑市打黑拳,十多年后,这个男主角和几个兄弟在黑道上打出了一片天,但是男主角后悔当初没读书,对于打打杀杀的日子感到腻了,就去一家高中当了一个班主任,但是这个班是全校的垃圾班,班上的班主任已经换了16个,有的还被学生整得去了精神病院。虽然刚开始也遭到了同学们的暗算,但是在他不懈的坚持下,感化了所有学生。因为男主角以前没受过什么正规教育,没有教师资格证,被一些老师排挤,要求他离校,最终在男主角不断的坚持和同学们的帮助下,考上了教师资格证。

里面有几句男主角说的话:共勉

成长就是让你一个人,踉踉跄跄的受伤,跌跌撞撞的坚强

你们生下来不是为了考试成绩而活,那证明不了什么,真正重要的,是你们要好好的活着,为自己找到一个真正的答案。

不管是什么样的人,只要肯用心,肯努力,都可以达到自己的目标


引子

前面讲了朴素贝叶斯,朴素贝叶斯有个前提,就是每个随机变量(特征属性)都是相互独立的
但是在现实生活中,我们遇到的情况不是所有随机变量都相互独立,他们之间相互关联、相互影响。

上一篇我们讲过一个通过朴素贝叶斯来检测真假账号的例子。

账号真假的判断根据三个特征属性来判断:

             

       F1: 日志数量/注册天数 

     F2: 好友数量/注册天数 
     F3: 是否使用真实头像(真实头像为1,非真实头像为0)

通过计算这个式子:P(F1|C)P(F2|C)P(F3|C)P(C) 来判断一个账号的真假。但是我们的前提是假设这三个特征相互独立。
现在发现三个特征属性具有如图所示的关联关系



1、真实账号比非真实账号平均具有更大的日志密度、各大的好友密度以及更多的使用真实头像
2、日志密度与好友密度、日志密度与是否使用真实头像在账号真实性给定的条件下是独立的
3、使用真实头像的用户比使用非真实头像的用户平均有更大的好友密度

 
 
由于特征属性间存在依赖关系,使得朴素贝叶斯分类不能解决这种问题了,看下面这种解决办法:
上图是一个有向无环图,其中每个节点代表一个随机变量,而弧则表示两个随机变量之间的联系,代表父节点影响子节点

不过上面这个图,只是定性地给出了随机变量(特征属性)之间的关系,如果要定量,还需要一些数据,这些数据就是每个节点对其直接前驱节点的条件概率,而没有前驱节点的节点则使用先验概率表示。而这些数据可以通过训练获得,如下,是通过训练获得的在已知账号为真或假地情况下,使用真实头像的概率分布





 纵向表头表示条件变量,横向表头表示随机变量。上表为真实账号和非真实账号的概率,而下表为头像真实性对于账号真实性的概率。这两张表分别为“账号是否真实”和“头像是否真实”的条件概率表。有了这些数据,不但能顺向推断,还能通过贝叶斯定理进行逆向推断。例如,现随机抽取一个账户,已知其头像为假,求其账号也为假的概率:

      

  • 29
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值