电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

libSVM分类小例C++VIP免费

libSVM分类小例C++_第1页
1/7
libSVM分类小例C++_第2页
2/7
libSVM分类小例C++_第3页
3/7
使用libSVM 求解分类问题的C++小例 1 . libSVM 简介 训练模型的结构体 struct svm_problem //储存参加计算的所有样本 { int l; //记录样本总数 double *y; //指向样本类别的组数 struct svm_node **x;//数据样本 }; 当样本类别事先已经被告知时,可以通过数字来给样本数据进行标识(如果是两类通常以1 与-1 来表示)。如果不清楚样本类别可以用样本个数编号来设置,这时候分类的准确率也就无法判定了。 数据样本是一个二维数组,其中每个单元格储存的是一个 svm_node,y 与样本数据的对应关系为: 数据节点的结构体 struct svm_node //储存单一向量的单个特征 { int index; //索引 double value; //值 }; 如果需要储存向量,就可以使用6 个 svm_node 来保存,内存映像为: index 1 2 3 4 5 -1 value 1 121 12321 121 1 NULL 注意:向量是以索引值为-1 的元素为结束标志位的。如果没有标志位将导致程序崩溃。 SVM 模型类型枚举 enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR };  C_SVC:C 表示惩罚因子,C 越大表示对错误分类的惩罚越大  NU_SVC:和C_SVC 相同。  ONE_CLASS:不需要类标号,用于支持向量的密度估计和聚类.  EPSILON_SVR: -不敏感损失函数,对样本点来说,存在着一个不为目标函数提供任何损失值的区域,即 -带。  NU_SVR:由于 EPSILON_SVR 需要事先确定参数 ,然而在某些情况下选择合适的参数却不是一件容易的事情。而 NU_SVR 能够自动计算参数 。 注意:C_SVC 与 NU_SVC 其实采用的模型相同,但是它们的参数C 的范围不同C_SVC 采用的是 0 到正无穷,NU_SVC 是[0,1]。 核函数类型枚举 enum { LINEAR, POLY, RBF, SIGMOID, PRECOMPUTED };  LINEAR:线性核函数(linear kernel)  POLY:多项式核函数(ploynomial kernel)  RBF:径向机核函数(radical basis function)  SIGMOID: 神经元的非线性作用函数核函数(Sigmoid tanh)  PRECOMPUTED:用户自定义核函数 计算模型参数结构体 struct svm_parameter { int svm_type; //支持向量机模型类型 int kernel_type; //核函数类型 int degree; /* 使用于POLY模型 */ double gamma; /* for poly/rbf/sigmoid */ double coef0; /* for poly/sigmoid */ /* these are for training only */ double...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

libSVM分类小例C++

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部