规则归纳算法的自动化设计
1. 系统运行终止条件
在规则归纳算法自动化设计的过程中,由于非终结符和终结符的组合数量众多,为GGP系统的两个主循环添加了运行终止条件:
- whileLoop非终结符 :当循环迭代次数达到训练集中实例数量加1时,规则生成过程将停止。因为拥有比示例更多规则的基于规则的分类模型是没有价值的。
- innerWhile循环 :允许的最大迭代次数等于数据集中属性数量的2倍。这是因为一个数值属性可能在规则中多次出现,所以将这个上限设置为属性数量的2倍。
在解析过程结束后,会得到一个完整的Java类IndClassifier。该类会与其他基本Java类(如Rule、Antecedent、RuleList和RuleSet)以及一些WEKA包关联,从而可以在一组分类问题中运行生成的规则归纳算法。不过,在系统开发过程中发现,WEKA中分类器的实现模块化程度不够,无法使规则归纳算法代码的自动生成变得简单。因此,系统仅使用WEKA的核心包(处理任何分类器的基本操作,如读取示例和生成数据统计信息)以及分类器包中的一些类。
2. 单目标适应度
将GGP系统的树转换为规则归纳算法的Java代码后,会在一组分类问题中运行这些算法。对于每个分类问题(即元训练集中的每个数据集),从训练集中获取规则模型,从验证集中获取准确率,然后需要将这些信息总结为一个直观的适应度值。
最初,使用GGP - RI(由GGP系统演化的规则归纳算法)在所有分类问题上的准确率平均值作为适应度值。但分析发现,这种方法并不理想。因为GGP系统是在具有非常不同基线准确率的不同
超级会员免费看
订阅专栏 解锁全文
1042

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



