LibSVM-2.6_程序代码注释

LibSVM-2.6_程序代码注释

ID:46885500

大小:244.43 KB

页数:28页

时间:2019-11-28

LibSVM-2.6_程序代码注释_第1页
LibSVM-2.6_程序代码注释_第2页
LibSVM-2.6_程序代码注释_第3页
LibSVM-2.6_程序代码注释_第4页
LibSVM-2.6_程序代码注释_第5页
资源描述:

《LibSVM-2.6_程序代码注释》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、上海交通大学模式分析与机器智能实验室LibSVM-2.6程序代码注释上海交通大学模式分析与机器智能实验室我不经心地,服下你调好的毒我知道今后我将万劫不复但是你的红唇仍让我屈服四月的樱花火红满天我和你的梦,却要一以何处去缱绻?虽然人间的情爱万万千千世上已有太多崩毁的誓言七个黑夜,七个白天我为你写下的歌,彩绘的纸笺却只能随着晚风飘在大海的岸边我仍愿服下你精心为我调好的毒从你那深情的吻吞下我与你在人间最后的流光万千辗转朱颜……上海交通大学模式分析与机器智能实验室第一节:SVM.h文件structsvm_node{intindex;doublevalue;

2、};structsvm_node用来存储单一向量中的单个特征,例如:向量x1={0.002,0.345,4,5.677};那么用structsvm_node来存储时就使用一个包含5个svm_node的数组来存储此4维向量,内存映象如下:1234-10.0020.3454.0005.677空其中如果value为0.00,该特征将不会被存储,其中(特征3)被跳过:1245-10.0020.3454.0005.677空0.00不保留的好处在于,做点乘的时候,可以加快计算速度,对于稀疏矩阵,更能充分体现这种数据结构的优势。但做归一化时,操作就比较麻烦了。(

3、类型转换不再说明)structsvm_problem{intl;double*y;structsvm_node**x;};structsvm_problem存储本次参加运算的所有样本(数据集),及其所属类别。在某些数据挖掘实现中,常用DataSet来实现。intl;记录样本总数double*y;指向样本所属类别的数组。在多类问题中,因为使用了one-agianst-one方法,可能原始样本中y[i]的内容是1.0,2.0,3.0,…,但参与多类计算时,参加分类的两类所对应的y[i]内容是+1,和-1。Structsvm_node**x;指向一个存储

4、内容为指针的数组;如下图,最右边的四个长条格同上表,存储三维数据。(黑边框的是最主要的部分)L=4Y[0]Y*Y[1]X**Y[2]Y[3]上海交通大学模式分析与机器智能实验室这样的数据结构有一个直接的好处,可以用x[i][j]来访问其中的某一元素(如果value为0.00的也全部保留的话)私下认为其中有一个败笔,就是把svm_node*x_space放到结构外面去了。enum{C_SVC,NU_SVC,ONE_CLASS,EPSILON_SVR,NU_SVR};/*svm_type*/enum{LINEAR,POLY,RBF,SIGMOID};/

5、*kernel_type*/structsvm_parameter{intsvm_type;//SVM类型,见前enumintkernel_type;//核函数doubledegree;/*forpoly*/doublegamma;/*forpoly/rbf/sigmoid*/doublecoef0;/*forpoly/sigmoid*//*thesearefortrainingonly*/doublecache_size;/*inMB*/doubleeps;/*stoppingcriteria*/doubleC;/*forC_SVC,EPSILO

6、N_SVRandNU_SVR*/intnr_weight;/*forC_SVC*/int*weight_label;/*forC_SVC*/double*weight;/*forC_SVC*/doublenu;/*forNU_SVC,ONE_CLASS,andNU_SVR*/doublep;/*forEPSILON_SVR*/intshrinking;/*usetheshrinkingheuristics*/intprobability;/*doprobabilityestimates*/};部分参数解释,(附核函数)T1、K(x,x)=xxiji

7、jTd2、K(x,x)=(γxx+r),γ>0ijij23、K(x,x)=exp(−γx−x),γ>0ijijT4、K(x,x)=tanh(γxx+r)ijijdoubledegree;//就是2式中的ddoublegamma;//就是2,3,4式中的gammadoublecoef0;//就是2,4式中的rdoublecache_size;/*inMB*/制定训练所需要的内存,默认是40M,LibSVM2.5中是4M,所以自己做开发选LibSVM2.5还是不错的!doubleeps;见参考文献[1]中式3.13doubleC;//没什么好说的,惩罚

8、因子,越大训练的模型越那个…,当然耗的时间越多上海交通大学模式分析与机器智能实验室intnr_weight;//权重的数目

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

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

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