规则归纳算法的进化与应用:从通用到特定领域
在数据分析和机器学习领域,规则归纳算法是一种强大的工具,能够从数据中提取有价值的规则。本文将介绍一种名为GGP的系统,它可以进化出适用于特定应用领域的规则归纳算法,并通过实验验证其有效性。
1. GGP系统的规则集算法示例
GGP系统可以为特定数据集创建规则集算法。以下是为电离层数据集创建的规则集算法示例:
RuleSet = /0
for each class C in the training set do
repeat
bestRule = an empty rule
candidateRules = /0
candidateRules = candidateRules ∪ bestRule
while candidateRules ̸= /0 do
for each candidateRule CR do
newCandidateRules = /0
if number of conditions in CR < 5 then
Add 2 conditions at a time to CR
else
Add 1 condition at a time to CR
Evaluate CR using accuracy
if accuracy(CR) > 80% then
if CR better than bestRule then
bestRule = CR
newCandidateRules = newCandidateRules ∪ CR
candidateRules = 3 best rules selected from newCandidateRules
RuleSet = RuleSet ∪ bestRule
Remove from training set all class C examples covered by bestRule
until at least 97% of the examples of class C in the training set are covered
Class clashes when classifying new examples are solved using the LS content criterion
该算法通过迭代的方式,不断生成候选规则,并选择最优规则加入规则集,直到覆盖大部分训练集中的样本。
2. GGP-RIs与GHC-RIs的预测准确率比较
将GGP系统生成的规则归纳算法(GGP-RIs)与语法爬山系统生成的规则归纳算法(GHC-RIs)进行比较,结果如下表所示:
| 数据集 | GGP-RIs | GHC-RIs |
| — | — | — |
| balance-scale | 79.77±1.11 | 75.65±1.18 |
| crx | 82.22±1.51 | 80.5±0.87 |
| glass | 65.36±1.89 | 54.42±1.27 |
| heart-c | 78.67±1.37 | 78.72±0.88 |
| hepatitis | 80.02±1.07 | 78.66±0.8 |
| ionosphere | 85.65±2.85 | 83.43±1.32 |
| lymph | 75.85±2.04 | 73.47±1.71 |
| monks-1 | 100±0 | 95.62±1.75 |
| monks-2 | 89.67±1.22 | 69.53±1.2 |
| monks-3 | 98.38±0.6 | 84.12±2.07 |
| mushroom | 100±0 | 97.31±1.43 |
| pima | 73.57±0.53 | 71.74±0.93 |
| promoters | 76.07±3.36 | 67.48±2.31 |
| segment | 95.55±0.25 | 87.96±0.71 |
| splice | 89.53±0.65 | 77.63±1.32 |
| sonar | 70.9±2.27 | 63.19±2.61 |
| vehicle | 68.34±0.95 | 56.65±4.25 |
| vowel | 73.66±1.11 | 42.88±3.35 |
| wisconsin | 94.27±1.1 | 92.32±0.78 |
| zoo | 91.85±1.87 | 89.6±0.83 |
从表中可以看出,GGP-RIs在大多数数据集上的预测准确率都高于GHC-RIs,说明GGP系统生成的算法具有更好的性能。
3. 生物信息学数据集的实验
在生物信息学领域,预测蛋白质的功能是一个重要的问题。本文将GGP系统应用于五个生物信息学数据集,以进化出适用于这些数据集的规则归纳算法。
3.1 数据集介绍
这些数据集的每个样本代表一个蛋白质,蛋白质由基因产生,是细胞的主要组成部分,执行与细胞活动相关的几乎所有功能。不同类型的蛋白质与不同的生物功能相关,了解蛋白质的功能对于理解、诊断和治疗疾病非常重要。
| 数据集 | 样本数 | 属性数(标称/数值) | 类别数 | 默认准确率(%) |
|---|---|---|---|---|
| Postsynaptic | 4303 | 10(444)/0(2) | 2 | 93.96 |
| GPCR-Prosite | 6261 | 30(128)/2(2) | 9 | 75.16 |
| GPCR-Prosite-L2 | 6162 | 25(128)/2(2) | 50 | 33.7 |
| GPCR-Prints | 5422 | 24(282)/2(2) | 8 | 77.8 |
| GPCR-Interpro | 7461 | 30(449)/2(2) | 12 | 64.4 |
3.2 数据预处理
为了减少数据集的维度,提高算法的效率,对这些数据集进行了属性选择预处理。具体方法如下:
-
Postsynaptic数据集
:使用粒子群优化算法选择的前十个属性。
-
其他四个数据集
:使用基于属性信息增益比的属性选择方法。具体步骤如下:
1. 根据属性的增益比排名。
2. 从最差到最好,每次从原始数据集中移除十个属性。
3. 每次移除十个属性后,使用三个基线算法(两种版本的CN2和Ripper)对新数据集进行挖掘。
4. 重复步骤2和3,直到至少一个基线算法的预测准确率下降。
5. 将最后移除的十个属性重新添加到训练集中,然后从最差到最好,逐个移除属性,直到所有分类器的预测准确率不再下降。
3.3 实验结果比较
实验分两个阶段进行:
-
第一阶段
:将GGP-RIs的预测准确率与基线算法在完整数据集上的准确率进行比较。结果如下表所示:
| 数据集 | GGP-RIs | OrdCN2 | UnordCN2 | Ripper | C45Rules |
| — | — | — | — | — | — |
| Postsynaptic | 98.32±0.24 | 98.7±0.22 | 98.42±0.12 | 98.3±0.22 | 97.82±0.32 |
| GPCR-Prosite | 86.44±0.13 | 87.34±0.32 | 75±0.2 | 87.66±0.39 | 82.64±2.44 |
| GPCR-Prosite-L2 | 63.81±0.96 | 68.56±0.29 | 48.9±0.5 | 62.56±0.75 | 44±1.07 |
| GPCR-Prints | 90.71±0.69 | 91.04±0.25 | 83.84±1.52 | 91.06±0.27 | 88.94±2.76 |
| GPCR-Interpro | 89.34±0.29 | 90.88±0.45 | 90.56±0.41 | 90.26±0.32 | 80.36±6.35 |
-
第二阶段
:将GGP-RIs的预测准确率与基线算法在选择属性后的数据集上的准确率进行比较。结果如下表所示:
| 数据集 | GGP-RIs | OrdCN2 | UnordCN2 | Ripper | C45Rules |
| — | — | — | — | — | — |
| Postsynaptic | 98.32±0.24 | 98.4 ± 0.2 | 98.4 ± 0.2 | 98.21 ± 0.22 | 98.4 ± 0.2 |
| GPCR-Prosite | 86.44±0.13 | 86.86±0.28 | 75.68±0.31 | 86.64±0.31 | 84.04±2.04 |
| GPCR-Prosite-L2 | 63.81±0.96 | 68.38±0.65 | 47.98±0.1 | 62.36±0.42 | NA |
| GPCR-Prints | 90.71±0.69 | 90.78±0.32 | 90.64±0.37 | 91.05±0.14 | 86.76±2.58 |
| GPCR-Interpro | 89.34±0.29 | 90.2±0.25 | 88.46±0.55 | 89.83±0.32 | 84.02±3.73 |
从结果可以看出,属性选择过程对算法的性能有一定影响。在大多数情况下,GGP-RIs的预测准确率与基线算法相当,甚至在某些数据集上表现更好。
4. GGP系统的执行时间
GGP系统的执行时间受到多种因素的影响,难以估计最佳或最差运行时间。以下是在单个数据集上运行GGP系统的最佳和最差运行时间:
| 元训练集 | 最佳时间(hr:min) | 最差时间(hr:min) |
| — | — | — |
| Balance-scale | 0:21 | 0:45 |
| Postsynaptic | 1:41 | 4:56 |
| Lymphs | 1:20 | 3:05 |
| Promoters | 15:37 | 43:18 |
| GPCR-Interpro | 63:26 | 169:30 |
这些时间是在奔腾4双核处理器、1GB内存和Linux系统的机器上进行实验得到的。
综上所述,GGP系统能够生成具有竞争力的规则归纳算法,适用于特定的现实世界数据集或应用领域。通过实验验证,GGP-RIs在大多数数据集上的预测准确率与基线算法相当,甚至在某些数据集上表现更好。同时,属性选择过程可以提高算法的效率,减少执行时间。
规则归纳算法的进化与应用:从通用到特定领域
5. 实验结果分析
从上述实验结果中,我们可以进行更深入的分析。
5.1 GGP - RIs与基线算法对比
在不同数据集上,GGP - RIs与基线算法(Ordered CN2、Unordered CN2、Ripper、C4.5Rules)的表现各有不同。
-
优势方面
:在一些数据集上,GGP - RIs展现出明显优势。如在GPCR - Prosite - L2数据集上,GGP - RIs显著优于C4.5Rules;在多个数据集上,GGP - RIs显著优于Unordered CN2。这表明GGP系统生成的规则归纳算法在某些情况下能够更好地适应数据特征,挖掘出更有效的规则。
-
劣势方面
:在GPCR - Prosite和GPCR - Prosite - L2数据集上,GGP - RIs显著差于Ordered CN2;在GPCR - Prosite数据集上,GGP - RIs显著差于Ripper。这可能是因为在这些数据集上,Ordered CN2和Ripper的算法结构更适合数据的分布和特征,而GGP系统生成的算法未能充分捕捉到这些特性。
5.2 属性选择的影响
属性选择过程对算法性能产生了重要影响。从表6.19和表6.20的对比可以看出,属性选择不仅提高了Unordered CN2在GPCR - Prints数据集上的准确率,还降低了Ordered CN2和Ripper在GPCR - Prosite数据集上的准确率。这使得GGP - RIs与基线算法之间的胜负关系发生了变化,部分之前的显著差异变得不再显著。说明属性选择能够改变数据集的特征分布,进而影响算法的性能表现。
6. 总结与展望
通过对GGP系统在不同数据集上的实验研究,我们可以得出以下结论:
-
算法竞争力
:GGP系统能够生成具有竞争力的规则归纳算法,在大多数数据集上,GGP - RIs的预测准确率与基线算法相当,甚至在某些数据集上表现更优。这表明GGP系统在自动设计规则归纳算法方面具有一定的有效性和潜力。
-
属性选择的作用
:属性选择过程是提高算法效率和性能的重要手段。它可以减少数据集的维度,去除无关或冗余的属性,从而使算法能够更专注于有价值的特征,提高预测准确率。
然而,GGP系统也存在一些有待改进的地方:
-
算法适应性
:在某些数据集上,GGP系统未能找到最优的算法结构,如在GPCR - Prosite - L2数据集上,虽然Ordered CN2在搜索空间内,但GGP系统生成的算法未能达到Ordered CN2的性能。未来可以进一步优化搜索策略,提高系统找到更优算法的能力。
-
执行时间
:GGP系统的执行时间受多种因素影响,难以准确估计。在一些数据集上,执行时间较长,这可能会限制其在实际应用中的使用。可以研究如何优化系统的执行流程,减少不必要的计算,提高执行效率。
以下是一个简单的mermaid流程图,展示GGP系统的整体流程:
graph LR
A[输入数据集] --> B[属性选择预处理]
B --> C[GGP系统进化规则归纳算法]
C --> D[生成GGP - RIs]
D --> E[与基线算法比较准确率]
E --> F[分析结果]
在未来的研究中,可以进一步探索GGP系统在更多领域和数据集上的应用,不断优化算法结构和搜索策略,提高系统的性能和适应性,使其能够更好地服务于实际问题的解决。同时,可以结合其他机器学习技术,如深度学习、强化学习等,进一步提升规则归纳算法的性能和效果。
总之,GGP系统为自动设计规则归纳算法提供了一种有效的方法,虽然存在一些挑战,但具有广阔的发展前景。通过不断的研究和改进,有望在更多领域发挥重要作用。
超级会员免费看
45

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



