一完整的SVM分类器的程序

一完整的SVM分类器的程序

ID:41566581

大小:60.63 KB

页数:9页

时间:2019-08-27

一完整的SVM分类器的程序_第1页
一完整的SVM分类器的程序_第2页
一完整的SVM分类器的程序_第3页
一完整的SVM分类器的程序_第4页
一完整的SVM分类器的程序_第5页
资源描述:

《一完整的SVM分类器的程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一完整的SVM分类器的程序求一完整的SVM分类器的程序,matlab编写的。推荐答案检举I2011-1-2118:19这个是非线性svm的:1•命令函数部分:clear;%清屏clc;X=load('data・txt');n=length(X);%总样本数量y=X(:,4);%类别标志X二X(:,1:3);TOL=0.0001;%精度要求C=1;%参数,对损失函数的权重b=0;%初始设置截距bWold=0;%未更新a时的W(a)Wnew=0;%更新a后的W(a)fori=1:50%设置类别标志为1或者-1y(i)=-1;enda=zeros(n,1);%参

2、数afori=1:n%随机初始化a,a属于[0,C]a(i)=0.2;end%为简化计算,减少重复计算进行的计算K=ones(n,n);fori=1:n%求出K矩阵,便于之后的计算forj二1:nK(i,j)=k(X(i,:),X(j,:));endendsum二zeros(n,1);%中间变量,便于之后的计算,sum(k)=sigmaa(i)*y(i)*K(k,i);fork=1:nfori二1:nsum(k)=sum(k)+a(i)*y(i)*K(i,k);endendwhile1%迭代过程%启发式选点nl二1;%初始化,nl,n2代表选择的2个点n2

3、=2;%nl按照笫一个违反KKT条件的点选择whilenl〈二nify(nl)*(sum(nl)+b)==1&&a(nl)>=C&&a(nl)<=0break;endify(nl)*(sum(nl)+b)>1&&a(nl)~二0break;endify(nl)*(sum(nl)+b)<1&&a(nl)~=Cbreak;endnl二nl+1;end%n2按照最大化IE1-E2

4、的原则选取El二0;E2二0;maxDiff二0;%假设的最大误差El=sum(nl)+b-y(nl);%nl的误差fori二1:ntempSum二sum(i)+b-y(i);ifab

5、s(El-tempSum)>maxDiffmaxDiff二abs(El-tempSum);n2二i;E2=tempSum;endend%以下进行更新alold二a(nl);a2old=a(n2);KK二K(nl,nl)+K(n2,n2)-2*K(nl,n2);a2new=a2old+y(n2)*(E1-E2)/KK;%计算新的a2%a2必须满足约束条件S二y(nl)*y(n2);ifS二二-1U=max(0,a2old一alold);V二min(C,C-alold+a2old);elseU二max(0,alold+a2old-C);V=min(C,alol

6、d+a2old);endifa2new>Va2new二V;endifa2new

7、j)*K(i,j);endWnew二Wnew+a.(i);endWnew二Wnew一0.5*tempSum;%以下更新b:通过找到某一个支持向量來计算support二1;%支持向量坐标初始化whileabs(a(support))

8、;ifi〈二50fprintf('-T);elsefprintf('r);endfprintf(J判别函数值%f分类结果,,sum(i)+b);ifabs(sum(i)+b-1)<0.5fprintf('l,);elseifabs(sum(i)+b+1)〈0.5fprintfC-l');elsefprintfC归类错误');endendend2•名为f的功能函数部分:functiony二k(xl,x2)y二exp(-0.5*norm(xl-x2).八2);end3.数据:0.8871-0.34918.337601.25191.20836.504

9、10-1.19251.93381.87900-0.12772.43

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。