数据挖掘算法自动设计的未来研究方向
1. 基于语法的遗传编程系统概述
一种新的基于语法的遗传编程(GGP)系统可自动设计规则归纳算法。该系统运用的语法包含人类专家设计规则归纳算法的背景知识以及一些此前人类设计的规则归纳算法未使用过的有趣组件。通过大量计算实验,发现GGP系统能通过两种不同方法有效进化规则归纳算法:
-
进化鲁棒规则归纳算法
:这类算法在与GGP系统运行时所用应用领域(数据集)不同的多种应用领域中表现出色。
-
进化针对特定应用领域定制的规则归纳算法
:GGP系统运行时使用的数据子集与进化出的规则归纳算法将应用的领域相同。
在这两种方法中,进化出的规则归纳算法都应用于训练时未见的测试数据。实验结果显示,GGP系统进化出的规则归纳算法(GGP - RIs)在测试数据上的预测准确率与知名的、经过数十年研究改进的手动设计规则归纳算法相当,且总体上,GGP - RIs的预测准确率显著高于基于语法的爬山法(GHC)生成的规则归纳算法。由此可得出,GGP系统比GHC系统更有效。
对进化出的GGP - RIs进行分析可知,它们不仅能与人类设计的算法竞争,许多还呈现出一些改进规则和/或集成预剪枝与后剪枝技术的创新方式。实验还表明,在进化鲁棒规则归纳算法时,GGP系统采用更保守的方法,构建更简单的算法;而在生成针对特定应用领域定制的GGP - RIs时,GGP系统会进化出更具创新性的算法,即包含一些与人类设计的规则归纳算法不同的程序。
2. 当前GGP系统的潜在改进
当前GGP系统虽有成效,但仍有改进空间,主要可从语法和适应度这两个最重要的组件入手。
2.1 改进语法
语法决定了GGP系统的搜索空间,即该系统能设计的规则归纳算法集合。若在当前语法中插入一些扩展,可能会使GGP系统进化出更具创新性的规则归纳算法,具体有以下五种扩展:
| 扩展类型 | 具体描述 |
| ---- | ---- |
| 纳入规则评估启发式生成规则 | 在非终结符EvaluateRule语法产生式规则中,纳入类似Wong提出的规则,以自动构建新的规则评估启发式,而非局限于从预定义的规则评估启发式(如置信度、拉普拉斯估计、信息内容和信息增益)中选择。 |
| 包含其他规则表示类型 | 在语法中包含一阶逻辑等其他类型的规则表示。当前语法仅包含命题规则表示,一阶逻辑虽表达能力更强,但会使GGP系统的搜索空间显著增大,因此需研究这两种规则表示在GGP系统中的利弊。 |
| 插入复杂或创新组件 | 在语法中插入更复杂和/或创新的规则归纳算法组件,如Ripper使用的最小描述长度启发式或规则有趣性度量。 |
| 使语法具有适应性 | 基于每一代最佳个体的性能,让语法具有适应性,类似于Whigham的工作。 |
| 采用语法进化方法 | 使用如GE2(语法进化平方)的方法,通过语法进化算法进化用于表示目标问题背景知识和语法限制的语法,实现遗传代码本身的进化,使搜索空间与解决方案共同进化。 |
2.2 修改GGP系统的适应度函数
适应度函数对GGP系统的搜索机制影响较大,它用于评估候选规则归纳算法的质量。在系统开发过程中,比较了三种适应度函数的结果:准确率、灵敏度×特异性以及基于准确率变体并考虑多数类频率的当前适应度函数。
近年来,评估分类算法有效性的另一种方法——ROC曲线下面积(AUC)被广泛传播,比较GGP系统使用当前适应度函数和AUC的结果会很有意义。此外,当前适应度函数可进一步扩展以考虑候选规则归纳算法的效率(处理时间),就像某些GP系统为组合优化算法自动设计启发式时所做的那样。
多目标优化问题也值得进一步研究。此前报告了基于帕累托支配的多目标适应度函数结果,未来可尝试使用字典序方法而非基于帕累托支配的方法来实现多目标适应度函数。字典序方法将目标按用户优先级降序排列并依次优化,适用于用户明确认为一个目标比另一个更重要的问题,而这种重要信息会被基于帕累托支配的方法忽略。在数据挖掘和进化算法领域,字典序方法的研究相对较少,因此有必要进行更多相关研究。
3. 设计针对特定类型数据集的规则归纳算法
除了前面提到的两种进化规则归纳算法的方法,还可考虑第三种方法:使用GGP系统生成针对具有相似特征的数据集组定制的规则归纳算法。这种方法中,数据集会根据一些共同属性分组,GGP系统的元训练集仅允许属于给定组的数据集。此方法介于用不相关应用领域的多个数据集训练GGP系统(进化鲁棒规则归纳算法)和用单一应用领域的数据训练(进化针对该领域定制的算法)这两种极端情况之间。
例如,在生物信息学领域,许多数据集虽来自不同应用领域,但从数据挖掘角度看,它们有一些重要的共同特征,如包含大量二进制属性、数据非常稀疏且类别极不平衡。不过,实际操作中,要实现针对具有相似特征的数据集组生成规则归纳算法是个难题,主要困难在于如何衡量来自不同应用领域的不同数据集之间的相似程度。尽管数据集特征化研究已取得显著进展,但它仍是元学习文献中的一个开放问题,不过这也是一个有趣的研究方向。
graph LR
A[GGP系统] -->|两种方法| B[进化鲁棒规则归纳算法]
A -->|两种方法| C[进化针对特定应用领域定制的规则归纳算法]
A -->|第三种方法| D[进化针对特定类型数据集定制的规则归纳算法]
B --> E[多种应用领域表现出色]
C --> F[特定应用领域匹配]
D --> G[数据集按特征分组]
数据挖掘算法自动设计的未来研究方向
4. 探索其他类型的搜索方法用于自动算法设计
目前使用的GGP系统是首个设计完整规则归纳算法的系统,为评估其性能,将其与简单的贪婪爬山搜索方法进行了比较,但这并不意味着GGP系统是自动设计数据挖掘算法的最佳方法。以下三种进化方法值得研究:
-
语法进化方法
:在选择基于语法的遗传编程类型时,未发现使用解编码个体的GGP和使用产生式规则序列编码个体的GGP有明显优劣之分,因此选择了更简单的解编码个体表示。不过,将此处开发的语法与采用产生式规则序列编码个体表示的语法进化系统相结合,并比较两者的行为和结果会很有意义。
-
基于概率理论的进化方法
:即估计分布算法(EDAs)。EDAs是一种进化算法,没有交叉和变异操作,而是通过构建候选解决方案组件之间关系的概率模型来工作。个体根据适应度函数评估并进行选择,然后用于更新概率模型,之后当前种群被丢弃,从概率模型中采样新种群。使用EDAs无需担心交叉和变异方法及其应用频率,但需要指定与概率模型相关的参数,如组件概率是独立计算(单变量方式)还是联合计算(多变量方式)。EDAs和相关的概率模型构建算法在程序归纳方面是相对较少探索的进化算法类型,评估其在数据挖掘算法自动设计中的有效性很有价值。
-
混合EDAs - GP系统
:如使用随机上下文无关语法(CFG)表示进化的概率模型。在随机CFG中,每个产生式规则都与一个概率相关,创建新个体种群时会考虑该概率。在GP算法进化过程中,学习产生式规则的结构和/或概率,产生式规则可拆分或合并以反映最适合的个体。
此外,开发一个归纳逻辑编程(ILP)系统来自动设计完整的数据挖掘算法也很有趣,因为ILP是数据挖掘和自动程序合成交叉领域的一个重要研究方向。
| 搜索方法类型 | 特点 |
|---|---|
| 语法进化方法 | 结合不同个体表示的语法进化系统进行比较 |
| 基于概率理论的进化方法(EDAs) | 无交叉和变异操作,构建概率模型,需指定概率模型参数 |
| 混合EDAs - GP系统 | 使用随机上下文无关语法表示概率模型,学习规则结构和概率 |
5. 自动设计其他类型的分类算法
此前的工作表明可以自动设计有效的规则归纳算法,选择聚焦于此类分类算法主要有两个原因:一是它能生成人类可理解的分类模型,有助于用户深入了解数据或应用领域;二是规则归纳算法在过去30年的研究中有自然的“进化”过程,可利用这一过程通过基于语法的遗传编程系统进行人工且更快速的进化。
然而,其他类型的分类算法也可自动设计,例如决策树归纳和贝叶斯网络,它们也能生成人类可理解的知识。
6. 总结与展望
综上所述,数据挖掘算法的自动设计在规则归纳算法方面已取得一定成果,GGP系统展现出了有效性和创新性。但仍有诸多方面值得进一步探索和改进,包括对GGP系统本身的语法和适应度函数进行优化,尝试为特定类型数据集设计规则归纳算法,研究不同的搜索方法以及自动设计其他类型的分类算法等。未来的研究有望在这些方向上取得更多突破,推动数据挖掘算法自动设计领域的发展,为解决更复杂的数据挖掘问题提供更强大的工具。
graph LR
A[探索其他搜索方法] --> B[语法进化方法]
A --> C[基于概率理论的进化方法(EDAs)]
A --> D[混合EDAs - GP系统]
B --> E[结合不同表示比较结果]
C --> F[构建概率模型]
D --> G[使用随机CFG表示模型]
H[自动设计其他分类算法] --> I[决策树归纳]
H --> J[贝叶斯网络]
超级会员免费看
1万+

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



