⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_svm.html

📁 很好的matlab模式识别工具箱
💻 HTML
📖 第 1 页 / 共 5 页
字号:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'HorizontalAlignment'</span>,<span class=quotes>'center'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'FontUnits'</span>,<span class=quotes>'normalized'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Clipping'</span>,<span class=quotes>'on'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'FontSize'</span>,fsize);<br>&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;show&nbsp;comment</span><br>&nbsp;&nbsp;&nbsp;<span class=graph>set</span>(&nbsp;data.console,<span class=quotes>'String'</span>,consoletext&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;print&nbsp;title</span><br>&nbsp;&nbsp;&nbsp;pos=<span class=graph>get</span>(&nbsp;data.<span class=graph>axes</span>,<span class=quotes>'Position'</span>);<br>&nbsp;&nbsp;&nbsp;fsize=(1-pos(2)-pos(4))*1;<br>&nbsp;&nbsp;&nbsp;title(titletext,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Parent'</span>,&nbsp;data.<span class=graph>axes</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'VerticalAlignment'</span>,<span class=quotes>'bottom'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'HorizontalAlignment'</span>,<span class=quotes>'left'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'FontUnits'</span>,<span class=quotes>'normalized'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Units'</span>,<span class=quotes>'normalized'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Position'</span>,[0&nbsp;1&nbsp;0],...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'FontSize'</span>,fsize);<br><br><br><span class=comment>%&nbsp;==&nbsp;Calls&nbsp;Matlab`s&nbsp;info&nbsp;box&nbsp;==================================</span><br><span class=label>case</span>&nbsp;<span class=quotes>'info'</span><br>&nbsp;&nbsp;&nbsp;helpwin(mfilename);<br><span class=keyword>end</span><br><br><span class=jump>return</span>;<br><br><span class=comment>%===============================================================</span><br><span class=defun_kw>function</span>&nbsp;<span class=defun_out>[Alpha,bias]&nbsp;</span>=&nbsp;<span class=defun_name>svm_train</span>(<span class=defun_in>&nbsp;data,&nbsp;trn,&nbsp;ker,&nbsp;arg,&nbsp;C&nbsp;</span>)<br><br><span class=keyword>if</span>&nbsp;strcmpi(&nbsp;ker,&nbsp;<span class=quotes>'linear'</span>),<br>&nbsp;&nbsp;strarg&nbsp;=&nbsp;<span class=quotes>'-'</span>;<br><span class=keyword>else</span><br>&nbsp;&nbsp;strarg&nbsp;=&nbsp;num2str(&nbsp;arg);<br><span class=keyword>end</span><br><br>param&nbsp;=&nbsp;str2num(&nbsp;<span class=graph>get</span>(&nbsp;data.ed_param,<span class=quotes>'String'</span>));<br><br><span class=keyword>switch</span>&nbsp;<span class=graph>get</span>(&nbsp;data.pu_algo,&nbsp;<span class=quotes>'Value'</span>&nbsp;),<br>&nbsp;&nbsp;<span class=label>case</span>&nbsp;1&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;Sequential&nbsp;Minimal&nbsp;Optimizer</span><br><br><span class=comment>%&nbsp;&nbsp;&nbsp;if&nbsp;length(param)&nbsp;~=&nbsp;length(&nbsp;str2num(DEF_SMO_PARAM)),</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;param&nbsp;=&nbsp;str2num(DEF_SMO_PARAM);</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;end</span><br>&nbsp;&nbsp;&nbsp;<br><span class=comment>%&nbsp;&nbsp;&nbsp;[Alpha,bias,nsv,kercnt,trn_err,margin]=...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;smo(trn.X,trn.I,ker,arg,C,&nbsp;param(1),param(2)&nbsp;);</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.ker&nbsp;=&nbsp;ker;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.arg&nbsp;=&nbsp;arg;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.C&nbsp;=&nbsp;C;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.eps&nbsp;=&nbsp;param(1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.tol&nbsp;=&nbsp;param(2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model&nbsp;=&nbsp;smo(&nbsp;trn,&nbsp;options);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha&nbsp;=&nbsp;zeros(1,size(trn.X,2));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha(model.sv.inx)&nbsp;=&nbsp;model.Alpha(:)';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bias&nbsp;=&nbsp;model.b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nsv&nbsp;=&nbsp;model.nsv;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kercnt=model.kercnt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trn_err&nbsp;=&nbsp;model.trnerr;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin&nbsp;=&nbsp;model.margin;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;=&nbsp;<span class=io>sprintf</span>(...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class=quotes>'SVM&nbsp;(L1)&nbsp;by&nbsp;Sequential&nbsp;Minimal&nbsp;Optimizer\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Kernel:&nbsp;%s&nbsp;(%s),&nbsp;C:&nbsp;%.4f\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Kernel&nbsp;evaluations:&nbsp;%d\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Number&nbsp;of&nbsp;Support&nbsp;Vectors:&nbsp;%d\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Margin:&nbsp;%.4f\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Training&nbsp;error:&nbsp;%.2f%%'</span>],...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ker,&nbsp;strarg,&nbsp;C,&nbsp;kercnt,&nbsp;nsv,&nbsp;margin,&nbsp;100*trn_err&nbsp;);<br><br><span class=comment>%&nbsp;&nbsp;case&nbsp;2&nbsp;&nbsp;&nbsp;%&nbsp;Matlab&nbsp;Optimization&nbsp;toolbox&nbsp;(L1)</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model=svmmot(trn,&nbsp;{'ker',ker,'arg',arg,'C',C,'norm',1});</span><br><span class=comment>%</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha&nbsp;=&nbsp;zeros(1,size(trn.X,2));</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha(model.sv.inx)&nbsp;=&nbsp;model.Alpha;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bias&nbsp;=&nbsp;model.b;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nsv&nbsp;=&nbsp;model.nsv;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kercnt=model.kercnt;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trn_err&nbsp;=&nbsp;model.trnerr;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin&nbsp;=&nbsp;model.margin;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exitflag=model.exitflag;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;=&nbsp;sprintf(...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;['SVM&nbsp;(L1)&nbsp;using&nbsp;QUADPROG&nbsp;of&nbsp;the&nbsp;Optimization&nbsp;Toolbox\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Kernel:&nbsp;%s&nbsp;(%s),&nbsp;C:&nbsp;%.4f\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Exitflag:&nbsp;%d\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Kernel&nbsp;evaluations:&nbsp;%d\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Number&nbsp;of&nbsp;Support&nbsp;Vectors:&nbsp;%d\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Margin:&nbsp;%.4f\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Training&nbsp;error:&nbsp;%.2f%%'],...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ker,&nbsp;strarg,&nbsp;C,&nbsp;exitflag,&nbsp;kercnt,&nbsp;nsv,&nbsp;margin,100*trn_err);</span><br><span class=comment>%</span><br><span class=comment>%&nbsp;case&nbsp;3&nbsp;%&nbsp;Kernel&nbsp;Schlesinger-Kozinec's&nbsp;algorithm&nbsp;(L2)</span><br>&nbsp;&nbsp;<span class=label>case</span>&nbsp;2&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;Kernel&nbsp;Schlesinger-Kozinec's&nbsp;algorithm&nbsp;(L2)</span><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model=svmquadprog(trn,&nbsp;{<span class=quotes>'ker'</span>,ker,<span class=quotes>'arg'</span>,arg,<span class=quotes>'C'</span>,C,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'tolabs'</span>,param(1),<span class=quotes>'tolrel'</span>,0,<span class=quotes>'tmax'</span>,param(2)&nbsp;});<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha&nbsp;=&nbsp;zeros(1,size(trn.X,2));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha(model.sv.inx)&nbsp;=&nbsp;model.Alpha(:)';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bias&nbsp;=&nbsp;model.b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nsv&nbsp;=&nbsp;model.nsv;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kercnt=model.kercnt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trn_err&nbsp;=&nbsp;model.trnerr;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin&nbsp;=&nbsp;model.margin;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exitflag=model.exitflag;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>(&nbsp;exitflag&nbsp;==&nbsp;1),&nbsp;exitflag&nbsp;=&nbsp;<span class=quotes>'found'</span>;&nbsp;<span class=keyword>else</span>&nbsp;exitflag&nbsp;=&nbsp;<span class=quotes>'not&nbsp;found'</span>;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;=&nbsp;<span class=io>sprintf</span>(...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class=quotes>'SVM&nbsp;(L2)&nbsp;by&nbsp;Kernel&nbsp;Schlesinger-Kozinec`s&nbsp;algorithm\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Kernel:&nbsp;%s&nbsp;(%s),&nbsp;C:&nbsp;%.4f\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Solution:&nbsp;%s\n'</span>,&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Number&nbsp;of&nbsp;Support&nbsp;Vectors:&nbsp;%d\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Kernel&nbsp;evaluations:&nbsp;%d\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Margin:&nbsp;%.4f\n'</span>,...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=quotes>'Training&nbsp;error:&nbsp;%.2f%%'</span>],...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ker,&nbsp;strarg,&nbsp;C,&nbsp;exitflag,&nbsp;nsv,&nbsp;kercnt,&nbsp;margin,&nbsp;trn_err*100&nbsp;);<br><br><span class=comment>%&nbsp;&nbsp;case&nbsp;4&nbsp;&nbsp;&nbsp;%&nbsp;Matlab&nbsp;Optimization&nbsp;toolbox&nbsp;(L2)</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Alpha,bias,nsv,exitflag,flps,margin,trn_err]=...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;svm2mot(trn.X,trn.I,ker,arg,C);</span><br><span class=comment>%</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model=svmmot(trn,&nbsp;{'ker',ker,'arg',arg,'C',C,'norm',2});</span><br><span class=comment>%</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha&nbsp;=&nbsp;zeros(1,size(trn.X,2));</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha(model.sv.inx)&nbsp;=&nbsp;model.Alpha;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bias&nbsp;=&nbsp;model.b;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nsv&nbsp;=&nbsp;model.nsv;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kercnt=model.kercnt;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trn_err&nbsp;=&nbsp;model.trnerr;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin&nbsp;=&nbsp;model.margin;</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exitflag=model.exitflag;</span><br><span class=comment>%</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;=&nbsp;sprintf(...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;['SVM&nbsp;(L2)&nbsp;using&nbsp;QUADPROG&nbsp;of&nbsp;the&nbsp;Optimization&nbsp;Toolbox\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Kernel:&nbsp;%s&nbsp;(%s),&nbsp;C:&nbsp;%.4f\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Exitflag:&nbsp;%d\n',...</span><br><span class=comment>%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -