赞
踩
1.MATLAB实现KOA-CNN开普勒算法优化卷积神经网络数据分类预测,多特征输入模型,运行环境Matlab2020b及以上;
2.基于开普勒算法(KOA)优化卷积神经网络(CNN)分类预测。
2023年新算法KOA-CNN开普勒优化卷积神经网络的数据分类预测,MATLAB程序,多行变量特征输入,优化了学习率、卷积核大小及卷积核个数等,方便增加维度优化自它参数
3.多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代图,混淆矩阵图.
4.data为数据集,输入12个特征,分四类;main为主程序,其余为函数文件,无需运行。
5.输出指标包括优化参数、精确度、召回率、精确率、F1分数。
[Order] = sort(PL_Fit); %% 对当前种群中的解的适应度值进行排序 %% 函数评估t时的最差适应度值 worstFitness = Order(SearchAgents_no); %% Eq.(11) M = M0 * (exp(-lambda * (t / Tmax))); %% Eq.(12) %% 计算表示太阳与第i个解之间的欧几里得距离R for i = 1:SearchAgents_no R(i) = 0; for j = 1:dim R(i) = R(i) + (Sun_Pos(j) - Positions(i, j))^2; %% Eq.(7) end R(i) = sqrt(R(i)); end %% 太阳和对象i在时间t的质量计算如下: for i = 1:SearchAgents_no sum = 0; for k = 1:SearchAgents_no sum = sum + (PL_Fit(k) - worstFitness); end MS(i) = rand * (Sun_Score - worstFitness) / (sum); %% Eq.(8) m(i) = (PL_Fit(i) - worstFitness) / (sum); %% Eq.(9) end %% 第2步:定义引力(F) % 计算太阳和第i个行星的引力,根据普遍的引力定律: for i = 1:SearchAgents_no Rnorm(i) = (R(i) - min(R)) / (max(R) - min(R)); %% 归一化的R(Eq.(24)) MSnorm(i) = (MS(i) - min(MS)) / (max(MS) - min(MS)); %% 归一化的MS Mnorm(i) = (m(i) - min(m)) / (max(m) - min(m)); %% 归一化的m Fg(i) = orbital(i) * M * ((MSnorm(i) * Mnorm(i)) / (Rnorm(i) * Rnorm(i) + eps)) + (rand); %% Eq.(6) end % a1表示第i个解在时间t的椭圆轨道的半长轴, for i = 1:SearchAgents_no a1(i) = rand * (T(i)^2 * (M * (MS(i) + m(i)) / (4 * pi * pi)))^(1/3); %% Eq.(23) end for i = 1:SearchAgents_no % a2是逐渐从-1到-2的循环控制参数 a2 = -1 - 1 * (rem(t, Tmax / Tc) / (Tmax / Tc)); %% Eq.(29) % ξ是从1到-2的线性减少因子 n = (a2 - 1) * rand + 1; %% Eq.(28) a = randi(SearchAgents_no); %% 随机选择的解的索引 b = randi(SearchAgents_no); %% 随机选择的解的索引 rd = rand(1, dim); %% 按照正态分布生成的向量 r = rand; %% r1是[0,1]范围内的随机数 %% 随机分配的二进制向量 U1 = rd < r; %% Eq.(21) O_P = Positions(i, :); %% 存储第i个解的当前位置 %% 第6步:更新与太阳的距离(第3、4、5在后面) if rand < rand % h是一个自适应因子,用于控制时间t时太阳与当前行星之间的距离 h = (1 / (exp(n * randn))); %% Eq.(27) % 基于三个解的平均向量:当前解、迄今为止的最优解和随机选择的解 Xm = (Positions(b, :) + Sun_Pos + Positions(i, :)) / 3.0; Positions(i, :) = Positions(i, :) .* U1 + (Xm + h .* (Xm - Positions(a, :))) .* (1 - U1); %% Eq.(26) else %% 参数设置 options = trainingOptions('adam', ... % Adam 梯度下降算法 'MaxEpochs', 10,... % 最大训练次数 'MiniBatchSize',best_hd, ... 'InitialLearnRate', best_lr,... % 初始学习率为0.001 'L2Regularization', best_l2,... % L2正则化参数 'LearnRateSchedule', 'piecewise',... % 学习率下降 'LearnRateDropFactor', 0.1,... % 学习率下降因子 0.1 'LearnRateDropPeriod', 400,... % 经过800次训练后 学习率 %% 训练 ;
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。