在libsvm的源代码中,为什么要把支持向量表示成二维数组[][]svm_node的形式?琢磨了很久还是没想明白还有,其中关于梯度、关于SV_coef[][]这两部分也没看明白,求大神一语道破哈!拜谢!
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/01 13:45:17
在libsvm的源代码中,为什么要把支持向量表示成二维数组[][]svm_node的形式?琢磨了很久还是没想明白还有,其中关于梯度、关于SV_coef[][]这两部分也没看明白,求大神一语道破哈!拜谢!
在libsvm的源代码中,为什么要把支持向量表示成二维数组[][]svm_node的形式?琢磨了很久还是没想明白
还有,其中关于梯度、关于SV_coef[][]这两部分也没看明白,求大神一语道破哈!拜谢!
在libsvm的源代码中,为什么要把支持向量表示成二维数组[][]svm_node的形式?琢磨了很久还是没想明白还有,其中关于梯度、关于SV_coef[][]这两部分也没看明白,求大神一语道破哈!拜谢!
libsvm虽然支持多类分类,但是其本质是基于“一对一”法的多类分类,因此究其其本质其实是个二分类svm.
既然是二分类,肯定有属于第一类-1的支持向量,属于第二类+1的支持向量,它肯定应该是个二维数组.
libsvm训练输出model中的参数有一个是sv_coef,它表示的是支持向量在决策函数中:
的系数a,而b是model里的rho.
最后说下model里全有啥参数:
model =
Parameters:svm的类型参数
nr_class:有多少个类别
totalSV:支持向量总个数
rho:就是决策函数里那个b
Label:类标
ProbA:
ProbB: 这两个是但svm 选-b是用到的参数
nSV:每类有多少个支持向量
sv_coef:决策函数那个a
SVs:里面装的是所以支持向量
菜鸟个人愚见,如有错误望指正!共同学习