【问题标题】:visualizing hyperplane equation of SVM可视化 SVM 的超平面方程
【发布时间】:2016-10-23 02:56:19
【问题描述】:

我一直在尝试理解 SVM 算法,但无法完全得到超平面方程。等式是-w.x-b=0。 我的理解(有很多混淆)是 - x 是构成超平面的所有向量的未知集合,而 w 是该超平面的法线向量。我们不知道w,我们需要从训练集中找到最优的w

现在,我们都知道,如果两个向量相互垂直,那么它们的点积为零。所以,如果 wx 是正常的,那么这意味着它应该是 wx=0,但为什么它是在说 w.x-b=0 或 w.x=b?(法线和垂直线相同事情,对吧?)在正常意义上,我理解如果 w.x=b,然后是 wx 不垂直且它们之间的角度大于或小于 90 度。

另一件事是,在大多数教程中(甚至 MIT 教授在他的 lecture 中)都说 x 投射在 w 上,但据我所知如果我想将 x 投影到 w 上,那么它将是 xw/| w| (没有w的方向),不只是w.x。我说的对吗?

我想,我错过了一些东西或误解了一些东西。有人可以帮我吗?

【问题讨论】:

    标签: machine-learning language-agnostic svm


    【解决方案1】:

    首先,要排队:

    • xw 的投影为 (x.w /|w|²) w。和x。 w/|w|xw 方向上的分量(因为 w/|w| 是一个单位方向向量 w)

    那么,你可能会混淆两件事:

    1. 如果x是超平面的向量,那么x.w = 0就是超平面的方程。很遗憾,我们不希望您的任何 x 位于超平面上。

    2. 在 SVM 的情况下,您不知道超平面上的任何向量 x。相反,您有一个训练集 {(x1,y1), ..., (xN, yN)},您希望从中找到法线向量 w(那么你可以描述这个超平面的任何向量x知道wx = 0)。


    因此,让我们检查您拥有数据集 {(x1,y1), ..., (xN, yN)} 的第二点 并且你想找到超平面方程,即它的法向量w,这要归功于一些特定的向量(称为支持向量)。

    • 没有理由说明这些 xi 中的任何一个都应该是 w 的正常值。此外,不可能所有 x 都垂直于超平面(如果是这样,让我们​​考虑两个向量 x1 != x2。然后 w.x1 = 0 = w.x2 => w.(x1-x2) = 0 表示 w = 0x1=x2)

    • 但我们想要的是 wU >= C 如果 U 为正(超平面的一侧)且 wU U 为负(超平面的另一侧)。

    • 对于特定的U,我们可以选择数据集中的向量。我们期望它们与这个超平面有一定的距离 D(在讲座中称为排水沟)。因此,如果 yi 为正,我们有 w.xi >= C + D。并且 w.xi

    • 让我们把 b = -C 和 D = 1(不失一般性)。如果 yi 为正,则 w.xi + b >= 1。 w.xi + b

    • 如果乘以 yi(如果 xi 为正则等于 1,否则为 -1)它导致 yi (wxi +b) > = 1.

    • 最后,通过获取支持向量,即那些定义排水沟的向量,我们得到 yi (w.xi + b ) - 1 = 0

    【讨论】:

    • x 在 w 上的投影和 x 在 w 方向上的分量有什么区别?
    • 不多。只是你规范化 w 所以它的规范 |w|在 x 到 w 的投影中没有考虑到。
    • 好的,从你的第一点我理解,在方程 wx-b=0 中,x 不是超平面上的向量,而是来自训练集的向量,对吗?
    • 为什么要w.x - b = 0?这个等式在某种程度上等同于 w.x = 0,具体取决于您的符号 here
    • 我仍然不明白你的观点“x 在 w 上的投影和 x 在 w 方向上的分量之间的差异”,可能是我很愚蠢,不明白你的意思,但是你给我的链接,那个教程也告诉他我对投影的理解。检查this page。很抱歉打扰您。
    猜你喜欢
    • 1970-01-01
    • 2018-03-12
    • 2015-08-11
    • 1970-01-01
    • 2016-07-20
    • 2011-02-08
    • 2014-01-17
    • 2014-07-13
    • 2016-12-04
    相关资源
    最近更新 更多