资源简介
最新智能算法matlab,具有较好的效果方便学习交流,具有很好的价值
代码片段和文件信息
tic % 计时器
%% 清空环境变量
close all
clear
clc
format compact
%% 数据提取
% 载入测试数据wine其中包含的数据为classnumber = 3wine:178*13的矩阵wine_labes:178*1的列向量
load wine.mat
% 选定训练集和测试集
% 将第一类的1-30第二类的60-95第三类的131-153做为训练集
train_wine = [wine(1:30:);wine(60:95:);wine(131:153:)];
% 相应的训练集的标签也要分离出来
train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)];
% 将第一类的31-59第二类的96-130第三类的154-178做为测试集
test_wine = [wine(31:59:);wine(96:130:);wine(154:178:)];
% 相应的测试集的标签也要分离出来
test_wine_labels = [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)];
%% 数据预处理
% 数据预处理将训练集和测试集归一化到[01]区间
[mtrainntrain] = size(train_wine);
[mtestntest] = size(test_wine);
dataset = [train_wine;test_wine];
% mapminmax为MATLAB自带的归一化函数
[dataset_scaleps] = mapminmax(dataset‘01);
dataset_scale = dataset_scale‘;
train_wine = dataset_scale(1:mtrain:);
test_wine = dataset_scale( (mtrain+1):(mtrain+mtest): );
%% 利用灰狼算法选择最佳的SVM参数c和g
SearchAgents_no=10; % 狼群数量,Number of search agents
Max_iteration=10; % 最大迭代次数,Maximum numbef of iterations
dim=2; % 此例需要优化两个参数c和g,number of your variables
lb=[0.010.01]; % 参数取值下界
ub=[100100]; % 参数取值上界
% v = 5; % SVM Cross Validation参数默认为5
% initialize alpha beta and delta_pos
Alpha_pos=zeros(1dim); % 初始化Alpha狼的位置
Alpha_score=inf; % 初始化Alpha狼的目标函数值,change this to -inf for maximization problems
Beta_pos=zeros(1dim); % 初始化Beta狼的位置
Beta_score=inf; % 初始化Beta狼的目标函数值,change this to -inf for maximization problems
Delta_pos=zeros(1dim); % 初始化Delta狼的位置
Delta_score=inf; % 初始化Delta狼的目标函数值,change this to -inf for maximization problems
%Initialize the positions of search agents
Positions=initialization(SearchAgents_nodimublb);
Convergence_curve=zeros(1Max_iteration);
l=0; % Loop counter循环计数器
% Main loop主循环
while l for i=1:size(Positions1) % 遍历每个狼
% Return back the search agents that go beyond the boundaries of the search space
% 若搜索位置超过了搜索空间,需要重新回到搜索空间
Flag4ub=Positions(i:)>ub;
Flag4lb=Positions(i:)
% 若狼的位置在最大值和最小值之间,则位置不需要调整,若超出最大值,最回到最大值边界;
% 若超出最小值,最回答最小值边界
Positions(i:)=(Positions(i:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb; % ~表示取反
% 计算适应度函数值
cmd = [‘ -c ‘num2str(Positions(i1))‘ -g ‘num2str(Positions(i2))];
model=svmtrain(train_wine_labelstrain_winecmd); % SVM模型训练
[~fitness]=svmpredict(test_wine_labelstest_winemodel); % SVM模型预测及其精度
fitness=100-fitness(1); % 以错误率最小化为目标
% Update Alpha Beta and Delta
if fitness Alpha_score=fitness; % 则将Alpha狼的目标函数值更新为最优目标函数值,Update alpha
Alpha_pos=Positions(i:); % 同时将Alpha狼的位置更新为最优位置
end
if fitness>Alpha_score && fitness Beta_score=fitness; % 则将Beta狼的目标函数值更新为最优目标函数值,Update beta
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1753133 2016-09-08 10:07 GWO\myself\GWO_finalVersion.pdf
文件 6625 2016-10-23 00:24 GWO\myself\GWO_SVM_exmp.m
文件 5780 2016-09-08 10:07 GWO\myself\GWO_SVR_exmp.m
文件 1845 2016-09-08 10:04 GWO\myself\initialization.m
文件 70 2016-09-08 10:04 GWO\myself\mymae.m
文件 85 2016-09-08 10:04 GWO\myself\mymape.m
文件 74 2016-09-08 10:04 GWO\myself\mymse.m
文件 20168 2016-09-08 10:08 GWO\myself\wine.mat
文件 447 2016-09-08 10:04 GWO\myself\wndspd.mat
文件 18039 2016-10-25 12:48 GWO\xuejies\cec09.m
文件 422 2016-10-25 12:48 GWO\xuejies\CreateEmptyParticle.m
文件 529 2016-10-25 12:48 GWO\xuejies\CreateHypercubes.m
文件 652 2016-10-25 12:48 GWO\xuejies\DeleteFromRep.m
文件 450 2016-10-25 12:48 GWO\xuejies\DetermineDomination.m
文件 172 2016-10-25 12:49 GWO\xuejies\Dominates.m
文件 107 2016-10-25 12:49 GWO\xuejies\GetCosts.m
文件 3644 2015-12-15 21:05 GWO\xuejies\GetGridIndex.m
文件 107 2016-10-25 12:49 GWO\xuejies\GetNonDominatedParticles.m
文件 352 2016-10-25 12:50 GWO\xuejies\GetOccupiedCells.m
文件 5623 2016-10-25 13:16 GWO\xuejies\MOGWO.asv
文件 5625 2016-10-24 23:39 GWO\xuejies\MOGWO.m
文件 88018 2016-10-25 12:56 GWO\xuejies\results.mat
文件 105 2016-10-25 12:48 GWO\xuejies\RouletteWheelSelection.m
文件 577 2016-10-25 12:50 GWO\xuejies\SelectLeader.m
文件 790 2016-10-25 12:50 GWO\xuejies\xboundary.m
目录 0 2016-10-23 22:55 GWO\myself
目录 0 2016-10-25 12:51 GWO\xuejies
目录 0 2016-10-24 23:03 GWO
----------- --------- ---------- ----- ----
1913439 28
............此处省略1个文件信息
相关资源
- 图像分割matlab
- DTLSDatagramTLS升级包
- 图像处理仿真
- 智能控制及其malab实现
- 数字图像处理 MATLAB版.中文版 第二版
- 小波分析的matlab仿真
- 基于小波变换的图像压缩与matlab仿真
- matlab的方差分析
- RLS的数据预测与matlab
- 粒子群算法优化3-5-3多项式工业机器人
-
切换系统仿真的simuli
nk - 人工萤火虫算法
- 细菌觅食算法的函数优化-matlab
- 匈牙利算法的函数优化matlab
- 人脸检测与MATLAB实现
- 指纹图像特征提取与matlab实现
- 线性系统基于观测器的状态反馈控制
- 万有引力搜索算法的函数优化-matlab
- bp模型优化预测与matlab仿真,pid参数优
- three phase voltage rectifier 三相电压型S
- Femtocell-Interference-management-using-FFR
- Outage Probability noma
- VOC2012devkit pascal voc2012工具
- STATCOM_PI 采用载波移相和PI控制器的(
- DCcontantvoltage 直流微电网恒压控制
- Outage
- powerquality MATLAB
- hvdc_vsc_4_terminals 技术是当今世界电力
- Staggered-grid-finite-difference 很简单的交
- 布谷鸟的搜索算法
评论
共有 条评论