当前位置:文档之家› 基于数据挖掘的遗传算法

基于数据挖掘的遗传算法

基于数据挖掘的遗传算法xxx摘要:本文定义了遗传算法概念和理论的来源,介绍遗传算法的研究方向和应用领域,解释了遗传算法的相关概念、编码规则、三个主要算子和适应度函数,描述遗传算法计算过程和参数的选择的准则,并且在给出的遗传算法的基础上结合实际应用加以说明。

关键词:数据挖掘遗传算法Genetic Algorithm Based on Data MiningxxxAbstract:This paper defines the concepts and theories of genetic algorithm source, Introducing genetic algorithm research directions and application areas, explaining the concepts of genetic algorithms, coding rules, the three main operator and fitness function,describing genetic algorithm parameter selection process and criteria,in addition in the given combination of genetic algorithm based on the practical application.Key words: Data Mining genetic algorithm前言遗传算法(genetic algorithm,GAs)试图计算模仿自然选择的过程,并将它们运用于解决商业和研究问题。

遗传算法于20世界六七十年代由John Holland[1]发展而成。

它提供了一个用于研究一些生物因素相互作用的框架,如配偶的选择、繁殖、物种突变和遗传信息的交叉。

在自然界中,特定环境限制和压力迫使不同物种竞争以产生最适应于生存的后代。

在遗传算法的世界里,会比较各种候选解的适合度,最适合的解被进一步改进以产生更加优化的解。

遗传算法借助了大量的基因术语。

遗传算法的基本思想基于达尔文的进化论和孟德尔的遗传学说,是一类借鉴生物界自然选择和自然遗传机制的随机搜索算法。

生物在自然界的生存繁殖,显示对其自然环境的优异自适应能力。

受其启发,人们致力于对生物各种生存特性的机制研究和行为模拟。

通过仿效生物的进化与遗传,根据“生存竞争”和“优胜劣汰”的原则,借助选择、交叉、变异等操作,使所要解决的问题从随机初始解一步步逼近最优解。

现在已经广泛的应用于计算机科学、人工智能、信息技术及工程实践。

[2]在工业、经济管理、交通运输、工业设计等不同领域,成功解决了许多问题。

例如,可靠性优化、流水车间调度、作业车间调度、机器调度、设备布局设计、图像处理以及数据挖掘等。

遗传算法作为一类自组织于自适应的人工智能技术,尤其适用于处理传统搜索方法难以解决的复杂的和非线性的问题。

1.遗传算法的应用领域和研究方向1.1遗传算法的特点遗传算法作为一种新型、模拟生物进化过程的随机化搜索方法,在各类结构对象的优化过程中显示出比传统优化方法更为独特的优势和良好的性能。

它利用其生物进化和遗传的思想,所以它有许多传统算法不具有的特点[3]:※搜索过程不直接作用在变量上,而是作用于由参数集进行了编码的个体上。

此编码操作使遗传算法可以直接对结构对象进行操作。

※搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,降低了陷入局部最优解的可能性,易于并行化。

※采用概率的变迁规则来指导搜索方向,不采用确定性搜索规则。

※对搜索空间没有任何的特殊要求,只利用适应度信息,不需要其它辅助信息,适应范围广。

※对于给定的问题,可以产生许多的潜在解,最总选择可以由使用者确定。

遗传算法的优越性只要表现在:首先他在搜索过程中不容易陷入局部最优,即使在定义的适应值函数是不连续的、非规则的或是有噪声的情况下,它也能以很大的概率找到整体最优解;其次由于它固定的并行性,遗传算法非常适合于大规模的并行计算机。

※遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,广泛适用于很多科学。

1.2遗传算法的应用领域1.函数优化函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评估的常用算例。

很多人构造出的各种各样的复杂形式的测试函数,有连续函数也有离散函数,有凸函数也有凹函数,有低维函数也有高维函数,有确定函数也有随机函数,有但峰值函数也有多峰值函数等。

用这些几何特性各具特色的函数来评价遗传算法的性能,更能反映算法的本质效果。

而对于一些非线性、多模型、多目标的函数优化问题,用其他优化方法比较难求解,而遗传算法却是可以方便的得到较好的结果。

2.组合优化随着问题规模增大,组合优化问题的搜索空间也急剧扩大,有时在目前的计算机上用枚举法很难或不可能求解精确最优解。

对这类复杂问题,人们已经意识到应把主要精力放在求其满意解上,而遗传算法是寻求这种满意解定的最佳工具之一。

实践证明,遗传算法已经在求解旅行商问题、背包问题、装箱问题、布局优化、图形划分问题等各种具有NP难度的问题得到成功应用。

3.自动控制在自动控制领域中有很多优化相关的问题需要求解,遗传算法已在其中得到初步的应用,并显示出良好的效果。

例如用遗传算法进行航空控制系统的优化、使用遗传算法设计空间交回控制器、基于遗传算法的模糊控制器的优化设计、基于遗传算法的参数辨识、基于遗传算法的模糊控制规则的学习、利用遗传算法进行人工神经网络的结构优化设计和权值学习,都显示出遗传算法在这些领域的应用可行性。

4.图像处理图像处理是计算机视觉中的一个重要研究领域。

在图像处理过程中,如扫描、特征提取、图像分割等不可避免的存在一些误差,从而会影响图像的效果。

如何使这些误差最小是使计算机视觉达到实用化的重要要求。

