libsvm多分类

来源:百度文库 编辑:神马文学网 时间:2024/04/28 08:12:15
关于使用libsvm进行分类的几个问题
在使用libsvm进行分类时,碰到以下几个问题,求高手指点:
(1)在进行多类分类时,由于libsvm用的是1-v-1方法,但是一般一个样本有很多属性,就拿葡萄酒的样本来说,它是一个三类问题,每个样本有13个属性,那么其训练预测过程是什么呢?训练过程是先对样本的同一属性使用1-v-1方法,进行训练,得到一组支持向量和相应模型,然后呢?其它的12个属性是怎么加入训练过程的?预测时,也是先对所有样本的第一个属性使用训练好的1-v-1模型进行投票决策,接下来呢?其他的12个属性也是使用同样的方法吗?最终的决策是怎样得出的?
(2)有没有函数命令直接求得对每类的投票所得的票数?
(3)在使用葡萄酒数据分类时,使用预测函数
[predicted_label, accuracy, decision_values/prob_estimates] = svmpredict(test_label, test_matrix, model, ['libsvm_options']);
,其中的 decision_values/prob_estimates是决策函数f(x)=(w,x)+b的值吗?对于两分类问题,它是nx1维的矩阵,对于红酒的三类问题,它为什么是89x3维的矩阵?
(4)对于葡萄酒数据,训练出的model是:
Parameters: [5x1 double]
nr_class: 3
totalSV: 89
rho: [3x1 double]
Label: [3x1 double]
ProbA: []
ProbB: []
nSV: [3x1 double]
sv_coef: [89x2 double]
SVs: [89x13 double]
系数w,也就是model中的sv_coef怎么成了89x2 维的矩阵了,这个怎么理解?还有SVs到底代表什么?
(5)如果想使用Platt模型p=1/(1+exp(Af+B)) 求模型的概率输出,其中的参数A和B怎么求得?
[ 本帖最后由 xffxff 于 2010-4-28 11:24 编辑 ]
SVM视频:
http://www.ilovematlab.cn/forum-180-1.html