返回信息流大家有没有人用过Libsvm的svm-train吗,训练出来的model文件中支持向量的数据结构应该依次是label index1:value1 index2:value2 ....可是我用了林智仁官网上给的IRIS、letter以及另外一个二分类数据进行训练,得到的文件中支持向量的label出现了小数或者是原来不存在的数,请问这是为什么呢?
下文是官方给的model文件的解释,有几个地方不明白,希望高手指点一下
①j和k-1个特征值是怎么回事
②vs是什么呀
③y=+-1是怎么回事呀
Q: Can you explain more about the model file?
In the model file, after parameters and other informations such as labels , each line represents a support vector. Support vectors are listed in the order of "labels" shown earlier. (i.e., those from the first class in the "labels" list are grouped first, and so on.) If k is the total number of classes, in front of a support vector in class j, there are k-1 coefficients y*alpha where alpha are dual solution of the following two class problems:
1 vs j, 2 vs j, ..., j-1 vs j, j vs j+1, j vs j+2, ..., j vs k
and y=1 in first j-1 coefficients, y=-1 in the remaining k-j coefficients. For example, if there are 4 classes, the file looks like:
+-+-+-+--------------------+
|1|1|1| |
|v|v|v| SVs from class 1 |
|2|3|4| |
+-+-+-+--------------------+
|1|2|2| |
|v|v|v| SVs from class 2 |
|2|3|4| |
+-+-+-+--------------------+
|1|2|3| |
|v|v|v| SVs from class 3 |
|3|3|4| |
+-+-+-+--------------------+
|1|2|3| |
|v|v|v| SVs from class 4 |
|4|4|4| |
+-+-+-+--------------------+
See also an illustration using MATLAB/OCTAVE.
[ema1]
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #15337同步于 2015/3/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
[问题]Libsvm svm-train 之后的model 文件里的label问题
Klein
2015/3/11镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
你说的那个 label 1:value 2:value... 这个是训练用的数据,这个不是支撑向量
剩下的:
1.j和k-1个,这个不是叫特征值。应该是支撑向量间的系数吧。。
2.VS 是英语的 versus
3.y = + - 1 是他这举的例子。。他假设你如果在做2分类。。
PS.如果你只是简单想用libsvm来做分类。。不是还要做什么别的改进的话。。不用了解这个输出的Model。。
哦,原来是这样啊!不过我的目的是得到训练之后的支撑向量集,用于进一步的训练使用,请问这个该如何得到呢?还有如果是这样的话,model文件下的那些一行行的数据都是什么呢?谢谢!
【 在 phantomlyc 的大作中提到: 】
: 你说的那个 label 1:value 2:value... 这个是训练用的数据,这个不是支撑向量
: 剩下的:
: 1.j和k-1个,这个不是叫特征值。应该是支撑向量间的系数吧。。
: ...................
哦哦,所以对于每个类都会出现与其他各类相比较的情况,那么请问他这么做的目的是什么呢?SVM的多分类不是一类一类的剥离出来的吗?
【 在 moonfighting 的大作中提到: 】
: 他给的例子是多分类时的情况,也就是两两之间进行比较
http://www.blogjava.net/zhenandaci/archive/2009/03/26/262113.html
看看这个你就知道了
【 在 Klein 的大作中提到: 】
: 哦哦,所以对于每个类都会出现与其他各类相比较的情况,那么请问他这么做的目的是什么呢?SVM的多分类不是一类一类的剥离出来的吗?
你图里面那个SVs 就是支撑向量。。。你问的问题就是你前面复制的他的FAQ的
【 在 Klein 的大作中提到: 】
: 哦,原来是这样啊!不过我的目的是得到训练之后的支撑向量集,用于进一步的训练使用,请问这个该如何得到呢?还有如果是这样的话,model文件下的那些一行行的数据都是什么呢?谢谢!