libsvm是著名的SVM开源组件,目前有JAVA.C/C++,.NET 等多个版本,本人使用的是2.82
libsvm命名空间下主要使用类:
svm_model 为模型类,通过训练或加载训练好的模型文件获得
svm_parameter 为参数类,主要为支持向量机设定参数,具体参数如下:
svm_parameter.svm_type
svm类型:SVM设置类型(默认svm_parameter.C_SVC)
svm_parameter.C_SVC -- C-SVC n(n>=2)分类器,允许用异常值惩罚因子C进行不完全分类。
svm_parameter.NU_SVC -- ν-SVC n类似然不完全分类的分类器。参数nu取代了c,其值在区间【0,1】中,nu越大,决策边界越平滑。
svm_parameter.ONE_CLASS – 一类SVM 单分类器,所有的训练数据提取自同一个类里,然後SVM建立了一个分界线以分割该类在特征空间中所占区域和其它类在特征空间中所占区域。
svm_parameter.EPSILON_SVR -- ε -SVR 回归。 训练集中的特征向量和拟合出来的超平面的距离需要小于p。异常值惩罚因子C被采用。
svm_parameter.NU_SVR -- ν-SVR 回归;nu 代替了p
svm_parameter.kernel_type
核函数类型:核函数设置类型(svm_parameter.LINEAR)
svm_parameter.LINEAR – 线性:u'×v - 没有任何向映射至高维空间,线性区分(或回归)在原始特征空间中被完成,这是最快的选择。 d(x,y) = x?y == (x,y)
svm_parameter.POLY– 多项式:(γ×u'×v + coef0)^degree - 多项式核: d(x,y) = (gamma*(x?y)+coef0)degree
svm_parameter.RBF – RBF函数:exp(-γ×|u-v|^2) - 径向基,对于大多数情况都是一个较好的选择:d(x,y) = exp(-gamma*|x-y|2)
svm_parameter.SIGMOID – sigmoid:tanh(γ×u'×v + coef0) - sigmoid函数被用作核函数: d(x,y) = tanh(gamma*(x?y)+coef0)
degree, gamma, coef0:都是核函数的参数,具体的参见上面的核函数的方程。
svm_parameter.degree
核函数中的degree设置(默认3)
svm_parameter.coef0
核函数中的coef0设置(默认0)
svm_parameter.shrinking
是否使用启发式,0或1(默认1)
svm_parameter.nu
设置ν-SVC,一类SVM和ν- SVR的参数(默认0.5)
svm_parameter.C
设置C-SVC,ε -SVR和ν-SVR的参数(默认1)
svm_parameter.cache_size
设置cache内存大小,以MB为单位(默认40)
svm_problem 相当于训练集合,可讲需要训练的数据加入该类传递给训练器
svm_node 内部使用的数据结构,主要用于保存待训练数据
svm 主调用程序中我们一般使用以下几个方法:
svm.svm_train(svm_problem,svm_parameter) 该方法返回一个训练好的svm_model
svm.svm_load_model(文件名); 该方法返回一个训练好的svm_model
svm.svm_save_model(文件名,svm_model); 该方法将svm_model保存到文件中
svm.svm_predict_values(svm_model,svm_node,double); 该方法返回doule类值,svm_node对svm_model测试,返回值确定了svm_node在模型中的定位
[Last Modified By King, at 2008-03-13 09:57:44]
分享到:
相关推荐
很多年前写的。一直放在sf上的,最近sf网站打不开,所以传在csdn上来和大家分享。libsvm.net 来自台湾林智仁博士的libsvm,我只是java版转到.net,其他类结构是和java版一模一样。提供了一个demo以及一个简单的ocr。
Libsvm.NET2.8 实例 myocr . libsvm里没有.net的应用代码,这个是别人把JAVA版的转换过来的实例。C#的同学有福了。实例对应还有篇文章“Svm应用尝试(C#写的数字ocr软件LTOCR)”,自己可以去看看。
libsvm试验数据及参数说明,试验数据只针对libsvm适用,数据为heart_scale.mat
LIBSVM参数实例详解LIBSVM参数实例详解 LIBSVM参数实例详解 LIBSVM参数实例详解
LIBSVM参数说明 LIBSVM参数说明 LIBSVM参数说明
LibSVM Java API调用示例程序 Eclipse 完整工程可以运行 相关详情见http://blog.csdn.net/yangliuy/article/details/8041343#comments 3行程序搞定SVM分类-用JAVA程序调用LibSVM API 最简单的示例 欢迎关注我的博客...
用网格法寻找最优参数,libsvm网格法查找最优参数函数 SVMcgForClass.m(内用svmtrain函数)
libsvm详细使用方法及资料,对机器学习的工作人员具有很大的参考价值
台湾大学林智仁 (Lin Chih-Jen) 教授等开发设计的 libsvm 工具箱提供了SVDD算法的MATLAB接口,其中两个关键参数 c 和 g 直接影响SVDD的单值分类结果。 该代码通过引入鲸鱼优化算法(Whale Optimization Algorithm,...
首先通过博客,安装好libsvm库,博客地址:https://blog.csdn.net/qq874455953/article/details/88782121, 然后直接点击运行代码即可, 同时你也可以添加数据集,然后更改一下矩阵参数就可以利用自己的数据集进行...
LIBSVM 归一化 参数估计的重要性 dos中运行
用于LIBSVM的最有参数选择。 调用即可。
libsvm交叉验证与网格搜索(参数选择)
详细介绍了libsvm的调用方法,方便大家在以后的学习中能正确使用libsvm工具。
【libsvm-3.0】、【gnuplot-4.2.4 for win】、【python-3.1.2】 还有我写的libsvm简单使用步骤,很清楚,对新手很有用。 网上很多文章说这几个软件的兼容有版本的要求,我在我的电脑上...具体安装方法,压缩包里面有。
利用libsvm-mat建立分类模型model参数解密,对其中参数讲解得很清楚,对初学者很有帮助。
6.MATLAB神经网络43个案例分析 LIBSVM参数实例详解6.MATLAB神经网络43个案例分析 LIBSVM参数实例详解6.MATLAB神经网络43个案例分析 LIBSVM参数实例详解6.MATLAB神经网络43个案例分析 LIBSVM参数实例详解6.MATLAB神经...
libsvm2.9和gnuplot-4.4.0 , libsvm使用必备
台湾大学林教授团队libsvm工具箱,svm参数寻优
LIBSVM参数实例详解.7z