多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出

多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出

目录

预测效果



基本介绍

多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出

一种多输入多输出的粒子群优化支持向量机数据回归预测Matlab程序PSO-MSVR非for循环实现 原理上进行修改多输出

1.data为数据集,10个输入特征,3个输出变量。

2.main.m为主程序文件。

3.命令窗口输出MBE、MAE和R2,可在下载区获取数据和程序内容。

程序设计

  • 完整程序和数据下载方式:私信博主回复多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出
clike 复制代码
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  参数初始化
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

相关推荐
浮生如梦_3 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
夏天里的肥宅水12 小时前
机器学习3_支持向量机_线性不可分——MOOC
人工智能·机器学习·支持向量机
机器学习之心2 天前
PCA-SVM分类预测 | Matlab实现PCA-SVM主成分分析结合支持向量机多特征分类预测
支持向量机·分类·多特征分类预测·pca-svm·主成分分析结合支持向量机
爱数学的程序猿3 天前
深入解密 K 均值聚类:从理论基础到 Python 实践
人工智能·机器学习·支持向量机
幻风_huanfeng3 天前
支持向量机背后的数学奥秘
算法·机器学习·支持向量机
十七算法实验室3 天前
Matlab实现海洋捕食者优化算法(MPA)求解路径规划问题
开发语言·算法·决策树·支持向量机·matlab·动态规划·启发式算法
阿牛牛阿3 天前
pairwise算法之rank svm
人工智能·算法·机器学习·支持向量机·ai·aigc
正义的彬彬侠6 天前
《SMO算法 公式推导》9-72选择两个变量α1和α2其它固定 公式解析
人工智能·机器学习·支持向量机·svm·smo·线性不可分支持向量机
goTsHgo7 天前
分类算法——支持向量机 详解
算法·机器学习·支持向量机
正义的彬彬侠8 天前
近似线性可分支持向量机的原理推导
人工智能·机器学习·支持向量机·svm·近似线性可分支持向量机