【问题标题】:svm conceptual querysvm 概念查询
【发布时间】:2013-03-21 07:48:56
【问题描述】:

我有一些关于 SVM 的基本概念查询 - 如果有人能在这方面指导我,那就太好了。我一直在学习书籍和讲座,但无法正确获得这些问题的答案

  1. 假设我有 m 个特征数据点 - m > 2。我如何知道数据点是否线性可分?如果我理解正确,线性可分数据点 - 不需要任何特殊内核来找到超平面,因为不需要增加维度。

  2. 说,我不确定数据是否线性可分。我试图得到一个具有线性内核的超平面,一次有松弛,一次没有松弛,拉格朗日乘数。我会看到这两个超平面的训练和测试数据的错误率有什么不同。如果我理解正确,如果数据不是线性可分的,并且如果我没有使用松弛度,那么就不可能有任何最佳平面。如果是这样的话,支持向量机算法是否应该在不同的运行中给我不同的超平面。现在当我引入松弛时——我是否应该总是得到相同的超平面,每次运行?以及如何从超平面的拉格朗日乘数中找出数据是否线性可分。

  3. 现在说从 2 我以某种方式知道数据在 m 维上不是线性可分的。所以我会尝试增加维度,看看它是否可以在更高的维度上分离。我怎么知道我需要走多高?我知道计算不会进入那个空间 - 但是有什么方法可以从 2 中找出 3 的最佳内核(即我想找到一个线性分离的超平面)。

  4. 什么是在 Matlab 中可视化超平面和数据点的最佳方法,其中特征维度可以高达 60 - 并且超平面的维度 > 100(即数百个数据点并使用Gaussian Kernels 特征向量变为 > 100 维)。

如果有人能解开这些疑虑,我将不胜感激 问候

【问题讨论】:

    标签: machine-learning svm


    【解决方案1】:

    我将尝试专注于您的问题(1),(2)和(3)。在实践中,最重要的问题不是如果问题变得线性可分离,但分类器在未经看不见的数据上执行程度(即它分类的程度)。似乎您想要找到一个良好的内核,其中数据是线性可分离的,并且您将始终能够这样做(考虑在每个训练点放置一个极窄的高斯RBF),但你真正想要的是看不见的数据表现很好。所说的:

    • 如果问题没有线性可分离,而不使用Slacks,则优化将失败。这取决于实现和特定的优化算法如何失败,它不会收敛?,它是否找不到下降方向?它是否遇到数值困难?即使您想要确定休闲案例,您仍然可以遇到数值困难,并单独将使您的线性可分离性算法不可靠
    • 您需要多高?那是一个基本问题。它被称为数据表示问题。对于直接解决方案,人们使用举行数据(人们不关心线性可分性,他们关心良好的良好性能,并且执行参数搜索(例如RBF内核可能比线性内核更严格更具表现力)纠正伽玛。因此,问题成为您的数据的好伽玛。参见例如本文:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.880
    • 我认为Lagrangian乘法器的值与线性可分性之间存在微不足道的连接。你可以尝试一个值为c的高alphas,但我不确定你会说太多。

    【讨论】:

    • carlos - 谢谢你写回来。我想我理解了答案1.我试图在数据集上使用线性内核,该数据集是不是线性可分离的。我用自己的书面内核Adatron,也是来自Matlab的Quadprog,但我没有从Quadprog得到答案(它要求更多的迭代),并且在KA方法中,我的Alpahs变得非常大的ex​​p(110)。所以我猜这意味着。 span>
    • 现在我使用了RBF,得到了适当的alphas和零训练错误 - 无论是没有松弛。问题是 - 如何知道我的超平面之间是否有数据点,即,是否使用sulackness或不用于我的最终模型以用于分类。 span>
    • 抱歉我重复的cmets - 但试图围绕自己的问题。如果我有一个没有松弛的融合算法,那么确认训练数据是最佳可分离的? span>
    猜你喜欢
    • 1970-01-01
    • 2015-10-09
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    相关资源
    最近更新 更多