algorithm - 遗传算法与matlab如何使用分类精度作为适应度函数

标签 algorithm matlab classification genetic-algorithm

我有一个问题想用 matlab 遗传算法工具箱解决,但我不知道如何解决。 我想以最大化函数(即 SVM 分类模型的分类精度)的方式计算公式中的 3 个系数。系数的公式为a*A+b*B+c*C,其中a、b、c是我想要找到其优化值的系数,A、B、C是数据集3个属性的值。我还有约束 a+b+c=1 和 a,b,c>0

如何使用遗传算法来解决这个问题?

最佳答案

首先需要随机生成一个初始可行解,作为第一代。

每个可行的解决方案都应满足 a + b + c = 1a, b, c > 0

然后根据您的适应度函数,评估每个答案,并选择更好的作为“ parent ”。在这些 parent 身上应用“交叉”或“突变”等遗传算法技术,产生一组后代,作为下一代。

重复此过程一定次数,例如 500 代。

例如,您可以定义一个变量fitness,值越高意味着其对应的候选方案是更合适的解决方案。既然您正在最大化这个函数,那么:

适应度 = a * A + b * B + c * C

在每个 GA 操作(交叉、突变等)中,请记住始终生成满足初始约束的新候选对象(a + b + c = 1a , b, c > 0)。

关于algorithm - 遗传算法与matlab如何使用分类精度作为适应度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10177726/

相关文章:

c - 合并两个已排序数组的困难

function - 使用向量的 MATLAB 函数

r - R 中奇怪的 svm 行为 (e1071)

python - 查找通信网络流量频率的算法

algorithm - 如何存储方程式/常数的冲击以求解任何元素方程式或数值

python - KenKen 拼图加数 : REDUX A (corrected) non-recursive algorithm

matlab - 错误 : Input grid is not a valid Meshgrid

matlab - 如何使用 MATLAB 自动填充任意图像?

python - NLTK最大熵分类器原始分数

python - CountVectorizer 值在分类器中单独工作,在添加其他功能时无法工作