Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Artificial intelligence 贝叶斯网络中的变量必须是布尔型的吗?_Artificial Intelligence_Bayesian - Fatal编程技术网

Artificial intelligence 贝叶斯网络中的变量必须是布尔型的吗?

Artificial intelligence 贝叶斯网络中的变量必须是布尔型的吗?,artificial-intelligence,bayesian,Artificial Intelligence,Bayesian,我不敢相信我找不到任何关于这方面的信息,但是贝叶斯网络中的变量必须是布尔型的吗?我在教科书或网上找到的每个例子都使用T/F变量,但如何表示在贝叶斯网络中有两个以上可能值的变量 例如,我遇到了以下问题: 我们有一袋三个有偏差的硬币a、b和c,概率分别为20%、60%, 和80%。从袋子中随机抽取一枚硬币(抽取的可能性相同 三枚硬币中的每一枚),然后将硬币翻转三次以生成结果X1、X2和X1 X3 绘制与此设置相对应的贝叶斯网络,并定义必要的CPT(条件 概率表) 有人能帮我指出一个开始的方向吗 贝叶

我不敢相信我找不到任何关于这方面的信息,但是贝叶斯网络中的变量必须是布尔型的吗?我在教科书或网上找到的每个例子都使用T/F变量,但如何表示在贝叶斯网络中有两个以上可能值的变量

例如,我遇到了以下问题:

我们有一袋三个有偏差的硬币a、b和c,概率分别为20%、60%, 和80%。从袋子中随机抽取一枚硬币(抽取的可能性相同 三枚硬币中的每一枚),然后将硬币翻转三次以生成结果X1、X2和X1 X3

绘制与此设置相对应的贝叶斯网络,并定义必要的CPT(条件 概率表)


有人能帮我指出一个开始的方向吗

贝叶斯网络支持具有两个以上可能值的变量。Koller和Friedman的“概率图形模型”中有较大变量的例子

通常BN具有离散随机变量(具有有限个不同值)。但也可以用可数无限变量或连续变量来定义它们。但在后一种情况下,推理算法发生了很大变化

现在我试着在网上找到一些例子,我不得不承认你是对的。他们很难找到。这里有一个例子,是从上面的书。变量
Grade
可以有三个不同的值


好问题。在具体的家庭作业问题上,已经有人给你指出了正确的方向,所以我不再重复了;我将尝试添加一些可能有用的直觉

这里需要的直觉是,贝叶斯网络只不过是一种表示一组条件独立假设的可视化(图形化)方法。 例如,如果X和Z是给定Y的条件独立变量,那么你可以画出贝叶斯网络X→ Y→ 相反地,唯一一件事就是贝叶斯网X→ Y→ Z告诉你有三个变量(X,Y,Z),给定Y,X和Z是条件独立的

一旦你理解了这一点,你就会意识到任何你可以为之写一个条件独立性假设的东西,你都可以为之画一个贝叶斯网,反之亦然。

i、 例如,它们根本不需要是布尔值。

通常,贝叶斯网络使用每个节点的离散值进行建模,当这些值已知时(或建模者设置的值),人们说概率分布会对这些值进行因式分解

我认为也存在连续值贝叶斯网络的理论框架,但它们在数学上比离散的更难(可能只适合博士?)

此外,我不能马上解决你的问题,但也许 在R中尝试以下操作:

library(dplyr)                # loads mutate(), %>% (pipe operator)

Model <- c("Coin a", "Coin b", "Coin c")
Prior <- c(0.2, 0.6, 0.8)
Likelihood <- c(1/3, 1/3, 1/3)

bayes_df <- data.frame(Model=Model, Prior=Prior, Likelihood=Likelihood) 

# posterior probabilities
bayes_df %>%
        mutate(Product = Likelihood * Prior, Posterior = Product/sum(Product)) 

我认为“网络”只是两个用箭头硬币->拾取连接的气泡,CPT是上面的数字,但我不确定。

这是一个很好的例子。
   Model Prior Likelihood Product Posterior
1 Coin a   0.2     0.3333 0.06667     0.125
2 Coin b   0.6     0.3333 0.20000     0.375
3 Coin c   0.8     0.3333 0.26667     0.500