【问题标题】:How To Do Linearly Separable Binary Classification?如何进行线性可分二元分类?
【发布时间】:2015-03-31 12:59:59
【问题描述】:

我想解决以下优化问题 -

成本函数: 1/2 ||W||^2

服从: Y_i(w.X_i - b) >= 1

其中X 是一个 700x3 矩阵,Y 是一个向量,用于存储这些实例的类标签(值为 1/-1),w.X_iwX_i 的点积.

我正在使用 CVX -

cvx_begin
    variable W(3);
    variable B;
    minimize (0.5*W'*W)
    subject to 
        Y'*(X*W - B) >= 1;
cvx_end

那么,我正在密谋,w1.x1 + w2.x2 - b 哪个似乎没有分离超平面?

我做错了什么?

【问题讨论】:

  • 你不应该在密谋w1.x1 + w2.x2 +w3.x3 - b吗?
  • 在这种情况下,分离平面不应该只有 3 个变量吗?

标签: matlab machine-learning classification svm cvx


【解决方案1】:

简而言之: 当您执行w1.x1 + w2.x2 - b 时,您试图在特定位置指定超平面,这也与在向量上指定特定点相同。要在 3D 空间中执行任一操作,您需要使用所有三个维度,因此:w1.x1 + w2.x2 +w3.x3 - b

更长的时间: 在执行这样的线性分类时,可以通过两种方式查看任务:

  1. 找到一个分离超平面,使得一个类的所有样本都在一侧,而另一类的所有样本都在另一侧。

  2. 找到样本所在的多维空间到一维线的投影,使得线上有一个点将它们清楚地分开。

这些是相同的任务,因为 2 中的单一维度本质上是每个样本与分离超平面的距离(以及所述样本在哪一侧)。我发现记住这两个观点是有帮助的,特别是因为分离超平面是与一维向量正交的平面。

因此,在您正在处理的情况下,模型提供的权重向量w 用于将矩阵X 中的样本投影到一维线上,偏移量b 表示沿哪个点这个向量出现了分离超平面。通过从投影值中减去b,它们被移动,使得该超平面与点 0 处的线正交,从而实现简单的阈值化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2016-07-26
    • 2013-02-04
    • 1970-01-01
    • 2020-09-09
    • 2021-05-24
    • 2015-07-14
    相关资源
    最近更新 更多