| 查看: 2147 | 回复: 42 | |||
| 当前主题已经存档。 | |||
| 【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 damojinghong 的 470 个金币 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
damojinghong至尊木虫 (知名作家)
娴 囩 嘢 鹤 唻 厾 呒 琮
|
[交流]
【求助】Svm分类 找老师带新人??
|
||
|
最近在进行数据处理,用到SVM但是我确实没有接触过matlab,在网上下了个osu-svm工具箱,里面有demo(应该是演示吧),我就按照demo一步一步,输入命令和数据,然后计算出结果。有LinearSVC,PolySVC,RbfSVC三种,我都按照demo做了计算。 代码分别如下: linera poly rbf 不知道这个到底算不算支持向量机分类,好像还有libsvm分类的,里面的代码和我的不一样,而且我的太简单,是不是不对啊? train1是训练集,lable是训练集标签,这个标签与实际分类一致。 pre1是测试集,lablepr是测试集标签,这个标签也与实际分类一致。 如果我所做的没有错 为什么采用rbf时候 准确度那么低? 具体数据和工具箱我上传,请高人不要觉得我的问题幼稚或者荒唐,请不吝赐教,小弟先在这里谢过!http://www.namipan.com/d/data.ra ... 43a37be6a64df681500 希望找到一个老师,可以指导我一下,不会很麻烦的,希望高人一定现身指点!! [ Last edited by damojinghong on 2010-1-15 at 15:45 ] |
» 猜你喜欢
全日制(定向)博士
已经有5人回复
假如你的研究生提出不合理要求
已经有10人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
adu886886(金币+1,VIP+0):谢谢提供意见 1-16 15:48
damojinghong(金币+100,VIP+0):多谢朋友细心讲解,希望以后能向您请教! 1-20 16:06
adu886886(金币+1,VIP+0):谢谢提供意见 1-16 15:48
damojinghong(金币+100,VIP+0):多谢朋友细心讲解,希望以后能向您请教! 1-20 16:06
|
实现SVM的工具有很多,如LIBSVM,SVMlight,SimpleSVM....具体可以参考http://en.wikipedia.org/wiki/Support_vector_machine中的介绍。不过本人认为其中Libsvm是一个操作简单、易于使用、快速有效的通用SVM 软件包,它是台湾大学林智仁(Chih-Jen Lin)博士等开发设计的,他的主页:http://www.csie.ntu.edu.tw/~cjlin/index.html,上面有很多关于libsvm的资料、工具和示例数据。 SVM的原理部分看看一两篇文章就能明白,其中中文文献张学工老师的文章觉得很不错;外文文献当然就看vapnik他老人家的呢。 具体LIBSVM的使用可以参考如下文章 http://luzhenbo.88uu.com.cn/Inte ... roduction_study.htm,或者参考下载的libsvm包里readme.txt,都有详细的使用说明。 SVM的训练预测过程可以简单的归纳为以下几个过程: 1. 收集数据。相关性分析(p卡方检验),特征选择(主成份分析)。 2. 归一化数据。就是根据实际要求,将数据的取值范围转化为统一的区间如[a,b],a,b为整数。 3. 利用抽样技术将数据集分为训练集和测试集。抽样技术有分层抽样,简单抽样(等概率抽样) 4. 将数据转化为软件(接口)所支持的格式。就libsvm(c++,java)来说,需要将数据转化为libsvmm所要求的格式。 5. 选择核函数,可以优先考虑RBF。 6. 对训练集利用交叉验证法选择最好的参数C和r(rbf核函数中的参数gama)。可以通过网格法寻找出最优的参数,注意一次交叉验证得到一个参数对所对应的模型精度,网格法目的就是找到使得模型精度达到对高的参数对(这里的参数对可能不止两个,有可能也有其他的),可以使用一些启发式的搜索来降低复杂度,虽然这个方法笨了点,但是它能得到很稳定的搜索结果。需要提到的这里在对训练集进行分割的时候涉及到抽样,一个较好的方法就是分层抽样。从这步可以看出其实 Cross-Validation是一种评估算法的方法。 7. 用6中得到的参数对在整个训练集合上进行训练,从而得出模型。 8. 利用测试集测试模型,得到精度。这个精度可以认为是模型最终的精度。当然有人会担心3步中抽样会有一定的误差,导致8得到的精度不一定是最好的,因此可以重复3-8得到多个模型的精度,然后选择最好的一个精度最为模型的精度(或者求所有精度的均值做为模型精度)。 你上面提到虽然采用rbf核函数,但预测精度还是比较低,可能就是没有做第6步,选择最好的参数gama [ Last edited by wolfpl on 2010-1-16 at 12:53 ] |
33楼2010-01-16 12:50:17
2楼2010-01-15 17:29:54
3楼2010-01-15 17:32:10
4楼2010-01-15 17:33:09












回复此楼
