资源简介
网格搜索算法,优化向量机。对于向量机的参数进行最优化处理
代码片段和文件信息
%% SVM神经网络中的参数优化---如何更好的提升分类器的性能
%
%
% 该案例作者申明: 1:本人长期驻扎在此板块里,对该案例提问,做到有问必答。 2:此案例有配套的教学视频,配套的完整可运行Matlab程序。 3:以下内容为该案例的部分内容(约占该案例完整内容的1/10)。 4:此案例为原创案例,转载请注明出处(Matlab中文论坛,《Matlab神经网络30个案例分析》)。 5:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。 6:您看到的以下内容为初稿,书籍的实际内容可能有少许出入,以书籍实际发行内容为准。 7:此书其他常见问题、预定方式等,请点击这里。
%
%
%% 清空环境变量
function chapter13_GridSearch
close all;
clear;
clc;
format compact;
%% 数据提取
% 载入测试数据wine其中包含的数据为classnumber = 3wine:178*13的矩阵wine_labes:178*1的列向量
load chapter13_wine.mat;
% 画出测试数据的box可视化图
figure;
boxplot(wine‘orientation‘‘horizontal‘‘labels‘categories);
title(‘wine数据的box可视化图‘‘FontSize‘12);
xlabel(‘属性值‘‘FontSize‘12);
grid on;
% 画出测试数据的分维可视化图
figure
subplot(351);
hold on
for run = 1:178
plot(runwine_labels(run)‘*‘);
end
xlabel(‘样本‘‘FontSize‘10);
ylabel(‘类别标签‘‘FontSize‘10);
title(‘class‘‘FontSize‘10);
for run = 2:14
subplot(35run);
hold on;
str = [‘attrib ‘num2str(run-1)];
for i = 1:178
plot(iwine(irun-1)‘*‘);
end
xlabel(‘样本‘‘FontSize‘10);
ylabel(‘属性值‘‘FontSize‘10);
title(str‘FontSize‘10);
end
% 选定训练集和测试集
% 将第一类的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
% 首先进行粗略选择: c&g 的变化范围是 2^(-10)2^(-9)...2^(10)
[bestaccbestcbestg] = S
- 上一篇:MSK调制解调
- 下一篇:LFM信号仿真及ZAM时频变换
评论
共有 条评论