mlg*_*guy 50 machine-learning svm libsvm
在每本书和例子中,它们总是只显示二进制分类(两个类),新的向量可以属于任何一个类.
这里的问题是我有4个类(c1,c2,c3,c4).我已经训练了4个班级的数据.
对于新的向量,输出应该是
C1 80%(获胜者)
c2 10%
c3 6%
c4 4%
这该怎么做?我打算使用libsvm(因为它最受欢迎).我不太了解它.如果你们中的任何人以前使用它,请告诉我我应该使用的具体命令.
Obe*_*nne 39
LibSVM使用一对一的方法来解决多类学习问题.来自FAQ:
问:libsvm用于多类SVM的方法是什么?你为什么不使用"1-against-the rest"方法?
这是一对一的.我们在做了以下比较后选择了它:C.-W.许和C.-J. 林.多类支持向量机的方法比较,IEEE Transactions on Neural Networks,13(2002),415-425.
"1-against-the rest"是一种很好的方法,其性能可与"1-against-1"相媲美.我们做后者只是因为它的训练时间较短.
Ant*_*kov 19
常用的方法是One vs. Rest和One vs. One.在第一种方法中,您将获得n个分类器,结果类将获得最高分.在第二种方法中,通过所有分类器的多数投票获得所得到的类.
AFAIR,libsvm支持多类分类策略.
您始终可以通过递归选择一组类的随机分区,将多类分类问题简化为二元问题。这不一定比一次学习要有效或有效,因为子学习问题需要较少的示例,因为分区问题较小。(这可能最多需要一个恒定的订购时间,例如两倍长)。它还可能导致更准确的学习。
我并不一定推荐这样做,但这是对您问题的一个答案,并且是可以应用于任何二进制学习算法的通用技术。
| 归档时间: |
|
| 查看次数: |
74986 次 |
| 最近记录: |