複数の入力と複数の出力 | MATLAB は PSO-LSSVM 粒子群最適化の最小二乗サポート ベクター マシンを実装します 複数の入力と複数の出力

複数の入力と複数の出力 | MATLAB は PSO-LSSVM 粒子群最適化の最小二乗サポート ベクター マシンを実装します 複数の入力と複数の出力

予測効果

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します

基本的な紹介

MATLAB は PSO-LSSVM 粒子群最適化最小二乗サポート ベクター マシンを実装しています。多入力多出力
1.data は 10 個の入力特徴量と 3 個の出力変数を含むデータ セットです。
2.main.m はメイン プログラム ファイルです。
3. コマンド ウィンドウは MBE、MAE、R2 を出力し、データとプログラム コンテンツをダウンロード領域で取得できます。

プログラミング

  • 完全なプログラムとデータをダウンロードする方法: PSO-LSSVM 粒子群最適化最小二乗サポート ベクター マシンの複数入力と複数出力を実装するためにブロガーが MATLAB に返信するプライベート メッセージ
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  参数初始化
c1      = 4.494;       % 学习因子
c2      = 4.494;       % 学习因子
maxgen  =   50;        % 种群更新次数  
sizepop =    5;        % 种群规模
Vmax    =  1.0;        % 最大速度
Vmin    = -1.0;        % 最小速度
popmax  =  1.0;        % 最大边界
popmin  = -1.0;        % 最小边界
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
for i = 1 : sizepop
    pop(i, :) = rands(1, numsum);  % 初始化种群
    V(i, :) = rands(1, numsum);    % 初始化速度
    fitness(i) = fun(pop(i, :), hiddennum, net, p_train, t_train);
end
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  个体极值和群体极值
[fitnesszbest, bestindex] = min(fitness);
zbest = pop(bestindex, :);     % 全局最佳
gbest = pop;                   % 个体最佳
fitnessgbest = fitness;        % 个体最佳适应度值
BestFit = fitnesszbest;        % 全局最佳适应度值
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  迭代寻优
for i = 1 : maxgen
    for j = 1 : sizepop
        
        % 速度更新
        V(j, :) = V(j, :) + c1 * rand * (gbest(j, :) - pop(j, :)) + c2 * rand * (zbest - pop(j, :));
        V(j, (V(j, :) > Vmax)) = Vmax;
        V(j, (V(j, :) < Vmin)) = Vmin;
        
        % 种群更新
        pop(j, :) = pop(j, :) + 0.2 * V(j, :);
        pop(j, (pop(j, :) > popmax)) = popmax;
        pop(j, (pop(j, :) < popmin)) = popmin;
      
        
        % 适应度值
        fitness(j) = fun(pop(j, :), hiddennum, net, p_train, t_train);

    end
    
    for j = 1 : sizepop

        % 个体最优更新
        if fitness(j) < fitnessgbest(j)
            gbest(j, :) = pop(j, :);
            fitnessgbest(j) = fitness(j);
        end

 

    end

    BestFit = [BestFit, fitnesszbest];    
end

過去のハイライト

MATLAB は RBF 動径基底ニューラル ネットワークの多入力多出力予測を実装します。
MATLAB は BP ニューラル ネットワークの多入力多出力予測を実装します。
MATLAB は DNN ニューラル ネットワークの多入力多出力予測を実装します。

参考文献

[1] https://blog.csdn.net/kjm13182345320/article/details/116377961
[2] https://blog.csdn.net/kjm13182345320/article/details/127931217
[3] https://blog.csdn .net/kjm13182345320/article/details/127894261

おすすめ

転載: blog.csdn.net/kjm13182345320/article/details/132962689