资源简介
用matlab编程实现支持向量机分类,核函数选取,超平面建立等
代码片段和文件信息
%主函数
clear all;
close all;
C = 10;
kertype = ‘linear‘;
%训练样本
n = 50;
randn(‘state‘6);
x1 = randn(2n); %2行N列矩阵
y1 = ones(1n); %1*N个1
x2 = 5+randn(2n); %2*N矩阵
y2 = -ones(1n); %1*N个-1
figure;
plot(x1(1:)x1(2:)‘bx‘x2(1:)x2(2:)‘k.‘);
axis([-3 8 -3 8]);
hold on;
X = [x1x2]; %训练样本d*n矩阵,n为样本个数,d为特征向量个数
Y = [y1y2]; %训练目标1*n矩阵,n为样本个数,值为+1或-1
svm = svmtrain(XYkertypeC);
plot(svm.Xsv(1:)svm.Xsv(2:)‘ro‘);
%测试
[x1x2] = meshgrid(-2:0.05:7-2:0.05:7); %x1和x2都是181*181的矩阵
[rowscols] = size(x1);
nt = rows*cols;
Xt = [reshape(x11nt);reshape(x21nt)];
Yt = ones(1nt);
result = svmtest(svm Xt Yt kertype);
Yd = reshape(resultYrowscols);
contour(x1x2Yd‘m‘);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function svm = svmtrain(XYkertypeC)
options = optimset; % Options是用来控制算法的选项参数的向量
options.LargeScale = ‘off‘;
options.Display = ‘off‘;
n = length(Y);
H = (Y‘*Y).*kernel(XXkertype);
f = -ones(n1); %f为1*n个-1f相当于Quadprog函数中的c
A = [];
b = [];
Aeq = Y; %相当于Quadprog函数中的A1b
- 上一篇:作业车间调度matlab源码及解析
- 下一篇:基于matlab实现gold码
相关资源
- 非线性SVM算法-matlab实现
- SVM工具箱(matlab中运行)
- matlab版的车牌识别程序
- SVM的回归预测分析——上证指数开盘
- 印章识别matlab代码
- ibsvm-3.21
- 果蝇参数寻优FOA-LSSVM的完整程序
- 利用WOA算法优化libsvm中SVDD算法的参数
- svm支持向量机与nbc朴素贝叶斯算法比
- SVM的matlab代码
- 混凝土抗压强度预测_SVM_Matlab_归一_
- 基于SVM的回归预测分析
- libsvm数据格式转换程序
- 基于SVM的matlab车牌识别
- hog+svm图像二分类
- 基于PCA和SVM的人脸识别.zip
- 《MATLAB 神经网络30个案例分析》所有
- SVM分类与回归的matlab代码
- 基于LABVIEW和MATLAB混合编程障碍物识别
- svm 支持向量机 回归 预测
- libsvm - 支持多类别分类的svm工具箱m
- 经典SVM算法的MATLAB程序
- 蚁群优化SVM系数
- SVM-KM Matlab源程序
- 模式识别课程作业 基于svm的人脸识别
- MATLAB的SVM安装包drtoolbox_libsvm-3.17
- SVM算法对MNIST数据集分类
- 遗传算法优化支持向量机GASVM
- 经典SVM算法matlab程序
- SVM分类器.zip
评论
共有 条评论