2023年数据挖掘与知识发现(讲稿9遗传算法).docx
《2023年数据挖掘与知识发现(讲稿9遗传算法).docx》由会员分享,可在线阅读,更多相关《2023年数据挖掘与知识发现(讲稿9遗传算法).docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年数据挖掘与知识发现(讲稿9遗传算法) 装 订 线 第九章 基于遗传算法的数据挖掘 面向属性的数据挖掘方法是基于逻辑的,神经网络挖掘方法是基于方程的,而本章要介绍的遗传算法,则是一种基于十字表的数据挖掘方法。它也是一种典型的知识发现方法。 遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。它最早由美国密执安大学的Holland教授提出,起源于60年代对自然和人工自适应系统的研究。70年代De Jong基于遗传算法的思想在计算机上进行了大量的纯数值函数优化计算实验。在此基础上,由Goldberg在80年代对其进行了归纳总结,形成了遗传算法的基本框架。
2、9.1 遗传算法概要 对于一个求函数最大值的优化问题(最小值类同),一般可描述为如下的数学规划模型: maxf(X) s.t.XR (9-1) RU式中,X=x1,x2,L,xnT为决策变量;f(X)为目标函数(线性或非线性;离散或连续;单峰或多峰);U为基本空间;R为U上的一个子集。满足约束条件的解X称为可行解,集合R表示由所有满足约束条件的解组成的一个集合,叫做可行解集合。 图1 最优优问题的可行解及可行解集合 传统的求最优解或近似最优解的方法主要有:枚举法、分枝定界法、1 装 订 线 启发式算法和搜索算法。随着问题种类的不同,以及问题规模的扩大,要寻找到一种能以有限的代价来解决上述最优化
3、问题的通用方法仍是一个难题。而遗传算法正好能为此类问题提供一个有效途径和通用框架,开创了一种新的全局优化搜索算法。 遗传算法是模拟生物进化过程的计算模型,它是自然遗传学和计算机科学相互结合渗透而形成的新的计算方法。 生物的进化过程主要是通过染色体之间的交叉和变异来完成的。 在遗传算法中,将n维决策向量X用n个记号Xi,i=1,2,L,n所组成的符号串来表示X: X=X1X2LXnX=X1,X2,L,XnT 把每一个Xi,i=1,2,L,n看作一个遗传基因,它的所有可能取值称为等位基因。这样,X就可看作是由n个遗传基因所组成的一个染色体(或个体)。对于每个个体,要按照一定的规则确定出其适应度。个
4、体的适应度与其对应的个体表现型X的目标函数值相关联,X越接近于目标函数的最优点,其适应度越大;反之适应度越小。所有染色体X就组成了问题的搜索空间。 生物的进化是以集团为主体的。与此对应,遗传算法的运算对象是由M个个体所组成的集合,称为群体。与生物一代一代的自然进化过程类似,遗传算法的运算过程也是一个反复迭代过程,第t代群体记为P(t),经过一代遗传和进化后,得到第t+1代群体,也是由多个个体组成的集合,记为P(t+1)。这个群体不断地经过遗传和进化操作,并且每次都按优胜劣汰的规则将适应度较高的个体更多的遗传到下一代,这样最终在群体中将会得到一个优良的个体X,它达到或接近于问题的最优解X*。 遗
5、传算法中最优解的搜索过程也模仿生物的这种进化过程。使用所谓的遗传算子作用于群体P(t)中,进行下述的遗传操作,从而得到新一 2 装 订 线 代群体P(t+1)。主要操作有: l 选择:根据各个个体的适应度,按照一定的规则或方法,从第t代群体P(t)中选择出一些优良的个体遗传到下一代群体P(t+1)中; l 交叉:将群体P(t)内的各个个体随机搭配成对,对每一对个体,以某个概率(称为交叉概率)交换它们之间的部分染色体; l 变异:对群体P(t)中的每一个个体,以某一概率(称为变异概率)改变某一个或某一些基因座上的基因值为其他的等位基因。 遗传算法的运算步骤为: (1) 初始化:设置进化代数计数器
6、t0;设置最大进化代数T;随机生成M个个体作为初始群体P(0); (2) 个体评价:计算群体P(t)中各个个体的适应度; (3) 选择运算:将选择算子作用于群体; (4) 交叉运算:将交叉算子作用于群体; (5) 变异运算:将变异算子作用于群体。群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1); (6) 终止条件判断:若tT,则tt+1,转到步骤二;若tT,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。 遗传算法的执行过程如下图所示: 装 订 线 图1 遗传算法的执行过程 9.2 遗传算法的特点 与传统的优化算法:单纯形法、梯度法、动态规划法和分枝定界法
7、相比,遗传算法是一类可用于复杂系统优化计算的鲁棒性搜索算法。其特点主要有: l 遗传算法以决策变量的编码作为运算对象。而传统的优化算法往往是直接利用决策变量的实际值本身来进行优化计算; l 遗传算法直接以目标函数值作为搜索信息。而传统的优化算法不仅需要利用目标函数值,而且往往需要目标函数的导数值等其他一些辅助信息才能确定搜索方向; l 遗传算法同时使用多个搜索点的搜索信息。而传统的优化算法往往从解空间中的一个初始点开始最优解的迭代搜索过程; l 遗传算法使用概率搜索技术。而传统的优化算法往往使用的是确定性的搜索方法,一个搜索点到另一个搜索点的转移有确定的转移方法和转移关系,这种确定性往往也有可
8、能使得搜索永远达不到最优点,因而限制了算法的应用范围。 9.3 遗传算法的应用 遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很 装 订 线 多学科。 (1) 优化函数 (2) 组合优化 (3) 生产调度问题 (4) 自动控制 (5) 机器人学 (6) 图像处理 (7) 人工生命 (8) 遗传编码 (9) 机器学习 9.4 遗传算法的构成要素及形式定义 构成遗传算法的要素主要有:染色体编码方法、个体适应度评价、遗传算子、基本遗传算法的运行参数。 (1)染色体编码方法 在实现对一个问题用遗传算法进行求解之前,必须先对问题的解
9、空间进行编码,以便于它能够由遗传算法进行操作。最常用的编码方法是二进制编码、浮点数编码、格雷码编码、符号编码等。 如,二进制编码方法是遗传算法中最常用的一种编码方法,它使用的编码符号集是由二进制符号集0和1所组成的二值符号集0,1,它所构成的个体基因型是一个二进制编码符号串。 二进制编码符号串的长度与问题所要求的求解精度有关。假设某一参数的取值范围是Umin,Umax,若用长度为l的二进制编码符号串来表示该参数,则它总共能够产生2l种不同的编码,即为: 00000000.00000000=0 Umin 00000000.00000001=1 Umin+1 装 订 线 . . . . .1111
10、1111.11111111=2*2*22-1Umax 则二进制编码的编码精度为: s=Umax-Umin l2-1假如,对于x0,1023,若用10位长的二进制编码来表示该参数的话,则下述符号串: X: 0 0 1 0 1 0 1 1 1 1 就可表示一个个体,它所对应的参数值为x=175。此时的编码精度s=1。 (2)适应度函数 在遗传算法中,模拟自然选择的过程主要通过评估函数和适应度函数来实现的。前者是用来评估一个染色体的优劣的绝对值,后者是用来评估一个染色体相对于整个群体的优劣的相对值的大小。 但在遗传算法中,评估函数和适应度函数的计算与应用比较相近,所以一般文献中常混为一谈。 (3)遗
11、传算子 基本遗传算法使用下列三种遗传算子: l 选择算子:按照某种策略从父代中挑选个体进入中间群体,如使用比例选择; l 交叉算子:随机地从中间群体中抽取两个个体,并按照某种交叉策略使两个个体互相交换部分染色体码串,从而形成两个新的个体。如使用单点交叉; l 变异算子:通常按照一定的概率(一般较小),改变染色体中某些基因的值。 (4)基本遗传算法的运行参数 基本遗传算法有下述4个运行参数需要提前设定:(目前无合理的理论依据) 装 订 线 l M:群体大小:即群体中所含个体的数量,一般取20-100; l T:遗传算法的终止进化代数,一般取为100-500; l pc:交叉概率:一般取为0.4-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 数据 挖掘 知识 发现 讲稿 遗传 算法
限制150内