遗传编程中的概率归纳与上下文感知交叉算子
1. 概率归纳的语法与评估
1.1 所用语法
在概率归纳的研究中,使用了特定的语法规则,如下表所示:
| 规则 | 内容 |
| — | — |
| S | → f(x) = E |
| E | → f(x − N) | (E O E) | F(E) | R | x |
| O | → + | - | * | / |
| F | → sqr | cube | sqrt | cubert | log | exp | sin | cos |
| N | → t ∈ S ⊆ IN |
| R | → c ∈ IR ⊆ IR |
评估的表达式是由该语法所定义语言的字符串,实现的评估器可以解释属于此语法描述语言的任何表达式。
1.2 评估过程
对于无序集上的归纳问题,评估器基于问题 - 答案对 (Qi, Ai) 的经验数据进行工作。数据被随机分为训练集 (T)、验证集 (V) 和预测集 (P)。程序在 T 上进行评估,将输出值与数据的答案 Ai 进行比较以计算适应度。在推理过程结束时,根据在 V 上获得的值选择最佳程序,并在 P 上验证最佳诱导解决方案的“优劣”。
对于有序集上的归纳问题,集合 [Qi, Ai] 的有序性意味着 Qi 集合是一个区间。此时,T 和 V 混合,P 与它们连续,并且需要引入种子集 (S),该集合由数据的前几个值组成,作为种子提供给要执行的程序。S 的长度可以动态计算,使其与程序所需的最大前置值数量一致。
1.3 适应度函数
为了解决
超级会员免费看
订阅专栏 解锁全文
412

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