遗传算法在这些图像处理中优化计算方面找用武之地。

目前已在模式识别、图像恢复、图像边缘特征提取等方面取得了应用。

5.数据挖掘数据挖掘是近几年出现的数据库技术,它能够从大型的数据库中提取隐含的、先前未知的、有潜在应用价值的知识和规则。

许多数据挖掘问题可视为搜索问题,数据库视为搜索空间,挖掘算法视为搜索策略。

因此,应用遗传算法在数据库中进行搜索,对随机产生的一组规则进行进化,直到数据库能被该组规则覆盖,从而挖掘出隐含在数据库中的规则。

遗传算法已经成为数据挖掘的重要有效方法之一。

6.复杂性科学在复杂性问题的研究中,遗传算法也崭露头角。

什么叫复杂性问题,各家看法不一。

共同认识还是有的,即是复杂性问题应用是多层次、多因素、其相互作用是非线性、不确定和不稳定的,这样的学习问题自然属复杂性研究的范畴。

事实上,在复杂系统例如适应性系统学习策略的研究中,遗传算法占有重要位置。

由于介质参数的模型非常大,同时观测数据不完备、噪音的存在、源的情况复杂未知。

很难用传统的方法求得目标函数的全局最优值,而只能求一定意义下的“满意解”。

这时,可供选择的方法之一自然是遗传算法。

1.2遗传算法的研究方向遗传算法是多学科结合与渗透的产物,已经发展成为一种自组织、自适应的综合技术,广泛应用在计算机科学、工程技术和社会学领域。

[4]遗传算法的基础理论、数学模型主要集中在对于算法的收敛性、复杂性、收敛速度的研究上。

遗传算法在操作上突出特点是具有高度的并行性。

还有在与神经网络方向相结合,成功的用于从时间序列分析来进行财政预算。

开发遗传算法的的商业软件、开拓更广泛的遗传算法应用领域也是今后的主要任务。

遗传算法是21世纪有关智能计算术中的关键之一。

是十分活跃的研究领域,正在从理论深度、技术的多样化以及应用的广度不断探索。

2.遗传算法的编码规则编码机制是GA(遗传算法)的基础,编码是遗传算法主要解决的首要问题。

GA不是对研究对象直接进行讨论,而是通过某种编码机制把对象统一赋予有特定符号按一定顺序排成的串。

将问题的解转换成基因序列的过程称为编码。

反之,将基因转换成问题的解的过程成为解码。

对GA的码可以有十分广泛的的理解。

在优化问题方面,一个串对应于一个可能解;在分类问题的方面,串可以解释为一个规则。

即串的前半部为输入或前件,后半部分为输出或后件、结论等。

对于任何应用遗传算法解决实际问题,都要必须将解的表达方法和相关问题领域的特点结合起来分析考虑。

编码空间遗传运算解码空间评估与选择解码编码图一:编码空间与解空间从图一中可见,遗传算法的一个显著特点是它交替地在编码空间和解码空间中工作,它在编码空间对染色体进行遗传运算,而在解空间对解进行评估和选择。

自然选择联结了染色体和它所表达的解的性能当用遗传算法算法解问题,必须在问题空间对遗传算法的个体基因结构之间建立联系,即确定编码和解码方案。

一般来说,由于遗传算法计算过程的鲁棒性,他对编码的要求并不苛刻,但是编码的策略对于遗传算子,尤其是对交叉和变异算子的功能和设计有很大影响。

评估编码机制的一般采用一下三种规范:(1)完备性:问题空间中的所有点都能作为GA空间中的点表现;(2)健全性:GA空间中的染色体能对应所有问题空间中的候选解;(3)非冗余性:染色体和候选解一一对应。

2.1几种常见的编码机制1.二进制编码二进制编码采用得到了Holland早期理论结果的支持,它是遗传算法中最常用的一种编码方法。

优点为(1)编码、解码操作简单易行;(2)交叉、变异操作便于实现;(3)符合最小字节符集编码原则;(4)便于利用模式定理对算法进行理论分析。

2.格雷码编码对于一些连续优化问题,二进制编码由于遗传算法的随机特性而使其局部搜索功能力较差。

为改进这一特点,人们提出了格雷码。

它的方法是二进制编码方法的一种变形。

它是这样的一种编码方法,其连续的两个整数所对应的编码值之间仅仅只有一个码位是不相同的,其余位都是完全相同。

3.实数编码对于一些多维、高精度要求1的连续函数优化问题,使用二进制编码来表示个体将会带来一些不利。

例如,二进制编码存在着连续函数离散化的映射误差,同时不便于反映所求问题的特定知识。

为了克服这些缺点,人们提出了实数编码方法,即个体的每个基因值用实数表示。

3.遗传算法的主要算子遗传算子最重要的算子有三种:选择、交叉、变异。

选择体现“适者生存”原理,通过适应值选择优质个体而抛弃劣质个体。

交叉能使个体之间遗传物质进行交换从而产生更好的个体。

变异能恢复个体失去的或未开发的遗传物质,以防止个体在形成最优解过程中过早收敛。

1选择算子选择算子也称复制算子、繁殖算子。

它的作用在于根据个体优劣程度决定在下一代是被淘汰还是被复制。

一般的说,通过选择,将适应度即优良的个体有较大的存在机会,而适应度小即低劣的个体继续存在的机会也较小。

相关主题