《机器学习》慕课版课后习题-第7章

中国工信出版集团、人民邮电出版社出版的赵卫东、董亮编著的《机器学习》慕课版

第7章 贝叶斯网络

1.贝叶斯定理的适用条件是什么?

解:贝叶斯定理的适用条件是条件变量之间的独立性。

2.举例说明贝叶斯定理的应用。

解:传统的垃圾邮件过滤方法是关键词过滤,但这种方法过于绝对,很容易出现误判的情况。贝叶斯过滤会同时考虑关键词在正常邮件和垃圾邮件中出现的概率,并且学习用户的偏好,可以减少误判的可能性。

3.在贝叶斯定理的应用过程中,先验概率如何计算?

解:先验概率p(θ)的选取是贝叶斯估计关键的一步。在对历史数据进行统计分析时,为计算方便,常选择现有数据似然分布的共轭分布族(Conjugate Family)中的分布。例如在变量只有两个状态时,我们知道L(θ|D)为二项似然函数,此时可假设先验分布p(θ)满足贝塔分布,因为贝塔分布与二项似然函数同为一个共轭分布族,此时得到的后验分布以满足贝塔分布。这样贝叶斯估计的计算会简单容易很多。在变量状态情况大于两种时,一般选择乘积Dirichlet分布作为先验分布。共轭分布族的引入让贝叶斯估计变得更加容易理解,我们可以将先验概率视为一组虚拟样本数据,虚拟样本数据与现有数据可以组合在一起,即对组合后的数据计算p(θ|D)。

4.在决策树、神经网络分类方法比较,贝叶斯定理用于分类有什么不同?

解:贝叶斯定理用于分类一般是朴素贝叶斯分类,朴素贝叶斯分类发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。

但是理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这个NBC模型的正确分类带来一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。NBC模型还需要实现知道先验概率,并且其分类决策存在一定的错误率。

5.贝叶斯网络解决了贝叶斯定理的什么问题?

解:贝叶斯网络解决了变量间需保持条件独立的假设,贝叶斯网络包括了有向无环图和条件概率表,可以系统地描述变量间的关系,而不是要求变量间一定保持条件独立。

6.如何构建贝叶斯网络?

解:贝叶斯网络的构建一般有三种方式,第一种是根据问题和领域专家知识手工构建,第二种是通过对数据进行分析得到贝叶斯网络,第三种是结合了领域专家知识和数据分析得到贝叶斯网络。通过对数据的分析获得贝叶斯网络的过程又称为贝叶斯网络学习,我们将在下一节详细介绍贝叶斯网络学习。这里讨论手工构建贝叶斯网络值得注意的地方。

贝叶斯网络由有向无环图结构和对应的条件概率表构成,所以手工构建的过程也包括了确定网络结构和确定网络参数两个环节。确定网络结构通常的流程是确定能描述问题的一组随机变量(x1, x2, x3, ……,xn),对这组随机变量以某种顺序依次添加到结构G中,每一次在添加xi时,需要确定xi在图中依赖的节点集φ(xi),对φ(xi)中的节点,添加一条指向xi的有向边。不同的变量添加顺序可能会形成不同的网络结构,一般根据变量间的因果关系确定变量的添加顺序,因果关系能使网络结构更简单易懂,相对的条件独立性的检测和变量概率分布的计算也会更加容易。网络参数在手工构建时一般通过数据统计分析和专家知识获得。常通过假设条件分布具有某种规律以减少网络参数的个数。

7.结合实例,讨论贝叶斯网络的推理过程。

解:推理主要运用的方法有精确推理和近似推理两种。不同情况不同因素影响推理,贝叶斯网络拓扑结构和推理任务是两大主要复杂度来源。网络的大小、变量的类型和分布情况、推理任务的类型和相关证据的特征都会影响推理过程和结果,实际应用中也应灵活选择推理方法。

