Church编程语言的应用

有没有人使用过编程语言 Church? 有没有人可以推荐一些实际应用? 我刚发现它,虽然听起来它解决了人工智能和机器学习中一些长期存在的问题,但我对此持怀疑态度。 我以前从未听说过它,并且惊讶地发现它实际上已经存在了几年,并在论文 Church: 一种用于生成模型的语言 中发布。


回答:

我不确定该如何讨论实际应用的问题。用生成模型来模拟认知能力,在你看来是否构成一种“实际应用”?

Church(至少目前)的关键重要性在于,它为我们这些从事人工智能问题的概率推理解决方案的人提供了一种更简单的建模方式。 它本质上是Lisp的一个子集。

我不同意Chris S的观点,认为它是一种玩具语言。 虽然一些推理问题可以在其他语言中复制(我已经用Matlab构建了几个),但它们通常不是非常可重用的,而且你必须非常喜欢在4层和5层for循环中工作(我讨厌它)。

Church并没有以这种方式解决问题,而是利用了lamda calculus的递归优势,并且还允许一种称为memoization的技术,这对于生成模型非常有用,因为你的生成模型通常在每次试验后都不相同——尽管为了测试,你确实需要它。

我想说的是,如果你的工作与贝叶斯网络、分层贝叶斯模型、POMDP的概率解决方案或动态贝叶斯网络有任何关系,那么我认为Church是一个很大的帮助。 顺便说一句,我曾与Noah和Josh(Church的两位作者)合作过,恕我直言,目前没有人能更好地掌握概率推理。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注