代码之家  ›  专栏  ›  技术社区  ›  Mohammad Zain Abbas

MATLAB中遗传算法在权重优化中的应用

  •  0
  • Mohammad Zain Abbas  · 技术社区  · 7 年前

    我有一个数据集:

    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 回复  |  直到 7 年前
        1
  •  0
  •   Justin Wager    7 年前

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

    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);
    

    看见 MATLAB Documentation on ga ga 函数调用和 Passing extra parameters 了解如何构建程序。

    dataset x 值只是额外的参数。