基于随机逻辑程序的多类预测
1. 随机逻辑程序基础
随机逻辑程序(SLP)是一种强大的工具,用于处理多类预测问题。概率根据随机 SLD 消解过程分配给基原子,该过程采用基于概率标签值的随机选择规则。例如,有如下的 SLP 示例:
0.4: s(X) :- p(X), p(X).
0.6: s(X) :- q(X).
0.3: p(a).
0.7: p(b).
0.2: q(a).
0.8: q(b).
一个 SLP 与参数以及一个目标可以在目标的随机 SLD 树中定义最多三种相关分布,分别是定义在推导、反驳和原子上的分布。需要注意的是,SLP 并不定义可能世界上的分布,而是定义原子上的分布。
学习 SLP 主要有两个任务:
- 参数估计 :在底层逻辑程序固定的情况下,从观测中学习参数。Failure-Adjusted Maximization(FAM)是一种用于纯规范化 SLP 的参数估计算法。
- 结构学习 :尝试从数据中同时学习逻辑程序和参数,但这仍然是一个开放的难题,需要解决归纳逻辑编程(ILP)学习中的几乎所有现有困难。
2. 基于 SLP 的多类预测算法
基于 SLP 的多类预测方法的算法步骤如下:
1. 初始化矩阵 MILP 和 MSLP 为零矩阵。
2. 对数据集应用 n 折交叉验证或留一法测试,将其划分为 n 个(训练,测试)子集,对每个子集重复以下操作:
- 运用 FAM 算法从训练数据中学
超级会员免费看
订阅专栏 解锁全文
1万+

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



