基于遗传算法的MATLAB权重优化

时间:2017-07-25 13:53:16

标签: algorithm matlab genetic-algorithm

我是遗传算法的新手,并希望你们可以帮助我。

我有一个数据集:

dataset = [[3 4 4 4]
          ;[2 3 2 3]
          ;[1 1 3 2]
          ;[3 2 4 3]
          ;[0 3 1 0]];

最后一列[4, 3, 2, 3, 0]代表实际标签;前三列代表特征向量[x1 x2 x3]

我想使用遗传算法来优化权重[w1 w2 w3]

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您的权重是您的优化变量。对于最基本的优化:

w = [w1 w2 w3];
x = [x1 x2 x3];
wOpt = ga(@fitnessfunc(w, x), length(w))

function y = fitnessfunc(w,x)
    y = w(1) * x(1) + w(2) * x(2) + w(3) * x(3);

有关ga函数调用的更多选项,请参阅MATLAB Documentation on ga;有关如何构建程序,请参阅Passing extra parameters

请记住,您的权重是您正在优化的变量。 dataset x值只是额外的参数。