• 大小: 2.03MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-21
  • 语言: Matlab
  • 标签: matlab  代码  教程  

资源简介

本资源包含支持向量机的数学原理,多个代码例程文件,亲测matlab2018b通过,建议直接修改输入神经元个数和输入向量,另外,其算法接口与BP神经网络几乎完全一致,上手比较快

资源截图

代码片段和文件信息

%% I. 清空环境变量

%% II. 导入数据


%%
% 1. 随机产生训练集和测试集
n = randperm(size(matrix1));

%%
% 2. 训练集——80个样本
train_matrix = matrix(n(1:80):);
train_label = label(n(1:80):);

%%
% 3. 测试集——26个样本
test_matrix = matrix(n(81:end):);
test_label = label(n(81:end):);

%% III. 数据归一化
[Train_matrixPS] = mapminmax(train_matrix‘);
Train_matrix = Train_matrix‘;
Test_matrix = mapminmax(‘apply‘test_matrix‘PS);
Test_matrix = Test_matrix‘;

%% IV. SVM创建/训练(RBF核函数)
%%
% 1. 寻找最佳c/g参数——交叉验证方法
[cg] = meshgrid(-10:0.2:10-10:0.2:10);
[mn] = size(c);
cg = zeros(mn);
eps = 10^(-4);
v = 5;
bestc = 1;
bestg = 0.1;
bestacc = 0;
for i = 1:m
    for j = 1:n
        cmd = [‘-v ‘num2str(v)‘ -t 2‘‘ -c ‘num2str(2^c(ij))‘ -g ‘num2str(2^g(ij))];
        cg(ij) = svmtrain(train_labelTrain_matrixcmd);     
        if cg(ij) > bestacc
            bestacc = cg(ij);
            bestc = 2^c(ij);
            bestg = 2^g(ij);
        end        
        if abs( cg(ij)-bestacc )<=eps && bestc > 2^c(ij) 
            bestacc = cg(ij);
            bestc = 2^c(ij);
            bestg = 2^g(ij);
        end               
    end
end
cmd = [‘ -t 2‘‘ -c ‘num2str(bestc)‘ -g ‘num2str(bestg)];

%%
% 2. 创建/训练SVM模型
model = svmtrain(train_labelTrain_matrixcmd);

%% V. SVM仿真测试
[predict_label_1accuracy_1] = svmpredict(train_labelTrain_matrixmodel);
[predict_label_2accuracy_2] = svmpredict(test_labelTest_matrixmodel);
result_1 = [train_label predict_label_1];
result_2 = [test_label predict_label_2];

%% VI. 绘图
figure
plot(1:length(test_label)test_label‘r-*‘)
hold on
plot(1:length(test_label)predict_label_2‘b:o‘)
grid on
legend(‘真实类别‘‘预测类别‘)
xlabel(‘测试集样本编号‘)
ylabel(‘测试集样本类别‘)
string = {‘测试集SVM预测结果对比(RBF核函数)‘;
          [‘accuracy = ‘ num2str(accuracy_2(1)) ‘%‘]};
title(string)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-30 12:47  06 支持向量机(Support Vector Machine SVM)\
     文件      553665  2016-10-08 01:17  06 支持向量机(Support Vector Machine SVM)\Class_6.pdf
     目录           0  2018-07-04 00:20  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\
     目录           0  2018-08-30 12:42  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\
     文件        6802  2010-11-03 21:23  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\BreastTissue_data.mat
     目录           0  2018-08-30 12:41  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\html\
     文件       10246  2015-09-13 22:13  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\html\main.html
     文件        5730  2015-09-13 22:13  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\html\main.png
     文件       13144  2015-09-13 22:12  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\html\main_01.png
     文件        2010  2016-12-24 09:44  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\main.asv
     文件        1965  2016-12-24 09:47  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\Classification\main.m
     目录           0  2018-08-30 12:47  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\
     文件        3437  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\AFEm.m
     文件         603  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\MLP_kernel.m
     文件        1105  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\RBF_kernel.m
     文件        5785  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bay_errorbar.m
     文件        1998  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bay_initlssvm.m
     文件       10339  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bay_lssvm.m
     文件        8187  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bay_lssvmARD.m
     文件        9358  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bay_modoutClass.m
     文件        5843  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bay_optimize.m
     文件        4312  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bay_rr.m
     文件        1479  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\bitreverse32.m
     文件        5576  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\changelssvm.m
     文件        4744  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\cilssvm.m
     文件        4245  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\code.m
     文件        5194  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\code_ECOC.m
     文件         548  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\code_MOC.m
     文件         361  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\code_OneVsAll.m
     文件         576  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\code_OneVsOne.m
     文件        2107  2014-07-09 13:36  06 支持向量机(Support Vector Machine SVM)\Class_6_Code\LSSVM-1.6\codedist_bay.m
............此处省略338个文件信息

评论

共有 条评论