當前位置 > CPDA數據分析師 > “數”業專攻 > 數據分析培訓系列(數據挖掘)--分類算法之貝葉斯(五)

:數據分析培訓系列(數據挖掘)--分類算法之貝葉斯(五)

7天彩票会员登录 www.dibyt.icu 來源:數據分析師 CPDA | 時間:2015-07-28 | 作者:admin

2 建立模型

贝叶斯网络的建模包括两个步骤:(1)创建网络结构;(2)估计每一个结点的概率值。网络拓扑结构可以通过对主观的领域专家知识编码获得。下面算法给出了归纳贝叶斯网络拓扑结构的一个系统过程。

 

算法:贝叶斯网络拓扑结构的生成算法

1:设T=(X1,X2,…,Xd)表示变量的全序

2:for j=1 to do

3:   令XT(j)表示T中第j个次序最高的变量

4:   令π(XT(j))={ XT(1), XT(2) ,…, XT(j-1) }表示排在XT(j)前面的变量的集合

5:   从π(XT(j))中去掉对Xj没有影响的变量(使用先验知识)

6:   在XT(j)和π(XT(j))中剩余的变量之间画弧

7:end for

 

上述算法保证生成的拓扑结构不包含环,这一点很容易证明。如果存在环,那么至少有一条弧从低序结点指向高序结点,并且至少存在另一条弧从高序结点指向低序结点。由于这个算法不允许从低序结点到高序结点的存在,因此拓扑结构中不存在环。

然而,如果我们对变量采用不同的排序方案,得到的网络拓扑结构可能会有变化。某些结构可能质量很差,因为它不同的结点对之间产生了很多条弧。从理论上讲,可能需要检查所有d!种可能的排序才能确定最佳的拓扑结构,这是一项计算量很大的任务。替代的方法,是把变量分为原因变量和结果变量,然后从各原因变量向其结果变量画弧。这种方法简化了贝叶斯网络结构的建立。

一旦找到了合适的拓普结果,与各结点关联的概率表就确定了。对这些概率的估计比较容易,与朴素贝叶斯分类器中所用的方法类似。

 

3 使用BBN进行推理举例

假设我们对使用下图的BBN来诊断一个人是否患有心脏病感兴趣,下面阐述在不同的情况下如何做出诊断。

情况一:没有先验信息 在没有任何先验信息的情况下,可以通过计算先验概率P(HD=yes)和P(HD=no)来确定一个人是否可能患心脏病。为了表达方便,设α∈{yes,no}表示锻炼的两个值,β∈{yes,no}表示饮食的两个值。

1

因为P(HD=no)=1-P(HD=yes)=0.51,所以,此人不得心脏病的机率略微大一点。

情况二:高血压 如果一个人有高血压,可以通过比较后验概率P(HD=yes|BP=高)和P(HD=no|BP=高)来诊断他是否患有心脏病。为此,我们必须先计算P(BP=高):

2

其中γ∈{yes,no}。因此,此人患心脏病的后验概率是:

3

同理,P(HD=no|BP=高)=1-0.8033=0.1967。因此,当一个人有高血压时,他患心脏病的危险就增加了。

情况三 高血压、饮食健康、经常锻炼身体 假设得知此人经常锻炼身体并且饮食健康。这些新信息会对诊断造成怎样的影响呢?加上这些信息,此人患心脏病的后验概率:

4

而此人不患心脏病的概率是:

P(HD=no|BP=高,D=健康,E=yes)=1-0.5862=0.4138

因此模型暗示健康的饮食和有规律的体育锻炼可以降低患心脏病的危险。

 

4 BBN的特点

下面是BBN模型的一般特点。

  • BBN提供了一种用图形模型来捕获特定领域的先验知识的方法。网络还可以用来对变量间的因果依赖关系进行编码。
  • 构造网络可以既费时又费力。然后,一旦网络结构确定下来,添加新变量就十分容易。
  • 构造网络很适合处理不完整的数据。对有属性遗漏的实例可以通过对该属性的所有可能取值的概率求和或求积分来加以处理。
  • 因为数据和先验知识以概率的方式结合起来了,所以该方法对模型的过分拟合问题是非常鲁棒的。

 

20选5走势图开奖结果l 网上竞彩投注兼职 安徽福彩开奖结果今天 内蒙古快三遗漏 推简子二八杠 近50期排3开奖走势 江西十一选五多乐彩 贵州十一选五爱乐彩走势图 免牙棋牌二八杠 金7乐今日开奖走势 福建体彩票7星彩 今晚足球比赛 老奇人资料大全免费老奇m 凤凰平台时时彩奖金 广东11选五手机助手 网赌梭哈15万