基于MATLAB的图像SVM分类

• l8_824315
了解作者
• 2.7KB
文件大小
• zip
文件格式
• 0
收藏次数
• VIP专享
资源类型
• 0
下载次数
• 2022-04-26 09:19
上传日期

9、SVM方法.zip
• 9、SVM方法
• svmSim.m
2.4KB
• svmTrain.m
2.8KB
• SVM.m
1.1KB
• kernel.m
633B

function svm = svmTrain(svmType,X,Y,ker,p1,p2) % SVM Classification: % svm = svmTrain('svc_c',x,y,ker,C); % svm = svmTrain('svc_nu',x,y,ker,nu); % % One-Class SVM: % svm = svmTrain('svm_one_class',x,[],ker,nu); % % SVM Regression: % svm = svmTrain('svr_epsilon',x,y,ker,C,e); % svm = svmTrain('svr_nu',x,y,ker,C,nu); options = optimset; options.LargeScale = 'off'; options.Display = 'off'; switch svmType case 'svc_c', C = p1; n = length(Y); H = (Y'*Y).*kernel(ker,X,X); f = -ones(n,1); A = []; b = []; Aeq = Y; beq = 0; lb = zeros(n,1); ub = C*ones(n,1); a0 = zeros(n,1); [a,fval,eXitflag,output,lambda] = quadprog(H,f,A,b,Aeq,beq,lb,ub,a0,options); case 'svc_nu', nu = p1; n = length(Y); H = (Y'*Y).*kernel(ker,X,X); f = zeros(n,1); A = -ones(1,n); b = -nu; Aeq = Y; beq = 0; lb = zeros(n,1); ub = ones(n,1)/n; a0 = zeros(n,1); [a,fval,eXitflag,output,lambda] = quadprog(H,f,A,b,Aeq,beq,lb,ub,a0,options); case 'svm_one_class', nu = p1; n = size(X,2); H = kernel(ker,X,X); f = zeros(n,1); for i = 1:n f(i,:) = -kernel(ker,X(:,i),X(:,i)); end A = []; b = []; Aeq = ones(1,n); beq = 1; lb = zeros(n,1); ub = ones(n,1)/(nu*n); a0 = zeros(n,1); [a,fval,eXitflag,output,lambda] = quadprog(H,f,A,b,Aeq,beq,lb,ub,a0,options); case 'svr_epsilon', C = p1; e = p2; n = length(Y); Q = kernel(ker,X,X); H = [Q,-Q;-Q,Q]; f = [e*ones(n,1)-Y';e*ones(n,1)+Y']; %f = [e*ones(n,1)+Y';e*ones(n,1)-Y']; A = []; b = []; Aeq = [ones(1,n),-ones(1,n)]; beq = 0; lb = zeros(2*n,1); ub = C*ones(2*n,1); a0 = zeros(2*n,1); [a,fval,eXitflag,output,lambda] = quadprog(H,f,A,b,Aeq,beq,lb,ub,a0,options); a = a(1:n)-a(n+1:end); case 'svr_nu', C = p1; nu = p2; n = length(Y); Q = kernel(ker,X,X); H = [Q,-Q;-Q,Q]; f = [-Y';+Y']; %f = [+Y';-Y']; A = []; b = []; Aeq = [ones(1,n),-ones(1,n);ones(1,2*n)]; beq = [0;C*n*nu]; lb = zeros(2*n,1); ub = C*ones(2*n,1); a0 = zeros(2*n,1); [a,fval,eXitflag,output,lambda] = quadprog(H,f,A,b,Aeq,beq,lb,ub,a0,options); a = a(1:n)-a(n+1:end); otherwise, end eXitflag % output svm svm.type = svmType; svm.ker = ker; svm.x = X; svm.y = Y; svm.a = a';

相关推荐
• 神经网络分类matlab程序
使用matlab编写的神经网络分类程序，方便实用 使用matlab编写的神经网络分类程序，方便实用 使用matlab编写的神经网络分类程序，方便实用 使用matlab编写的神经网络分类程序，方便实用
• 分类MATLAB程序
十几个程序，谱聚类的完整例子，有详细的例子，绝对物有所值，包括花朵分类，核函数等，MATLAB程序，下载绝对值得！包括研究生写论文，也是值得参考
• 模式分类matlab实现
duda给出的模式分类一书的matlab实现.
• SVM文本分类MatLAB源代码
SVM文本分类MatLAB源代码 为m-file格式
• 多层ELM进行MNIST手写字符分类MATLAB代码
多层ELM进行MNIST手写字符分类MATLAB代码，直接运行.m程序，如果现实内存溢出，请改小隐藏节点个数。
• Fisher分类MATLAB算法.rar
手写数字识别Fisher分类MATLAB算法。内有程序，8个数字样本的训练样本。数字的特征提取部分解压后请见project report.ppt.
• 高维多标签分类matlab
高维多标签分类matlab knn，svm，随机森林等算法 784维数据 分为10类
• svm多分类matlab程序
svm多分类matlab程序,包括一对一、一对余等二叉树分类算法
• 神经网络分类matlab程序
使用matlab编写的神经网络分类程序，方便实用
• 朴素贝叶斯分类matlab实现
分类算法是统计学分类方法，它是一类利用概率统计知识进行分类的算法。在许多场合，朴素贝叶斯(Naïve Bayes，NB)分类算法可以与决策树和神经网络分类算法相媲美，该算法能运用到大型数据库中，且方法简单、分类...