什么是遗传算法?
遗传算法是利用遗传继承过程的数学结构。它们已成功应用于各种分析问题。数据挖掘可以将人类理解与信息的自动分析联系起来,以发现模式或关键关系。
给定一个由多个变量表示的大型数据库,目标是有效地找到数据库中最有趣的模式。遗传算法已被用于在某些软件中识别有趣的模式。它们通常用于数据挖掘以增强其他算法的执行,例如决策树算法或关联规则算法。
遗传算法需要特定的数据结构。它们在一个具有以类别结构定义的特征的种群上工作。与遗传学的类比是种群(基因)包含特征。实现遗传算法的一种方法是使用具有突变特征的算子(繁殖、交叉、选择)来改进可能更好组合的生成。
遗传算法的过程如下:
它可以随机选择父母。
它用于通过交叉进行繁殖。
繁殖是选择哪些个体将处理它。换句话说,需要一些目标函数或选择机制来决定生存。交叉描述了未来个体产生的变化。
它可以通过适应度函数选择下一代的幸存者。
突变是通过该服务随机选择的、在后续操作中随机选择的个体的属性被转换。
它可以重复,直到达到给定的适应度水平,或者达到预定的迭代次数。
遗传算法参数包括种群大小、交叉率和突变率。
遗传算法的优点
遗传算法的优点如下:
遗传算法非常容易创建和验证,这使得它们在使用时极具吸引力。
该算法是并行的,这意味着它可以有效地用于大型种群。该算法也很有效,因为它即使从较差的初始解开始,也可以迅速收敛到最佳解。
突变的使用使得该方法能够识别即使在非常非线性的问题规则中也能找到全局最优解。该方法不需要关于信息分布的知识。
遗传算法的缺点
遗传算法需要将数据集映射到其中属性具有离散值以便遗传算法能够使用。这通常是可能的,但在处理连续变量时可能会丢失大量详细信息。
将信息编码成类别形式可能会无意中导致记录中的偏差。
还可以检查可以使用遗传算法考虑的数据集的大小。
对于非常大的数据集,采样将是必要的,这会导致在相同数据集上进行多次运行时出现多种结果。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP