我有一个问题,我想解决与matlab遗传算法工具箱,我不知道如何解决它。 我想在一个公式中计算3个系数,以使SVM分类模型的分类准确性函数最大化。系数的公式是a * a + b * B + c * C其中a,b,c是我想要找到它们的最优值的系数,A,B,C是数据集的3个属性的值。我也有约束条件a + b + c = 1和a,b,c> 0我应该如何使用遗传算法来解决这个问题?遗传算法与matlab如何使用分类精度作为健身功能
2
A
回答
2
您首先需要随机生成一个初始可行解作为第一代。
这些可行解决方案中的每一个都应该满足a + b + c = 1
和a, b, c > 0
。
然后根据你的健身功能,评估每个答案,并选择更好的作为“父母”。对这些父母应用GA技术,如“交叉”或“突变”,以产生一群后代,作为下一代。
重复这个过程一定的时间,比如500代。
例如,您可以定义变量fitness
,较高的值表示其相应的候选人是更合适的解决方案。既然你是最大化这个功能,那么:
健身= A * A + B * B + C * C
在每个GA操作(交叉,变异等),记得要经常收益率满足您初始约束的新候选人(a + b + c = 1
和a, b, c > 0
)。
2
根据我的经验,最好的解决方案之一就是实现MATLAB的遗传算法。 GA工具箱生成的目的是寻找最小的这种功能,但通过使用对称性,它会导致您寻找的功能最大化。遵循以下步骤:
- A,B,C =输入数据
- 归一化,B,C这导致+ B + C = 1
- 你的适应度函数,一个A + B b + C * C,并将其定义
- 定义nvars这对于你是3
- 穿戴LB(下边界)中的情况下[0 0 0],这是A,b,C> 0
- 润[X ,fval] = ga(...)那里的x将是最终结果x = [abc]
如果有任何问题,请发邮件给我更多的帮助:[email protected]
希望最好
相关问题
- 1. 旅行商的遗传算法中的健身功能
- 2. 遗传编程 - 健身功能
- 3. 遗传算法的分类和健身评估
- 4. 在遗传算法中跟踪健身
- 5. 解决与遗传算法,健身,突变纵横字谜
- 6. MATLAB:遗传算法 - 失败的初始用户提供的健身功能评价
- 7. 如何做健身功能
- 8. 在Python中实现遗传算法:使用健身对列表进行排序
- 9. Java健身功能不起作用
- 10. 要使用遗传算法
- 11. 了解健身功能
- 12. 解决作业调度与遗传算法的一些限制
- 13. 遗传算法实现中最大健身卡在局部最大值
- 14. 如何开始使用遗传算法工作
- 15. 在Matlab中使用双精度的算术精度
- 16. 使用Matlab遗传算法优化昂贵的适应度函数约束
- 17. 仅使用唯一整数的Matlab遗传算法(GA)
- 18. 在MATLAB中使用遗传算法进行重量优化
- 19. Matlab优化 - 使用遗传算法最小化目标函数
- 20. 是遗传算法使用数组作为联想?
- 21. 为什么MATLAB surf功能不能处理单精度数据?
- 22. 在Matlab中使用遗传算法时如何设置整数约束?
- 23. 的遗传算法
- 24. 遗传算法库
- 25. DEAP遗传算法
- 26. 使用Matlab计算精度较低的积分
- 27. 使用遗传算法神经网络
- 28. 遗传算法和细胞遗传算法有什么区别
- 29. Python:遗传算法性能弱
- 30. 实现子集和与遗传算法
生成一堆与同一配方的功能,但具有不同的系数。然后使用一些评估函数对它们进行测试,保持执行最佳的两个功能并从它们生成下一代。 – 2012-04-16 16:13:48
谢谢你的回应,但我也需要知道如何用matlab做到这点。我应该如何在ga中使用约束条件以及如何编码适应度函数? – user1336745 2012-04-18 07:16:58