问题描述
在现实世界的特征选择中,遗传算法如何工作?
在这种情况下,突变是如何发生的?
数据集看起来像这样
年龄,工资,贷款金额,财产价值,汽车价值,孩子,费用...。批准
Age Salary Loan Amount Property Value Car Value Kids Expenses.... Approve
47 3500 100,000 250,000 20,000 2 1600 1
34 2200 700,000 130,000 10,000 0 1800 0
38 3200 400,000 150,000 25,000 3 2300 1
42 4500 500,000 200,000 60,000 1 3000 1
55 3000 600,000 100,000 37,000 3 2300 0
如果我们从父母开始
父母1:年龄,工资,汽车价值,孩子 父母2:年龄,贷款金额,汽车价值,费用
后代:年龄,工资,汽车价值,费用
变异那个后代
这是正确的变异吗?:年龄,财产价值,汽车价值,费用
要拥有财产价值而不是工资?
解决方法
遗传算法是一类进化算法,可以通过组合成员的内部表示(它们的基因型)来进行成员的繁殖和交叉。
对于在GA中进行突变的方法,没有通用的规则,它取决于特定的算法。但是,让我们在最通用的GA规范/规则的假设下回答您的问题:
您正确越过了父母。通常在交配过程中,后代没有父母也没有的特征。哪个父母性状被复制到后代通常是随机的,因此您的后代是有效的。
在突变过程中,通常会在真空中查看成员-这意味着该成员是通过mutation_x,mutation_y还是crossover创建的都没有关系。现在对成员应用mutation_x,mutation_y或crossover的概率与总体中其他成员的概率相同。
因此可以选择'mutation_add_property_value',并且(假设您的基因组大小固定,因为每个成员只有4个特征),可以替换诸如薪水之类的随机特征。因此,您对(Age,Property_Value,Car_Value,Expenses)的突变是假定的一般GA中的有效突变。