다중 입력 및 다중 출력 | 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