• ywqh
    了解作者
  • matlab
    开发工具
  • 2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 11
    下载次数
  • 2017-12-21 20:58
    上传日期
该文件主要包含了Matlab条件下开发的SVM算法,该算法主要用于机器视觉的学习与分类
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)担任客座学者从事机器视觉研究教学工作
    • 机器视觉》 张广军
      计算机视觉的目标就是利用计算机来模拟与人类相当的视觉能力,使得计算机也能够像人类一样能够从二维图像中获取三维信息。在拥有这种能力的同时,还能够分析获取的三维信息,进一步得到现实世界中物体的形状、姿态等...