在svm中,训练是一个十分重要的步骤,下面我们来看看svm的train部分。在libsvm中的svm_train中分别有回归和分类两部分,我只对其中分类做介绍。分类的步骤如下:统计类别总数,同时记录类别的标号,统计每个类的样本数目将属于相同类的样本分组,连续存放计算权重C训练n(n-1)/2 个模型...
分类:
其他好文 时间:
2015-04-05 15:54:57
阅读次数:
316
如果你看完了上篇博文的伪代码,那么我们就可以开始谈谈它的源代码了。下面先贴出它的类定义,一些成员函数的具体实现先忽略。[cpp]view plaincopy//AnSMOalgorithminFanetal.,JMLR6(2005),p.1889--1918//Solves://min0.5(\al...
分类:
其他好文 时间:
2015-04-05 15:49:27
阅读次数:
254
如果你看完了上篇博文的伪代码,那么我们就可以开始谈谈它的源代码了。下面先贴出它的类定义,一些成员函数的具体实现先忽略。[cpp]view plaincopy//AnSMOalgorithminFanetal.,JMLR6(2005),p.1889--1918//Solves://min0.5(\al...
分类:
其他好文 时间:
2015-04-05 15:49:03
阅读次数:
245
对于学习SVM人来说,要判断SVM效果,以图形的方式输出的分解线是最直观的。LibSVM自带了一个可视化的程序svm-toy,用来输出类之间的分界线。他是先把样本文件载入,然后进行训练,通过对每个像素点的坐标进行判断,看属于哪一类,就附上那类的颜色,从而使类与类之间形成分割线。我们这一节不讨论svm...
分类:
其他好文 时间:
2015-04-05 15:47:52
阅读次数:
122
这一篇博文来分析下Kernel类,代码上很简单,一般都能看懂。Kernel类主要是为SVM的核函数服务的,里面实现了SVM常用的核函数,通过函数指针来使用这些核函数。其中几个常用核函数如下所示:(一般情况下,使用RBF核函数能取得很好的效果)关于基类QMatrix在Kernel中的作用并不明显,只是...
分类:
其他好文 时间:
2015-04-05 15:47:27
阅读次数:
207
下面来分析Cache类的源码,该类位于svm.cpp中。这个类的主要功能是:负责运算所涉及的内存管理,包括申请、释放等。简单来说:这个Cache类,首先通过Cache构造函数申请一块空间,这块空间的大小是:L个head_t大小的空间。然后get_data函数保证结构head_t中至少有len个flo...
分类:
系统相关 时间:
2015-04-05 15:47:06
阅读次数:
190
其实,这部分写也是多余,google一下“libsvm使用”,就会N多的资源,但是,为了让你少费点心,在这里就简单的介绍一下,有不清楚的只有动动你的mouse了。需要说明的是,2.89版本以前,都是svmscale、svmtrain和svmpredict,最新的是svm-scale、svm-trai...
分类:
其他好文 时间:
2015-04-05 14:35:42
阅读次数:
122
LibSVM是台湾林智仁(Chih-Jen Lin)教授2001年开发的一套支持向量机的库,这套库运算速度还是挺快的,可以很方便的对数据做分类或回归。由于libSVM程序小,运用灵活,输入参数少,并且是开源的,易于扩展,因此成为目前国内应用最多的SVM的库。这套库可以从http://www.csie...
分类:
其他好文 时间:
2015-04-05 14:35:10
阅读次数:
112
1.把LibSVM包解压到相应的目录(因为我只需要里面windows文件夹中的东东,我们也可以只把windows文件夹拷到相应的目录),比如D:/libsvm。 2.在电脑“开始”的“运行”中输入cmd,进入DOS环境。定位到d:/ libsvm下,具体命令如下: d: (回车) cd /libs....
分类:
其他好文 时间:
2015-04-05 14:32:27
阅读次数:
104
其实,在之前上海交大模式分析与机器智能实验室对2.6版本的svm.cpp做了部分注解,(在哪里?google一下你就知道)。但是,这个注释只是针对代码而注释,整篇看下来,你会发现除了理解几个参数的含义,还是会对libsvm一头雾水。当然作为理解程序的辅助材料,还是有很大用处的。特别是,对几个结构体的...
分类:
其他好文 时间:
2015-04-05 14:32:23
阅读次数:
207