粒子群优化支持向量机.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PSOSVM.m %function PSOSVM %%%PSO优化SVM参数 %% 清空环境 clc clear % load wine; % load wine_labels; % traindata= [wine(1:30,:);wine(60:95,:);wine(131:153,:)]; % train_label= [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)]; % test= [wine(31:59,:);wine(96:130,:);wine(154:178,:)]; % test_label= [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)]; % [traindata,pstrain] = mapminmax(traindata);%归一化到[0 1]范围. % pstrain.ymin = 0; % pstrain.ymax = 1; % [traindata,pstrain] = mapminmax(traindata,pstrain); % [test,pstest] = mapminmax(test); % pstest.ymin = 0; % pstest.ymax = 1; % [test,pstest] = mapminmax(test,pstest); % traindata = traindata; % test = test; load data; ? %% 参数初始化 %粒子群算法中的两个参数 c1 = 1; % c1 belongs to [0,2] c2 = 1; % c2 belongs to [0,2] maxgen=50;?? % 进化次数? sizepop=30;?? % 种群规模 popcmax=10^(2); popcmin=10^(-1); popgmax=10^(3); popgmin=10^(-2); k = 0.6; % k belongs to [0.1,1.0]; Vcmax = k*popcmax; Vcmin = -Vcmax ; Vgmax = k*popgmax; Vgmin = -Vgmax ; % SVM参数初始化? v = 3; %% 产生初始粒子和速度 for?i=1:sizepop ????% 随机产生种群 ????pop(i,1) = (popcmax-popcmin)*rand+popcmin;??? % 初始种群 ????pop(i,2) = (popgmax-popgmin)*rand+popgmin; ????V(i,1)=Vcmax*rands(1);? % 初始化速度 ????V(i,2)=Vgmax*rands(1); ????% 计算初始适应度 ????cmd = [-v ,num2str(v), -c ,num2str( pop(i,1) ), -g ,num2str( pop(i,2) )]; ????fitness(i) = svmtrain(T, P, cmd); ????? %???? ??? Error?using?== svmtrain % Group must be a vector. % % Error in == PSO2SVM at 57 %???? fitness(i) = svmtrain(train_label, traindata, cmd); ????fitness(i) = -fitness(i); end % 找极值和极值点 [global_fitness bestindex]=min(fitness); % 全局极值 local_fitness=fitness;?? % 个体极值初始化 global_x=pop(bestindex,:);?? % 全局极值点 local_x=pop;??? % 个体极值点初始化 tic %% 迭代寻优 for?i=1:maxgen ????? ????for?j=1:sizepop ????????? ????????%速度更新 ????????wV = 0.9; % wV best belongs to [0.8,1.2] ????????V(j,:) = wV*V(j,:) + c1*rand*(local_x(j,:) - pop(j,:)) + c2*rand*(global_x - pop(j,:)); ????????if?V(j,1) Vcmax ????????????V(j,1) = Vcmax; ????????end ????????if?V(j,1) Vcmin ????????

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档