【问题标题】:Create lookup table from libsvm training data in matlab从 matlab 中的 libsvm 训练数据创建查找表
【发布时间】:2013-07-06 17:12:55
【问题描述】:

我正在使用 libsvm 的 svmtrain 函数来解决 3 个特性和 2 个类别的问题。出于其他原因,我想根据 svmtrain 结果中的决策边界构建一个查找表。

LUT 有 3 个维度 - 每个特征一个维度,每个条目是 -1 或 1(--> 2 类问题)。

有人知道如何使用训练数据构建查找表吗?

【问题讨论】:

    标签: matlab svm libsvm


    【解决方案1】:

    不确定您尝试使用此查找表来完成什么。 SVM 分类器构造一个分离的超平面。一个点的标签由它所在的超平面的一侧决定。

    n 维空间中的超平面总是将它分成两部分。通常,您无法通过使用小于 n 的维度来确定点在哪一侧。您的查找表方法不起作用。

    考虑以下二维超平面:x1+x2=0,并且您想基于一维“分类”一个点,例如(x1val, ?) -> x1val + ? > 0. 这是不可能的。

    编辑:

    仍然不确定您要做什么。如果您只是想将您的训练集制成表格,只需使用您的模型对其进行预测并按照您想要的方式构建结果。

    不过,我看不出有任何理由这样做,所以我想我不明白你想做什么。

    【讨论】:

    • 我想我的问题不够清楚:我要分类的点也是 3 维的。参考您的 2d 示例:应该可以确定点 (x1val,x2val) 位于超平面的哪一侧。
    • 我是这么理解的。但是您不能仅根据 3 个维度中的 1 个对所述点进行分类。这就是你想用 LUT 做的事情吗?
    • 正如我刚刚在回复中编辑的那样,分类基于所有 3 个维度。
    猜你喜欢
    • 2013-10-10
    • 2013-08-17
    • 2014-02-13
    • 2013-06-11
    • 2014-02-28
    • 2014-11-15
    • 2013-07-01
    • 2014-06-11
    • 2012-02-27
    相关资源
    最近更新 更多