数据挖掘之遗传算法

来源:互联网 发布:爱长安软件 编辑:程序博客网 时间:2024/06/10 05:15

遗传算法试图结合自然进化的思想来得到最优结果。它通常采用二进制串表示解空间,通过二进制串的交换、反转模拟自然界的进化与变异,最终求得一个最优解。
举一个简单的例子,假定给定的训练集用两个布尔属性A1和A2描述,并且有两个类C1和C2.
规则“IF A1 AND NOT A2 THEN C2”可以用二进制位串“100”编码
规则“IF NOT A1 AND NOT A2 THEN C1"可以用”001“编码。
通过二进制串杂交可获得最适合的规则群体。规则的适合度可用它对训练样本集的分类准确率评估。

遗传算法易于并行,并且业已用于分类和其他优化问题。在数据挖掘中,他们可能用于评估其他算法的适合度。

遗传算法的基本运算过程如下:
a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)
b)个体评价:计算群体P(t)中各个个体的适应度
c)选择运算:选择优秀的个体作为下一代种子
d)交叉运算:两个个体把部分结构替换重组形成新的个体
e)变异运算:对个体串的基因值翻转形成新的个体
f)终止条件判断:若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出

原创粉丝点击