我想知道关于朴素贝叶斯的贝叶斯网络。 实际上,在贝叶斯网络中,连接不同变量的箭头通常定义了变量之间的因果关系。
朴素贝叶斯是贝叶斯网络的特例,其中有一个要分类的变量和观测变量。这个特殊网络的箭头总是从变量中指向要分类的观察变量。
一个典型的例子是Diagnostic。要分类的变量是“疾病”,观察变量例如是“体温”,“头痛”。将有两个箭头,从“疾病”指向“头痛”和“体温”。因此,天真的贝叶斯认为“疾病是”头痛“和”体温“的原因。
然而,如果我在另一个案例中:我想预测我是否可以踢足球,知道天气和时间。 如果我想使用朴素贝叶斯网,我会画“从足球”到“天气”和“时间”的箭头。 但从物理角度来看,不可能说“足球”会导致“天气”和“时间”! 这是否意味着在这种情况下不可能使用朴素贝叶斯? 或者无论如何人们都在使用它,而不关心网络的物理意义?
非常感谢!
答案 0 :(得分:0)
我希望我的Java演示代码可以帮助您解决混乱。实际上,大多数独立随机事件都可以使用朴素贝叶斯来解决。贝叶斯网络,我理解它将处理更复杂的关系,如人类情感模拟等。
public class WeatherTimeSoccer {
/**
* Soccer Weather Time
* ------ ------- ----
* Play Sunny AM
* Play Sunny PM
* Play Rain PM
* NotPlay Sunny AM
* NotPlay Rain PM
* NotPlay Rain PM
*/
static float PSunnyPlay = 0.67f;
static float PSunnyNotPlay = 0.33f;
static float PPMPlay = 0.50f;
static float PPMNotPlay = 0.50f;
public static void main(String[] args) {
//Sample Sunny-PM
System.out.println(posteriorPlay() + "-" + posteriorNotPlay());
}
public static float posteriorPlay(){
return PSunnyPlay * PPMPlay;
}
public static float posteriorNotPlay(){
return PSunnyNotPlay * PPMNotPlay;
}
}
Omkar Lad:Naive Bayes假设所有特征在条件上彼此独立。因此,这允许我们将贝叶斯规则用于概率。通常这种独立性假设对大多数情况都很有效,即使实际上它们并不是真正独立的。
贝叶斯网络没有这样的假设。贝叶斯网络中的所有依赖都必须建模。形成的贝叶斯网络(图形)可以由机器本身学习,或者可以由开发人员在之前设计,如果他对相关性有足够的了解。
来自:https://www.quora.com/Whats-the-difference-between-a-naive-Bayes-classifier-and-a-Bayesian-network