我有一些数据,我想学习这些数据的贝叶斯网络,然后使用这个贝叶斯网络进行推理。为此,我在MATLAB中使用了Bayes Net Toolbox中的learn_struct_gs2。通过使用learn_struct_gs2学习贝叶斯网络。然而,我想知道:
当我们想要从数据中学习贝叶斯网络时,我们的特征值是否应该遵循特定的分布(例如,正态分布等)?如果我们的特征值不服从分布,我们就不能使用贝叶斯学习吗?
例如,假设某个要素的值为: 0、10、11、18、100、1250、...
我们可以使用贝叶斯学习来解决这个问题吗?
我是贝叶斯学习和人工智能的新手,我花了很多时间来寻找这个问题的答案,但我不能。
我的第二个问题是:存在许多学习方法,例如贝叶斯学习、神经网络等。我如何才能找出这些方法中哪一种适合我的问题?
发布于 2019-12-24 01:04:27
模拟,模拟,模拟。
生成人工数据集是开发人员经常使用的方法,它是从业者验证和编码他们对数据的假设的一种很好的方法。如今,计算时间如此之少,以至于人们经常可以更容易地经验性地测试算法的适当性,而不是解析密集的文献和理论。
这并不是说一个人应该完全放弃学习基础知识,就像在高级本科生和研究生级别的培训中学到的一样(或者像毕晓普的“模式识别和机器学习”这样的免费文本)。然而,知道如何与经验测试争辩的用户可以非常令人信服,并可以用它们来撑开学者们倾向于竖起的大门。
在您的例子中,可以尝试制作一些简单的模拟网络,使用一系列分布来生成数据。空的情况可能是高斯分布;也许您的极端情况可能是对数正态分布。然后测试算法是否在这些不同的分布下推断出正确的网络。关键是:把它当作游乐场,去玩吧。或者,如果你更喜欢枯燥乏味的比喻:把它当作实验室来做实验。
https://stackoverflow.com/questions/59444552
复制相似问题