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

标签 matlab machine-learning bayesian naivebayes bayesian-networks

贝叶斯网络和朴素贝叶斯分类器有什么区别?我注意到一个刚刚在 Matlab 中作为 classify 实现,另一个有一个完整的网络工具箱。

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

最佳答案

简短的回答,如果您只对解决预测任务感兴趣:使用朴素贝叶斯。

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

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

例子:异或

你有一个关于二元特征 x1x2 以及目标变量 y = x1 XOR x2 的学习问题。

在朴素贝叶斯分类器中,x1x2 必须独立处理 - 因此您可以计算类似“y = 1 的概率> 考虑到 x1 = 1"- 希望你能看到这没有帮助,因为 x1 = 1 不会使 y = 1 任何或多或少的可能性。由于贝叶斯网络不假设独立性,因此它能够解决这样的问题。

关于matlab - 贝叶斯网络和朴素贝叶斯分类器有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12298150/

相关文章:

python - 反向传播的扩展

c - MATLAB 墨西哥 : retrieving a logical from a struct in MATLAB

arrays - 在元胞数组中存储句柄对象时性能下降

machine-learning - Vowpal Wabbit - 精确召回 f 测量

algorithm - 分析、分类和索引元数据

machine-learning - 贝叶斯网络分类

Matlab - 相当于 R 的带有 times 参数的rep()

python - Keras 成本函数尝试将预测张量舍入到最接近的整数时出错

machine-learning - 为什么神经网络有多层且每层有多个节点?

r - 图 2.5 统计学习的要素