数据挖掘笔记-特征选择-遗传算法

基于遗传策略的特征选取

遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化。传统上,解用二进制表示(即01的串),但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中,整个种群的适应度被评价,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。

遗传算法的组成阶段

一、初始种群建立阶段

特征选取是为了得到经过降维处理的特征向量集合,在选取和降维的处理过程中,需要借鉴遗传学的基本知识即特征向量集合与种群的编制方法。通常采用二进制编码的方法,而二进制编码位与原特征向量的特征项的选取情况相对应。具体的编码方式如下:对原特征向量V和染色体R来说,为了建立两者的对应关系,有以下规则:假如特征向量V是n维的,则R就转变为n位的二进制数,染色体基因对应与R中的每一位。在染色体与特征向量的对应关系中,假如染色体中某个基因为1则意味着与其相对应的特征项被命中,假如为0的话则表明与其相对应的特征项没有被命中。在遗传算法中,初始种群的建立不得不通过原特征向量来随机产生的一个重要原因就是因为没有先验知识。可以通过采用随机选取的方法来进行个体中基因位的选择。首先设一个数,这个数比基因位相对应的特征向量的维数要小,然后在与之相对应的染色体选这个数值的基因位并将它们都取l。为保证算法的全局最优,产生的初始种群的条件必须满足这样一个条件:就是组成与初始种群相对应的的存在的特征项都进行计算,这样就实现了染色体的基因位与特征向量中的特征项的全面的对应关系。当然有些情况下,会出现规模过大的情况。出现这种情况的时候,就在种群生成的过程中可以选择某数量在前面处理中没有建立关系的特征项。特殊情况下,可以强制设某染色体对应的特征项的数量。最简单的一种方法,可以取某数值,表示在某个染色体内只可以对应某数值的特征项。这样就可以有效的控制特征向量的维数。

二、计算适应度阶段

适应度函数计算的选择在遗传算法中是很非常重要的,它在某种程度上会对算法的运算趋势产生影响,严重的情况下,会对算法的运行结果产生负面的影响。一般适应度函数通过目标函数来表示,如拿文本举例,在某个文本中,某个染色体的基因与表示文本的特征向量中的特征项相对应,在这里词语就代表特征项。那么,好的有代表性的词语可以基本体现某个文本的主要的信息,有些情况下可体现其它文本的相关信息,这说明这两个文本之间有较好的相似度。那么适应度计算阶段的主要工作就是利用适应度函数来衡量文本对象之间的适应度,在这个过程中主要通过计算平均相似度来体现适应度,它们的求解趋势是一致的。所以每个文本对象的平均相似度函数计算是与个文本对象距离和的均值。距离的计算可以采用很多方法,比如欧氏距离、曼哈顿距离、余弦距离等。

三、选择算子操作阶段

遗传算法使用选择运算对个体进行优胜劣汰操作。适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。选择操作的任务就是从父代群体中选取一些个体,遗传到下一代群体。选择算子是带最优比例选择策略的方法。通常情况下,染色体的基因的适应度和与其相对应的概率数值成正比例关系。被选取的概率大则说明染色体的适应度高,被选取的概率小的话则说明染色体的适应度低。

遗传算法中选择算子常采用轮盘赌选择方法。轮盘赌选择又称比例选择算子,其基本思想是:各个个体被选中的概率与

  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值