贝叶斯网络和朴素贝叶斯分类器有什么区别?
machine-learning
matlab
8
0

贝叶斯网络和朴素贝叶斯分类器有什么区别?我注意到一个是刚刚在Matlab实现classify其他有一个全网的工具箱。

如果您能在回答中说明哪一个更可能提供更好的准确性,我将不胜感激(不是前提条件)。

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

简短的答案,如果您仅对解决预测任务感兴趣:请使用Naive Bayes。

贝叶斯网络(具有良好的维基百科页面)以非常通用的方式对要素之间的关系进行建模。如果您知道这些关系是什么,或者有足够的数据来推导它们,那么使用贝叶斯网络可能是合适的。

朴素贝叶斯分类器是一个简单的模型,用于描述贝叶斯网络的特定类-其中所有功能都是类条件独立的。因此,某些朴素贝叶斯无法解决的问题(下面的示例)。但是,它的简单性也使其更易于应用,并且在许多情况下需要较少的数据即可获得良好的结果。

示例:异或

您有一个学习问题,其二进制特征为x1x2 ,目标变量y = x1 XOR x2

在朴素贝叶斯分类器中,必须将x1x2分别对待-因此您将计算类似“给定x1 = 1 y = 1的概率”-希望您会看到这没有帮助,因为x1 = 1不会不会使y = 1或多或少。由于贝叶斯网络不具有独立性,因此可以解决此问题。

收藏
评论

朴素贝叶斯只是一般贝叶斯网络的一种受限制/约束形式,您可以在其中执行以下约束:类节点不应该有任何父项,并且与属性变量相对应的节点之间应该没有边。因此,没有什么可以阻止将通用贝叶斯网络用于分类-当(以其他条件为条件)将所有其他变量以常规贝叶斯推理方式设置为预测实例值时,预测类是具有最大概率的类。关于这一点的好论文是“贝叶斯网络分类器,机器学习,29,131–163(1997)”。特别值得关注的是第3节。尽管朴素贝叶斯是更广泛的贝叶斯网络的一种约束形式,但本文还讨论了朴素贝叶斯为何能够并且确实在分类任务中优于一般贝叶斯网络。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题