精确推理最简单的方法即计算全局的联合概率,但直接对联合概率进行计算的效率很低,常常采用变量消元法分别进行联合概率的求解达到简化计算的目的。变量消元法利用链式乘积法则和条件独立性对联合概率计算表达式进行变换,改变基本运算的次序和消元的次序,最终达到减少计算量的目的。

在贝叶斯网络节点很多或依赖关系很复杂时,精确推理的复杂度很高,通常需要降低推理的复杂度,为问题的因果关系在网络中可独立于某一块存在时,可以将这一部分结构提取出来用精确推理的方法推理。在不能利用局部独立时,就需要降低计算的精度,即采用近似推理的方法。

8.缺值环境下的贝叶斯估计要克服什么问题?

在贝叶斯网络进行参数学习时,我们已经知道了网络结构G和G中所有节点或部分节点的状态值,这些状态值就是需要进行学习的数据集。数据有完整数据和缺值数据之分,节点的所有状态已知时为完整数据,某些状态未知时为缺值数据。在缺值时,不能直接套用完整数据下的最大似然估计的方法,需要对数据进行近似处理,常用EM算法处理。缺值状态下的贝叶斯估计也缺少必要的先验信息,因此会使用碎权更新法来确定这部分缺失数据。

9.应用贝叶斯网络适合解决什么问题?

解:贝叶斯网络经过长期的发展,现已被应用到人工智能的众多领域,包括模式识别、数据挖掘、自然语言处理等,针对很多领域核心的分类问题,大量卓有成效的算法都是基于贝叶斯理论设计。

贝叶斯网络在医疗领域被应用于疾病诊断;在工业领域中,用于对工业设备故障检测和性能分析;在军事上被应用于身份识别等各种推理;在生物农业领域,贝叶斯网络在基因连锁分析、农作物推断、兽医诊断、环境分析等都有应用,在金融领域可用于构建风控模型;在企业管理中可用于决策支持;在自然语言处理方面,可用于文本分类、中文分词、机器翻译等。

10.贝叶斯网络如何应用于中文分词?

中文分词问题可以描述为给定一句话,将其切分为合乎语法和语义的词语序列。一个经典的中文分词案例是对“南京市长江大桥”的分词。正确的分词结果为“南京市/长江大桥”,错误的分词结果是“南京市长/江大桥”。下面我们使用贝叶斯算法来解决这一问题。

设完整的一句话为X,Y为组成该句话的词语集合,共有n个词语。于是分词问题可以转化为求下列式子最大值的问题:p(Y|X)=p(Y)*p(Y|X)/p(X)。所以只需要找到p(X)p(X|Y)的最大值。由于任意的分词情况下由词语序列生成句子的精确的,所以我们可以忽略p(Y|X),只需找到P(Y)的最大值即可。按照联合概率公式对p(Y)进行展开,有p(Y)=p(Y1, Y2, Y3, ……,Yn)=p(Y1) * p(Y2|Y1) * p(Y3|Y1,Y2) * ……。这样的展开子式是指数级增长的,并且数据稀疏的问题也会越来越明显。所以我们假设每个词语只会依赖于词语序列中该词前面出现的k个词语,即k元语言模型(k-gram)。这里我们假设k=2,于是就有p(Y)=p(Y1) * p(Y2|Y1) * p(Y3|Y2) * ……。回到上面到问题,正常的语料库中,“南京市长”与“江大桥”同时出现的概率一般为0,所以这一分词方式会被舍弃,“南京市/长江大桥”的分词方式会是最终的分词结果。

11.使用贝叶斯网络实现一个简单拼写检查。

解:算法步骤:

a.建立一个足够大的文本库。

b.对文本库的每一个单词统计其出现频率。

c.根据用户输入的单词,得到其所有可能的拼写相近的形式。

d.比较所有拼写相近的词在文本库的出现频率。频率最高的那个词,就是正确的拼
法。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值