机器学习中的逻辑、规则与因果学习
1. 概率逻辑编程
在机器学习的众多应用场景中,处理不确定知识的推理能力至关重要,因此找到合适的逻辑归纳方法尤为关键。概率逻辑应运而生,它将具备处理不确定性能力的概率论与拥有形式推理能力的一阶逻辑相结合,形成了更丰富、更具表现力的逻辑形式。美国斯坦福大学的 Nils J. Nilsson 于 1986 年在论文中首次使用了“概率逻辑”这一术语。
概率逻辑对一阶逻辑的真值表进行了扩展,其结果可通过概率表达式得出。它推广了一阶逻辑的语义,语句的真值成为了 0 到 1 之间的概率值。当所有语句的概率为 0 或 1 时,其语义可简化为传统的逻辑蕴含。这种推广适用于任何逻辑系统,能确保有限语句集的一致性。
概率逻辑编程(PLP)是将逻辑编程范式与概率相结合的方法,适用于元素间关系复杂且不确定的领域建模。它的发展也推动了概率逻辑学习的研究。概率逻辑学习是概率、逻辑和学习三者的结合,其中“概率”指基于概率论的概率推理机制,如贝叶斯网络、隐马尔可夫模型和随机语法;“逻辑”指一阶逻辑及其关系表示;“学习”则指机器学习,其目的是将这三个组件有机结合。
概率逻辑编程基于逻辑编程发展而来,可表示为:PLP = Logic + Computational Control + Probability。
以 ProbLog 为例,它是在现有逻辑编程语言 Prolog 的基础上扩展概率函数形成的概率 Prolog 语言。一个 ProbLog 程序由一个 Prolog 程序和一组概率值组成。Prolog 程序由一组语句构成,可表示为规则或事实。Prolog 中的事实集表示为 (f_1, f_2, \cdots, f_n),概率值集表示为 (
超级会员免费看
订阅专栏 解锁全文
2909

被折叠的 条评论
为什么被折叠?



