# SVM机器学习算法.rar

• ywqh
了解作者
• matlab
开发工具
• 2KB
文件大小
• rar
文件格式
• 0
收藏次数
• 10 积分
下载积分
• 11
下载次数
• 2017-12-21 20:58
上传日期

SVM机器学习算法.rar
• SVM方法
• kernel.m
633B
• svmSim.m
2.4KB
• SVM.m
1.1KB
• svmTrain.m
2.8KB

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';

相关推荐
• 常见的机器视觉软件.zip
对于任何一个机器视觉行业的从业人员，懂的使用任何其中一款机器视觉开发软件，有助于你提高对机器视觉检测的认识
• labview 机器 视觉 检测 项目代码
本人开发的一个机器视觉检测的项目（使用的是labview 视觉模块），适合初学者学习借鉴如何开发顺序控制程序、控制控件属性、视觉助手的使用、数据库的数据调用和储存等
• 机器视觉》 张广军
计算机视觉的目标就是利用计算机来模拟与人类相当的视觉能力，使得计算机也能够像人类一样能够从二维图像中获取三维信息。在拥有这种能力的同时，还能够分析获取的三维信息，进一步得到现实世界中物体的形状、姿态等...
• 视觉培训文档
就是玩一玩，都可以下载。毕竟都是自己写的。
• 机器视觉基础知识介绍
机器视觉基础知识介绍。Keyence培训资料。 包括CCD、镜头、照明、视觉检测、测量检测、位置调节、滤镜的相关内容。介绍的比较基础，适合作为机器视觉新入行人员的培训资料
• 机器视觉检测 20181126
机器视觉检测 .
• 机器视觉与控制.zip
本书是关于机器人学和机器视觉的实用参考书， 首部分“基础知识”（第2章和第3章）介绍机器人及其操作对象的位置和姿态描述，以及机器人路径和运动的表示方法；第二部分“移动机器人”（第4章至第6章）介绍其基本...
• 机器视觉-镜头矫正合集
机器视觉中，进行精确摄影测量工作前, 必须对普通数字相机进行严格的检校；否则容易导致算法解算不收敛或计算结果不准确。研究镜头畸变的规律,从而在硬件系统确定的条件下利用软件技术消除镜头畸变,对计算机视觉的...
• 机器视觉教程
本电子书一共有4个压缩档，请全部下载放在...《机器视觉算法与应用》(双语版)的三位作者在MVTec公司负责著名机器视觉算法软件包HALCON的研发工作，同时还在幕尼黑工业大学（TUM）担任客座学者从事机器视觉研究教学工作
• 机器视觉》 张广军
计算机视觉的目标就是利用计算机来模拟与人类相当的视觉能力，使得计算机也能够像人类一样能够从二维图像中获取三维信息。在拥有这种能力的同时，还能够分析获取的三维信息，进一步得到现实世界中物体的形状、姿态等...