资源简介
支持向量机是一种基于统计学习理论的机器学习方法.在传统的支持向量机模型中,模型参数需要用试凑的办法,一个基于粒子群算法的参数选择机制,这可以大大减少模型的运算时间
代码片段和文件信息
%% 清空环境
clc
clear
data_set=xlsread(‘dataset.xlsx‘);
%% 训练样本输入/输出--
%%4类,每种类型有40组数据,
data_set1 = data_set(1:50:); % 40*11
data_set2 = data_set(51:100:);
data_set3 = data_set(101:150:);
data_set4 = data_set(151:200:);
%训练样本
m=30; % 每种选取前30组数据组成训练样本;
input_train_1=data_set1(1:m1:4); %%第一种类型选取前m组数据;
output_train_1=data_set1(1:m5); %%对应的标签页选择前m组,以此类推。。。。
input_train_2 =data_set2(1:m1:4);
output_train_2=data_set2(1:m5);
input_train_3 =data_set3(1:m1:4);
output_train_3=data_set3(1:m5);
input_train_4 =data_set4(1:m1:4);
output_train_4=data_set4(1:m5);
train_values=[input_train_1;input_train_2;input_train_3;input_train_4];
train_labels=[output_train_1;output_train_2;output_train_3;output_train_4];
%% 测试样本输入/输出--
input_test_1=data_set1(m+1:end1:4);
output_test_1=data_set1(m+1:end5);
input_test_2 =data_set2(m+1:end1:4);
output_test_2=data_set2(m+1:end5);
input_test_3 =data_set3(m+1:end1:4);
output_test_3=data_set3(m+1:end5);
input_test_4 =data_set4(m+1:end1:4);
output_test_4=data_set4(m+1:end5);
test_values=[input_test_1;input_test_2;input_test_3;input_test_4];
test_labels=[output_test_1;output_test_2;output_test_3;output_test_4];
[train_valuespstrain] = mapminmax(train_values‘);
pstrain.ymin = 0;
pstrain.ymax = 1;
[train_valuespstrain] = mapminmax(train_valuespstrain);
[test_valuespstest] = mapminmax(test_values‘);
pstest.ymin = 0;
pstest.ymax = 1;
[test_valuespstest] = mapminmax(test_valuespstest);
train_values = train_values‘;
test_values = test_values‘;
%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.6; % c1 belongs to [02]
c2 = 1.5; % c2 belongs to [02]
maxgen=300;% 进化次数
sizepop=30;% 种群规模
popcmax=10^(2);
popcmin=10^(-1);
popgmax=10^(3);
popgmin=10^(-2);
k = 0.6; % k belongs to [0.11.0];
Vcmax = k*popcmax;
Vcmin = -Vcmax ;
Vgmax = k*popgmax;
Vgmin = -Vgmax ;
% SVM参数初始化
v = 3;
%% 产生初始粒子和速度
for i=1:sizepop
% 随机产生种群
pop(i1) = (popcmax-popcmin)*rand+popcmin; % 初始种群
pop(i2) = (popgmax-popgmin)*rand+popgmin;
V(i1)=Vcmax*rands(1);% 初始化速度
V(i2)=Vgmax*rands(1);
% 计算初始适应度
cmd = [‘-v ‘num2str(v)‘ -c ‘num2str( pop(i1) )‘ -g ‘num2str( pop(i2) )];
fitness(i) = svmtrain(train_labels train_values 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.81.2]
V(j:) = wV*V(j:) + c1*rand*(local_x(j:) - pop(j:)) + c2*rand*(global_x - pop(j:));
if V(j1) > Vcmax
V(j1) = Vcmax;
end
if V(j1) < Vcmin
V(j1) = Vcmin;
end
if V(j2) > Vgmax
V(j2) = Vgmax;
end
if V(j2) < Vgmin
V(j2) = Vgmin;
end
%种群更新
wP = 0.6;
pop(j:)=pop(j:)+wP*V(j:);
if pop(j1) > popcmax
pop(j1) = popcmax;
end
if pop(j1) < popcmin
pop(j1) = popcmin;
end
if pop(j2) > popgmax
pop(j2) = popgmax;
end
if pop(j2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4374 2019-10-31 20:27 PSO-SVM\PSSVM.m
目录 0 2019-10-28 21:47 PSO-SVM
----------- --------- ---------- ----- ----
4374 2
- 上一篇:IEMOCAP Dataset
- 下一篇:天天影视E4A源码 支持在线支付 代理功能
相关资源
- EPUB格式转换为MOBI亲测可用
- Axure RP Extension for Chrome0.6.2亲测可用
- 大华摄像头抓图录像亲测可用
- PatchNavicat11.0.10破解文件亲测可用
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- altium designer 实用封装库 .pcblib亲测可
- 小程序小游戏你画我,猜亲测可用
- GTJ2021 6.0最新版亲测可用狗贩子那买的
- PIGCMS最新最全公众号运营平台完整版
- myeclipse2017 ci10 破解工具亲测可用
- 亲测可用 制作纯DOS的U盘启动工具(
- 中国移动 M5310 模组资料 DEMO 例程- S
- DuBrute3.1密码破解软件,无害,亲测可
- 活动发布,活动报名小程序源码带后
- 非常好看的Metro风格留言板源码,(亲
- 免费分享志汇餐饮外卖小程序 9.2小程
- 人脸识别三套源码含小程序源码亲测
- chromedriver_win32适用于 72.0.3626.119正式版
- 广联达最新通用修复工具 亲测可用
- HP DL380 ilo密码清除,重置
- 基于opencv的手势识别程序,亲测可用
- win各系列系统实现多用户同时登陆方
- xilinx vivado srio license (各版本亲测可
- E430c亲测可用黑苹果驱动程序-ML系统
- rs422驱动,亲测可用。
- 基于51单片机的简易示波器代码部分亲
- H+ hplus V4.1.0最新版源码亲测可用
- SharpSvn.dll亲测可用
- vspd_7.1.289破解版-自己电脑win7-64位-亲
- origin8.5破解文件-win10 64位亲测可用
评论
共有 条评论