<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/625cf43ebe9ad24cfa6fc1cf/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625cf43ebe9ad24cfa6fc1cf/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">上海交通大学模式分析与机器智能实验室<span class="ff2"> </span></div><div class="t m0 x2 h3 y2 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y3 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y4 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y5 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y6 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x3 h4 y7 ff3 fs1 fc0 sc0 ls0 ws0">LibSVM-2.6<span class="_"> </span><span class="ff4 sc1 ls1">程序代码注释</span> </div><div class="t m0 x2 h3 y8 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y9 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 ya ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 yb ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 yc ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 yd ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 ye ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 yf ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y10 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y11 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y12 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y13 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y14 ff2 fs1 fc0 sc0 ls0 ws0"> </div><div class="t m0 x2 h3 y15 ff2 fs1 fc0 sc0 ls0 ws0"> </div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625cf43ebe9ad24cfa6fc1cf/bg2.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">上海交通大学模式分析与机器智能实验室<span class="ff2"> </span></div><div class="t m0 x1 h5 y16 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x4 h5 y17 ff5 fs2 fc0 sc0 ls0 ws0">我不经心地,服下你调好的毒<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y18 ff5 fs2 fc0 sc0 ls0 ws0">我知道今后我将万劫不复<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y19 ff5 fs2 fc0 sc0 ls0 ws0">但是你的红唇仍让我屈服<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y1a ff5 fs2 fc0 sc0 ls0 ws0">四月的樱花火红满天<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y1b ff5 fs2 fc0 sc0 ls0 ws0">我和你的梦,却要一以何处去缱绻?<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y1c ff5 fs2 fc0 sc0 ls0 ws0">虽然人间的情爱万万千千<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y1d ff5 fs2 fc0 sc0 ls0 ws0">世上已有太多崩毁的誓言<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y1e ff5 fs2 fc0 sc0 ls0 ws0">七个黑夜,七个白天<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y1f ff5 fs2 fc0 sc0 ls0 ws0">我为你写下的歌,彩绘的纸笺<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y20 ff5 fs2 fc0 sc0 ls0 ws0">却只能随着晚风<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y21 ff5 fs2 fc0 sc0 ls0 ws0">飘在大海的岸边<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y22 ff5 fs2 fc0 sc0 ls0 ws0">我仍愿服下你精心为我调好的毒<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y23 ff5 fs2 fc0 sc0 ls0 ws0">从你那深情的吻<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y24 ff5 fs2 fc0 sc0 ls0 ws0">吞下我与你在人间<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y25 ff5 fs2 fc0 sc0 ls0 ws0">最后的流光万千辗转朱颜……<span class="ff2 ls2"> </span></div><div class="t m0 x4 h5 y26 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x4 h5 y27 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x4 h5 y28 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y29 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x4 h5 y2a ff2 fs2 fc0 sc0 ls0 ws0"> </div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625cf43ebe9ad24cfa6fc1cf/bg3.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">上海交通大学模式分析与机器智能实验室<span class="ff2"> </span></div><div class="t m0 x4 h5 y16 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x5 h6 y2b ff4 fs3 fc0 sc0 ls0 ws0">第一节:<span class="ff2 ls3 ws1"> SVM.h<span class="_ _0"> </span></span>文件<span class="ff2"> </span></div><div class="t m0 x1 h5 y2c ff2 fs2 fc1 sc0 ls4 ws0">struct<span class="fc0 ls0"> </span><span class="ls5">svm_node<span class="fc0 ls0"> </span></span></div><div class="t m0 x1 h5 y2d ff2 fs2 fc0 sc0 ls6 ws0">{ </div><div class="t m0 x1 h5 y2e ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 ls8">index</span><span class="ls7">; </span></div><div class="t m0 x1 h5 y2f ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2 lsa">value</span><span class="ls7">; </span></div><div class="t m0 x1 h5 y30 ff2 fs2 fc0 sc0 lsb ws0">}; </div><div class="t m0 x1 h7 y31 ff3 fs2 fc1 sc0 lsc ws0">struct<span class="fc0 ls0"> </span><span class="lsd">svm_node<span class="_"> </span><span class="ff5 fc0 ls0">用来存储单一向量中的单个特征,例如:<span class="ff2"> </span></span></span></div><div class="t m0 x1 h5 y32 ff5 fs2 fc0 sc0 ls0 ws0">向量<span class="ff2 lse ws2"> <span class="_"> </span>x1={ 0.002, 0.345, 4, 5.677}; </span></div><div class="t m0 x1 h5 y33 ff5 fs2 fc0 sc0 ls0 ws0">那么用<span class="_ _2"> </span><span class="ff2 fc1 lsf">struct</span><span class="ff2"> <span class="fc1 ls9">svm<span class="_ _3"></span>_node<span class="_"> </span><span class="ff5 fc0 ls0">来存储时就使<span class="_ _3"></span>用一个包含<span class="_ _2"> </span><span class="ff2">5<span class="_"> </span></span>个<span class="_ _2"> </span><span class="ff2 ls9">svm<span class="_ _3"></span>_node<span class="_"> </span><span class="ff5 ls0">的数组来存储此<span class="_ _2"> </span><span class="ff2">4<span class="_ _4"> </span></span>维向量,<span class="_ _5"></span>内存</span></span></span></span></span></div><div class="t m0 x1 h5 y34 ff5 fs2 fc0 sc0 ls0 ws0">映象如下:<span class="ff2"> </span></div><div class="t m0 x6 h5 y35 ff2 fs2 fc0 sc0 ls9 ws3">1 2 3 4 </div><div class="t m0 x7 h5 y36 ff5 fs2 fc0 sc0 ls0 ws0">-<span class="ff2 ls9">1 </span></div><div class="t m0 x8 h5 y37 ff2 fs2 fc0 sc0 ls10 ws4">0.002 0.345 </div><div class="t m0 x9 h5 y38 ff2 fs2 fc0 sc0 ls0 ws0">4<span class="ff5">.</span><span class="ls9">000 </span></div><div class="t m0 xa h5 y37 ff2 fs2 fc0 sc0 ls10 ws0">5.677 </div><div class="t m0 xb h5 y38 ff5 fs2 fc0 sc0 ls0 ws0">空<span class="ff2"> </span></div><div class="t m0 x1 h5 y39 ff5 fs2 fc0 sc0 ls0 ws0">其中如果<span class="_ _2"> </span><span class="ff2 lsa">value<span class="_"> </span></span>为<span class="_ _4"> </span><span class="ff2 ls11">0.00,</span>该特征将不会被存储,其中<span class="ff2">(</span>特征<span class="_ _2"> </span><span class="ff2 ls9">3)</span>被跳过:<span class="ff2"> </span></div><div class="t m0 x6 h5 y3a ff2 fs2 fc0 sc0 ls9 ws3">1 2 4 5 </div><div class="t m0 x7 h5 y3b ff5 fs2 fc0 sc0 ls0 ws0">-<span class="ff2 ls9">1 </span></div><div class="t m0 x8 h5 y3c ff2 fs2 fc0 sc0 ls10 ws4">0.002 0.345 </div><div class="t m0 x9 h5 y3d ff2 fs2 fc0 sc0 ls0 ws0">4<span class="ff5">.</span><span class="ls9">000 </span></div><div class="t m0 xa h5 y3c ff2 fs2 fc0 sc0 ls10 ws0">5.677 </div><div class="t m0 xb h5 y3d ff5 fs2 fc0 sc0 ls0 ws0">空<span class="ff2"> </span></div><div class="t m0 x1 h5 y3e ff2 fs2 fc0 sc0 ls9 ws0">0.00<span class="_"> </span><span class="ff5 ls0">不保留的<span class="_ _3"></span>好处在于,<span class="_ _6"></span>做点乘的时候,<span class="_ _6"></span>可以加快<span class="_ _3"></span>计算速度,<span class="_ _6"></span>对于稀疏矩阵,<span class="_ _6"></span>更<span class="_ _3"></span>能充分体现这种</span></div><div class="t m0 x1 h5 y3f ff5 fs2 fc0 sc0 ls0 ws0">数据结构的优势。但做归一化时,操作就比较麻烦了。<span class="ff2"> </span></div><div class="t m0 x1 h5 y40 ff5 fs2 fc0 sc0 ls0 ws0">(类型转换不再说明)<span class="ff2"> </span></div><div class="t m0 x1 h5 y41 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y42 ff2 fs2 fc1 sc0 ls4 ws0">struct<span class="fc0 ls0"> </span><span class="ls12">svm_problem<span class="_ _3"></span><span class="fc0 ls0"> </span></span></div><div class="t m0 x1 h5 y43 ff2 fs2 fc0 sc0 ls6 ws0">{ </div><div class="t m0 x1 h5 y44 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2">l</span><span class="ls7">; </span></div><div class="t m0 x1 h5 y45 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span><span class="ls13"> *</span><span class="fc2">y</span><span class="ls7">; </span></div><div class="t m0 x1 h5 y46 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls4">struct</span> <span class="fc1 ls5">svm_node</span><span class="ls14 ws5"> **</span><span class="fc2">x</span><span class="ls7">; </span></div><div class="t m0 x1 h5 y47 ff2 fs2 fc0 sc0 lsb ws0">}; </div><div class="t m0 x1 h7 y48 ff3 fs2 fc1 sc0 lsc ws0">struct<span class="fc0 ls0"> </span><span class="ls15">svm_problem<span class="ff5 fc0 ls0">存储本次参加运算的所有样本(数据集)<span class="_ _7"></span>,及其所属类别。在某些数据挖掘</span></span></div><div class="t m0 x1 h5 y49 ff5 fs2 fc0 sc0 ls0 ws0">实现中,常用<span class="ff2 ls16">DataSet</span>来实现。<span class="ff2"> </span></div><div class="t m0 x1 h5 y4a ff2 fs2 fc0 sc0 ls7 ws6">int l;<span class="ff5 ls0 ws0">记录样本总数<span class="ff2"> </span></span></div><div class="t m0 x1 h5 y4b ff2 fs2 fc0 sc0 ls17 ws7">double *y;<span class="ff5 ls0 ws0">指向样本所属类别的数组。<span class="_ _3"></span>在多类问题中,<span class="_ _8"></span>因为使用了<span class="ff2 ls12">one-agia<span class="_ _3"></span>nst-one<span class="ff5 ls18">方法,<span class="_ _3"></span>可能原始</span></span></span></div><div class="t m0 x1 h5 y4c ff5 fs2 fc0 sc0 ls0 ws0">样本中<span class="ff2 ls19">y[i]</span>的内容是<span class="ff2 ls9">1.0</span>,<span class="_ _5"></span><span class="ff2 ls9">2.<span class="_ _3"></span>0<span class="ff5 ls0">,<span class="_ _5"></span><span class="ff2 ls9">3.0<span class="ff5 ls0">,<span class="_ _5"></span><span class="ff2 ls18">…,<span class="ff5 ls0">但参与多类计算时,<span class="_ _5"></span>参加分类<span class="_ _3"></span>的两类所对应的<span class="ff2 ls19">y[i]</span>内容是<span class="ff2 ls1a">+1,</span></span></span></span></span></span></span></div><div class="t m0 x1 h5 y4d ff5 fs2 fc0 sc0 ls0 ws0">和-<span class="ff2">1</span>。<span class="ff2"> </span></div><div class="t m0 x1 h5 y4e ff2 fs2 fc3 sc0 ls12 ws8">Struct<span class="_ _3"></span> svm_node **x<span class="fc0 ls0 ws0">;<span class="ff5">指向一个存储内容为指针的数组;</span> </span></div><div class="t m0 x1 h5 y4f ff5 fs2 fc0 sc0 ls0 ws0">如下图<span class="ff2">,</span>最右边的四个长条格同上表,存储三维数据。<span class="ff2">(</span>黑边框的是最主要的部分<span class="ff2 ls1b">) </span></div><div class="t m0 x1 h5 y50 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y51 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y52 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y53 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y54 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y55 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y56 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y57 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y58 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 xc h8 y59 ff2 fs4 fc0 sc0 ls1c ws0">Y[3] </div><div class="t m0 xc h8 y5a ff2 fs4 fc0 sc0 ls1c ws0">Y[2] </div><div class="t m0 xc h8 y5b ff2 fs4 fc0 sc0 ls1c ws0">Y[1] </div><div class="t m0 xc h8 y5c ff2 fs4 fc0 sc0 ls1c ws0">Y[0] </div><div class="t m0 xd h8 y5d ff2 fs4 fc0 sc0 ls1d ws0">L=4 </div><div class="t m0 xd h8 y5e ff2 fs4 fc0 sc0 ls1c ws0">Y* </div><div class="t m0 xd h8 y5f ff2 fs4 fc0 sc0 ls1e ws0">X** </div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625cf43ebe9ad24cfa6fc1cf/bg4.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">上海交通大学模式分析与机器智能实验室<span class="ff2"> </span></div><div class="t m0 x4 h5 y60 ff5 fs2 fc0 sc0 ls0 ws0">这样的数据结构有一个直接的好处,可以用<span class="ff2 ls10">x[i][j]</span>来访问其中的某一元素(如果<span class="ff2 lsa">value</span>为<span class="ff2 ls5">0.00</span></div><div class="t m0 x1 h5 y61 ff5 fs2 fc0 sc0 ls0 ws0">的也全部保留的话)<span class="ff2"> </span></div><div class="t m0 x4 h5 y62 ff5 fs2 fc0 sc0 ls0 ws0">私下认为其中有一个败笔,就是把<span class="ff2 ls1f ws9">svm_node* x_space</span>放到结构外面去了。<span class="ff2"> </span></div><div class="t m0 x1 h5 y63 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y64 ff2 fs2 fc1 sc0 ls20 ws0">enum<span class="fc0 ls21 wsa"> { </span><span class="fc4 ls22">C_SVC<span class="fc0 ls13">, </span><span class="ls23">NU_SVC<span class="fc0 ls13">, <span class="_ _3"></span><span class="fc4 ls24">ONE_CLASS<span class="fc0 ls13">, </span><span class="ls25">EPSILON_SVR<span class="fc0 ls13">, </span><span class="ls23">NU_SVR<span class="fc0 ls26 wsb"> };<span class="fc3 ls6 wsc">/* svm_type */</span><span class="ls0 ws0"> </span></span></span></span></span></span></span></span></div><div class="t m0 x1 h5 y65 ff2 fs2 fc1 sc0 ls20 ws0">enum<span class="fc0 ls21 wsa"> { </span><span class="fc4 ls27">LINEAR<span class="fc0">, </span><span class="lsf">POLY<span class="fc0 ls13">, </span><span class="ls28">RBF<span class="fc0 ls13">, </span><span class="ls20">SIGMOID<span class="fc0 ls29 wsd"> }; <span class="_ _0"> </span><span class="fc3 ls25 wse">/* kernel_type */</span><span class="ls0 ws0"> </span></span></span></span></span></span></div><div class="t m0 x1 h5 y66 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y67 ff2 fs2 fc1 sc0 ls4 ws0">struct<span class="fc0 ls0"> </span><span class="ls25">svm_param<span class="_ _3"></span>eter<span class="fc0 ls0"> </span></span></div><div class="t m0 x1 h5 y68 ff2 fs2 fc0 sc0 ls6 ws0">{ </div><div class="t m0 x1 h5 y69 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 ls15">svm_type</span><span class="ls2a">;//SVM</span><span class="ff5">类型,见前</span><span class="ls20">enum<span class="_ _3"></span> </span></div><div class="t m0 x1 h5 y6a ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 ls13">kernel_type</span><span class="ls7">;//</span><span class="ff5">核函数</span> </div><div class="t m0 x1 h5 y6b ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2 ls24">degree</span><span class="ls7">; <span class="_ _9"></span><span class="fc3 ls5 wsf">/* for poly */ <span class="_"> </span></span></span> </div><div class="t m0 x1 h5 y6c ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2 ls2b">gamma<span class="_ _a"></span></span><span class="ls7">; <span class="_ _b"></span><span class="fc3 ls14 ws5">/* for poly/rbf/si<span class="_ _3"></span>gmoid */<span class="fc0 ls0 ws0"> </span></span></span></div><div class="t m0 x1 h5 y6d ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2 ls24">coef0</span><span class="ls7">; <span class="_ _c"> </span><span class="fc3 ls14 ws5">/* for poly/sigm<span class="_ _3"></span>oid */<span class="fc0 ls0 ws0"> </span></span></span></div><div class="t m0 x1 h5 y6e ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y6f ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc3 ls15 ws10">/* these are for training only */</span> </div><div class="t m0 x1 h5 y70 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2 ls21">cache_size</span><span class="ls7">; <span class="fc3 ls2c ws11">/* in MB */</span></span> </div><div class="t m0 x1 h5 y71 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2 lsa">eps</span><span class="ls7">; <span class="_ _d"> </span><span class="fc3 ls12 ws8">/* stopping criteri<span class="_ _3"></span>a */<span class="fc0 ls0 ws0"> </span></span></span></div><div class="t m0 x1 h5 y72 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2">C</span><span class="ls7">; </span></div><div class="t m0 xe h5 y73 ff2 fs2 fc3 sc0 lsa ws12">/* for C_SVC, EPSILON_SVR and NU_SVR */<span class="fc0 ls0 ws0"> </span></div><div class="t m0 x1 h5 y74 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 lse">nr_weight</span><span class="ls7 ws13">; <span class="_ _d"> </span><span class="fc3 ls2d ws14">/* for C_SVC */</span></span> </div><div class="t m0 x1 h5 y75 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span><span class="ls13"> *<span class="fc2">weight_label</span><span class="ls7">; <span class="_ _e"> </span><span class="fc3 ls2d ws14">/* for C_SVC */</span></span></span> </div><div class="t m0 x1 h5 y76 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double<span class="fc0">* <span class="fc2 ls20">weight</span><span class="ls7 ws15">; <span class="_ _f"> </span><span class="fc3 ls2d ws14">/* for C_SVC */</span></span></span></span> </div><div class="t m0 x1 h5 y77 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2 ls9">nu</span><span class="ls7">; <span class="_ _10"> </span><span class="fc3 ls25 wse">/* for NU_SVC, ONE_CLASS, and NU_SVR */</span></span> </div><div class="t m0 x1 h5 y78 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span> <span class="fc2">p</span><span class="ls7">; <span class="_ _f"> </span><span class="fc3 lsd ws16">/* for EPSILON_SVR */</span></span> </div><div class="t m0 x1 h5 y79 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 ls14">shrinking</span><span class="ls7">; <span class="_ _11"> </span><span class="fc3 ls1f ws9">/* use the shrinking heuristi<span class="_ _3"></span>cs */<span class="fc0 ls0 ws0"> </span></span></span></div><div class="t m0 x1 h5 y7a ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 ls7">prob<span class="_ _a"></span>ability<span class="fc0">; <span class="fc3 ls2e ws17">/* do p<span class="_ _a"></span>robability estimates */</span></span></span> </div><div class="t m0 x1 h5 y7b ff2 fs2 fc0 sc0 lsb ws0">}; </div><div class="t m0 x1 h5 y7c ff5 fs2 fc0 sc0 ls0 ws0">部分参数解释<span class="ff2 ls13">,(</span>附核函数<span class="ff2 ls1b">) </span></div><div class="t m0 x4 h5 y7d ff2 fs2 fc0 sc0 ls0 ws0">1<span class="ff5">、</span></div><div class="t m0 xf h9 y7e ff6 fs5 fc0 sc0 ls0 ws0">j</div><div class="t m0 x10 h9 y7f ff6 fs5 fc0 sc0 ls0 ws0">T</div><div class="t m0 x10 h9 y7e ff6 fs5 fc0 sc0 ls0 ws0">i<span class="_ _12"></span>j<span class="_ _13"></span>i</div><div class="t m0 x11 ha y80 ff6 fs6 fc0 sc0 ls0 ws0">x<span class="_ _13"></span>x<span class="_ _14"></span>x<span class="_ _15"></span>x<span class="_ _15"></span>K<span class="_ _16"> </span><span class="ff7">=<span class="_ _17"></span><span class="ff2">)<span class="_ _18"></span>,<span class="_ _19"></span>(<span class="_ _1a"> </span><span class="fs2"> </span></span></span></div><div class="t m0 x4 h5 y81 ff2 fs2 fc0 sc0 ls0 ws0">2<span class="ff5">、</span></div><div class="t m0 x9 ha y82 ff2 fs6 fc0 sc0 ls0 ws0">0<span class="_ _1b"></span>,<span class="_ _17"></span>)<span class="_ _1c"></span>(<span class="_ _1d"></span>)<span class="_ _18"></span>,<span class="_ _19"></span>(<span class="_ _1e"> </span><span class="ff7">><span class="_ _1f"></span>+<span class="_ _20"></span>=</span></div><div class="t m1 x12 hb y82 ff7 fs7 fc0 sc0 ls0 ws0">γ<span class="_ _21"></span>γ</div><div class="t m0 x13 h9 y83 ff6 fs5 fc0 sc0 ls0 ws0">d</div><div class="t m0 x14 h9 y84 ff6 fs5 fc0 sc0 ls0 ws0">j</div><div class="t m0 x15 h9 y83 ff6 fs5 fc0 sc0 ls0 ws0">T</div><div class="t m0 x15 h9 y84 ff6 fs5 fc0 sc0 ls0 ws0">i<span class="_ _22"></span>j<span class="_ _13"></span>i</div><div class="t m0 x16 hc y82 ff6 fs6 fc0 sc0 ls0 ws0">r<span class="_ _23"></span>x<span class="_ _13"></span>x<span class="_ _24"></span>x<span class="_ _15"></span>x<span class="_ _15"></span>K<span class="_ _25"> </span><span class="ff2 fs2"> </span></div><div class="t m0 x4 h5 y85 ff2 fs2 fc0 sc0 ls0 ws0">3<span class="ff5">、</span></div><div class="t m0 x17 hd y86 ff2 fs8 fc0 sc0 ls0 ws0">0<span class="_ _14"></span>),<span class="_ _26"></span>exp(<span class="_ _27"></span>)<span class="_ _18"></span>,<span class="_ _19"></span>(</div><div class="t m0 x18 he y87 ff2 fs9 fc0 sc0 ls0 ws0">2</div><div class="t m0 x19 hf y86 ff7 fs8 fc0 sc0 ls0 ws0">><span class="_ _28"></span>−<span class="_ _29"></span>−<span class="_ _2a"></span>=</div><div class="t m1 x1a h10 y86 ff7 fsa fc0 sc0 ls0 ws0">γ<span class="_ _2b"></span>γ</div><div class="t m0 x1b h11 y88 ff6 fs9 fc0 sc0 ls0 ws0">j<span class="_ _2c"></span>i<span class="_ _2d"></span>j<span class="_ _13"></span>i</div><div class="t m0 x1c h12 y86 ff6 fs8 fc0 sc0 ls0 ws0">x<span class="_ _2e"></span>x<span class="_ _2f"></span>x<span class="_ _15"></span>x<span class="_ _15"></span>K<span class="_ _30"> </span><span class="ff2 fs2"> </span></div><div class="t m0 x4 h5 y89 ff2 fs2 fc0 sc0 ls0 ws0">4<span class="ff5">、</span></div><div class="t m0 x1d ha y8a ff2 fs6 fc0 sc0 ls0 ws0">)<span class="_ _31"></span>tanh(<span class="_ _24"></span>)<span class="_ _18"></span>,<span class="_ _19"></span>(<span class="_ _32"> </span><span class="ff6">r<span class="_ _23"></span>x<span class="_ _13"></span>x<span class="_ _33"></span>x<span class="_ _15"></span>x<span class="_ _15"></span>K</span></div><div class="t m0 x1e h11 y8b ff6 fs9 fc0 sc0 ls0 ws0">j</div><div class="t m0 x5 h11 y8c ff6 fs9 fc0 sc0 ls0 ws0">T</div><div class="t m0 x5 h11 y8b ff6 fs9 fc0 sc0 ls0 ws0">i<span class="_ _34"></span>j<span class="_ _13"></span>i</div><div class="t m0 x1f h13 y8a ff7 fs6 fc0 sc0 ls0 ws0">+<span class="_ _35"></span>=</div><div class="t m1 x20 hb y8a ff7 fs7 fc0 sc0 ls0 ws0">γ</div><div class="t m0 x18 h5 y8a ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y8d ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> <span class="fc2 ls24">degree</span>;<span class="fc3 ls7">//</span><span class="ff5">就是</span>2<span class="ff5">式中的</span><span class="ls9">d </span></span></div><div class="t m0 x1 h5 y8e ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> <span class="fc2 ls2b">gamma<span class="_ _a"></span></span>;<span class="fc3 ls2c ws11"> //</span><span class="ff5">就是</span><span class="ls1b">2,3,4</span><span class="ff5">式中的</span><span class="ls2b">gamma<span class="_ _a"></span> </span></span></div><div class="t m0 x1 h5 y8f ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> <span class="fc2 ls1f">coef0;<span class="fc3 ls7">//</span></span><span class="ff5">就是</span><span class="ls1b">2,4</span><span class="ff5">式中的</span>r<span class="fc2"> </span></span></div><div class="t m0 x1 h5 y90 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y91 ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> <span class="fc2 ls21">cache_size</span><span class="ls7">; <span class="fc3 ls2c ws11">/* in MB */ <span class="_"> </span></span></span><span class="ff5 fc3">制定训练所需要的内存,默认是</span></span><span class="fc3">40M<span class="ff5 ls0">,</span><span class="ls27">LibSVM2.5<span class="ff5 ls0">中是</span></span>4M,<span class="ff5 ls0">所以自</span></span></div><div class="t m0 x1 h5 y92 ff5 fs2 fc3 sc0 ls0 ws0">己做开发选<span class="ff2 ls27">LibSVM2.5</span>还是不错的!<span class="ff2"> </span></div><div class="t m0 x1 h5 y93 ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> <span class="fc2 lsa">eps</span>;<span class="ff5">见参考文献</span><span class="ls11">[1]</span><span class="ff5">中式</span><span class="ls11">3.13 </span></span></div><div class="t m0 x1 h5 y94 ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> <span class="fc2">C</span>;<span class="fc3 ls7">//</span><span class="ff5">没什么好说的,惩罚因子,越大训练的模型越那个</span>…,<span class="ff5">当然耗的时间越多</span> </span></div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625cf43ebe9ad24cfa6fc1cf/bg5.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">上海交通大学模式分析与机器智能实验室<span class="ff2"> </span></div><div class="t m0 x1 h5 y60 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls0"> <span class="fc2 lse">nr_weight</span>;</span><span class="fc3">//<span class="ff5 fc0 ls0">权重的数目<span class="ff2">,</span>目前在实例代码中只有两个值,一个是默认<span class="ff2">0</span>,另外一个是</span></span></div><div class="t m0 x1 h5 y61 ff2 fs2 fc2 sc0 ls2f ws0">svm_binary_svc_p<span class="_ _a"></span>robability<span class="ff5 fc0 ls0">函数中使用数值<span class="ff2">2</span>。<span class="ff2"> </span></span></div><div class="t m0 x1 h5 y62 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls13"> *<span class="fc2">weight_label</span><span class="ls0">;</span></span><span class="fc3">//<span class="ff5 fc0 ls0">权重,元素个数由<span class="ff2 lse">nr_weight</span>决定<span class="ff2 ls13">. </span></span></span></div><div class="t m0 x1 h5 y95 ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> </span><span class="fc2">nu<span class="fc0 ls0">;<span class="fc3 ls7">//</span> <span class="_"> </span><span class="ff5">没什么好说的</span><span class="ls30">,too </span></span></span></div><div class="t m0 x1 h5 y96 ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls0"> <span class="fc2">p</span>;<span class="fc3 ls7">//</span> <span class="_"> </span><span class="ff5">没什么好说的</span><span class="ls4">,three </span></span></div><div class="t m0 x1 h5 y65 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y97 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls0"> <span class="fc2 ls14">shrinking</span>;</span><span class="fc3">//<span class="ff5 fc0 ls0">指明训练过程是否使用压缩。<span class="ff2"> </span></span></span></div><div class="t m0 x1 h5 y98 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls0"> </span><span class="fc2">prob<span class="_ _a"></span>ability<span class="fc0 ls0">;</span><span class="fc3">//<span class="ff5 fc5 ls0">新增<span class="fc0">,指明是否要做概率估计<span class="ff2"> </span></span></span></span></span></div><div class="t m0 x1 h5 y68 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y99 ff2 fs2 fc1 sc0 ls4 ws0">struct<span class="fc0 ls0"> </span><span class="ls2b">sv<span class="_ _a"></span>m_mo<span class="_ _a"></span>del<span class="_ _a"></span><span class="fc0 ls0"> </span></span></div><div class="t m0 x1 h5 y9a ff2 fs2 fc0 sc0 ls6 ws0">{ </div><div class="t m0 x1 h5 y6b ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls25">svm_param<span class="_ _3"></span>eter<span class="fc0 ls0"> <span class="fc2 ls24">param</span><span class="ls7">; <span class="_ _36"> </span><span class="fc3 ls31 ws18">// parameter</span></span> </span></span></div><div class="t m0 x1 h5 y6c ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 lsd">nr_class</span><span class="ls7 ws19">; <span class="_ _11"> </span><span class="fc3 ls2d ws14">// number of classes, = 2 in regression/<span class="_ _3"></span>one class svm<span class="fc0 ls0 ws0"> </span></span></span></div><div class="t m0 x1 h5 y6d ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2">l</span><span class="ls7 ws1a">; <span class="_ _1"> </span> <span class="_ _1"> </span><span class="fc3 ls32 ws1b">// to<span class="_ _a"></span>tal #SV</span></span> </div><div class="t m0 x1 h5 y6e ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls5">svm_node</span><span class="ls14 ws5"> **</span><span class="fc2 lsf">SV</span><span class="ls7 ws1c">; <span class="_ _37"> </span><span class="fc3 ls16 ws1d">// SVs (SV[l])</span></span> </div><div class="t m0 x1 h5 y6f ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span><span class="ls14 ws5"> **</span><span class="fc2 lsd">sv_coef</span><span class="ls7">; <span class="_ _38"> </span><span class="fc3 ls13">// coefficients for SVs in deci<span class="_ _3"></span>sion functions (sv_coef[n-1][l])<span class="fc0 ls0"> </span></span></span></div><div class="t m0 x1 h5 y70 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span><span class="ls13"> *<span class="fc2 ls11">rho</span><span class="ls7 ws1e">; </span></span></div><div class="t m0 x21 h5 y9b ff2 fs2 fc3 sc0 ls8 ws1f">// constants in deci<span class="_ _3"></span>sion functions (rho[n*(n-1)/2])<span class="fc0 ls0 ws0"> </span></div><div class="t m0 x1 h5 y9c ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span><span class="ls13"> *<span class="fc2 ls33">probA</span><span class="ls2">;<span class="_ _39"></span> <span class="fc3 ls34 ws20">// pariwise probability in<span class="_ _a"></span>formation</span><span class="ls0"> </span></span></span></div><div class="t m0 x1 h5 y9d ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls9">double</span><span class="ls13"> *<span class="fc2 ls33">probB</span><span class="ls7">; </span></span></div><div class="t m0 x1 h5 y9e ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 y9f ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc3 ls35 ws21">// for classification only</span> </div><div class="t m0 x1 h5 ya0 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span><span class="ls13"> *<span class="fc2 ls36">label</span><span class="ls7 ws22">; <span class="_ _3a"> </span><span class="fc3 ls2a ws23">// label of each class (label[n])</span></span></span> </div><div class="t m0 x1 h5 ya1 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span><span class="ls13"> *<span class="fc2 ls12">nSV</span><span class="ls7 ws24">; <span class="_ _10"> </span><span class="fc3 ls37 ws25">// number of SVs for each class (nSV[n])</span></span></span> </div><div class="t m0 x1 h5 ya2 ff2 fs2 fc0 sc0 ls38 ws0"> <span class="fc3 ls2d ws14">// nSV[0] + nSV[1] + ... + nSV[n-1] = l</span><span class="ls0"> </span></div><div class="t m0 x1 h5 ya3 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc3 ws26">// XXX</span> </div><div class="t m0 x1 h5 ya4 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _1"> </span><span class="fc1 ls7">int</span> <span class="fc2 ls39">free_sv</span><span class="ls7 ws27">; <span class="_ _3b"> </span></span><span class="fc3 ls13">// 1 if svm_m<span class="_ _3"></span>odel is created by svm<span class="_ _3"></span>_load_model<span class="fc0 ls0"> </span></span></div><div class="t m0 x1 h5 ya5 ff2 fs2 fc0 sc0 ls38 ws0"> <span class="fc3 ls3a ws28">// 0 if svm_model is created by svm_train</span><span class="ls0"> </span></div><div class="t m0 x1 h5 ya6 ff2 fs2 fc0 sc0 lsb ws0">}; </div><div class="t m0 x1 h5 ya7 ff5 fs2 fc0 sc0 ls0 ws0">结构体<span class="ff2 fc1 ls2b">sv<span class="_ _a"></span>m_mo<span class="_ _a"></span>de<span class="_ _a"></span>l</span>用于保存训练后的训练模型,当然原来的训练参数也必须保留。<span class="ff2"> </span></div><div class="t m0 x1 h5 ya8 ff2 fs2 fc1 sc0 ls25 ws0">svm_param<span class="_ _3"></span>eter<span class="fc0 ls0"> <span class="fc2 ls24">param</span><span class="ls7">; <span class="_ _36"> </span><span class="fc3">//</span></span> <span class="_"> </span><span class="ff5">训练参数</span><span class="fc3"> </span></span></div><div class="t m0 x1 h5 ya9 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls0"> <span class="fc2 ls2d">nr_class;</span></span><span class="fc3">//<span class="fc0 ls0"> <span class="_"> </span><span class="ff5">类别数</span><span class="fc3"> </span></span></span></div><div class="t m0 x1 h5 yaa ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls0"> <span class="fc2">l</span>;<span class="fc3 ls2f ws29"> // <span class="_"> </span></span><span class="ff5">支持向量数</span><span class="fc3"> </span></span></div><div class="t m0 x1 h5 yab ff2 fs2 fc1 sc0 ls5 ws0">svm_node<span class="fc0 ls14 ws5"> **</span><span class="fc2 lsf">SV<span class="fc0 ls7">; <span class="fc3">// <span class="_"> </span></span><span class="ff5 ls0">保存支持向量的指针,至于支持向量的内容,如果是从文件中读取,内容会</span></span></span></div><div class="t m0 x1 h14 yac ff5 fs2 fc0 sc0 ls0 ws0">额外保留;<span class="_ _b"></span>如果是直接训练得来,<span class="_ _b"></span>则保留在原来的训练集中。<span class="_ _b"></span>如果训练完成后需要预报,<span class="_ _b"></span>原来的</div><div class="t m0 x1 h5 yad ff5 fs2 fc0 sc0 ls0 ws0">训练集内存不可以释放。<span class="ff2 fc3"> </span></div><div class="t m0 x1 h5 yae ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls14 ws5"> **</span><span class="fc2 lsd">sv_coef<span class="fc0 ls0">;<span class="fc3 ls7">//</span><span class="ff5">相当于判别函数中的</span><span class="ls37">alpha </span></span></span></div><div class="t m0 x1 h5 yaf ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls13"> *<span class="fc2 ls11">rho</span><span class="ls7">; <span class="fc3">//</span><span class="ff5 ls0">相当于判别函数中的</span><span class="ls9">b </span></span></span></div><div class="t m0 x1 h5 yb0 ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls13"> *<span class="fc2 ls33">probA</span><span class="ls7">; <span class="fc3 ls34 ws20">// pariwise probability info<span class="_ _a"></span>rmation</span></span></span></div><div class="t m0 x22 h5 yb1 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 yb2 ff2 fs2 fc1 sc0 ls9 ws0">double<span class="fc0 ls13"> *<span class="fc2 ls33">probB</span><span class="ls7">;//<span class="ff5 ls0">均为新增函数<span class="ff2"> </span></span></span></span></div><div class="t m0 x1 h5 yb3 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls13"> *<span class="fc2 ls36">label</span><span class="ls7">; <span class="_ _8"></span><span class="fc3 ls2a ws23">// label of each class (label[n])<span class="fc0 ls2 ws0"> </span></span></span></span></div><div class="t m0 x1 h5 yb4 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls13"> *<span class="fc2 ls12">nSV</span><span class="ls7">; <span class="_ _9"></span><span class="fc3 ls24 ws2a">// num<span class="_ _3"></span>ber of SVs for each class (nSV[n]) </span></span></span></div><div class="t m0 x1 h5 yb5 ff2 fs2 fc1 sc0 ls7 ws0">int<span class="fc0 ls0"> <span class="fc2 ls39">free_sv</span>;</span><span class="fc3">//<span class="ff5 fc0 ls0">见</span></span><span class="ls5">svm_node<span class="fc0 ls14 ws5"> **</span><span class="fc2 lsf">SV<span class="ff5 fc0 ls0">的注释<span class="ff2"> </span></span></span></span></div><div class="t m0 x1 h5 yb6 ff2 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h5 yb7 ff2 fs2 fc0 sc0 ls0 ws0"> </div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>