首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Encog中的多类SVM分类

Encog中的多类SVM分类
EN

Stack Overflow用户
提问于 2013-05-25 05:16:42
回答 1查看 3K关注 0票数 6

有人能告诉我如何在Encog 3.1中使用多类SVM分类吗?

我已经成功地使用了他们的神经网络,但无法解决如何设置多类SVM。

文档上有这样的说法:

“这是一个由一个或多个支持向量机( SVM )支持的网络。它的功能与Encog神经网络非常相似,并且在很大程度上可以与Encog神经网络互换。当您希望SVM将输入数据分组为一个或多个类别时,可以使用分类。支持向量机通常只有一个输出。神经网络可以有多个输出神经元。要解决此问题,如果指定了多个输出,则此类将创建多个SVM。”

然而,我看不到如何指定多个输出,事实上,输出属性只返回1:

代码语言:javascript
复制
 /// <value>For a SVM, the output count is always one.</value>
    public int OutputCount
    {
        get { return 1; }
    }

欢迎使用Java或c#回答

EDIT仍然无法解决这个问题。我真的很喜欢使用Encog,但支持论坛上只有Jeff Heaton (项目的作者)自己有机会回答,所以我链接了项目代码并添加了赏金,希望有人能看到我明显缺少的东西。

项目:http://heatonresearch.com/

谷歌代码中的SupportVectorMachine类:https://code.google.com/p/encog-cs/source/browse/trunk/encog-core/encog-core-cs/ML/SVM/SupportVectorMachine.cs

EN

回答 1

Stack Overflow用户

发布于 2013-05-30 04:09:45

你不能有多类SVM。支持向量机只能分为两类。当然,有一些方法可以将它们用于多类分类。他们是一对一和一对一。

在一对一中,您为每对类训练(k *(k-1))个/2支持向量机。然后你让他们投票,得票率最高的班级获胜。

在one-vs-all中,您只有k个SVM,并且对于每个类,您可以针对其他类训练一个SVM,然后再次让它们投票并选择获胜者。

我不知道在Encog中是否支持一对一和一对一,在最坏的情况下你可以自己写。然而,我确信你看错了代码库的一部分。它很可能不会出现在SVM的实现中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16743771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档