3

我在二维图中有很多点。红点表示我的实验稳定时,黑色表示不稳定。在这个对数图中,这两个区域被一条线清楚地分开,我想找到最好的“分隔线”,即给出分隔两个区域的标准并且在该标准上具有最小误差的线。我在各种书籍和网上进行了搜索,但找不到任何解决此问题的方法。你知道任何工具吗?首先,必须定义错误。我想到的一件事是:如果未知线是 ax+by+c=0,那么对于每个点 (x0,y0),我们定义一个误差函数,如下所示:

E=0 if point lays on the correct side of the line.
E= distance(a*x+b*y+c=0,(x0,y0)) = |a*x0+b*y0+c|/sqrt(a^2+b^2)   if the point
   lies on the wrong side.

我们最小化错误的总和。但并不简单,因为有一个门槛。如果你们知道解决此问题的一些参考或方法链接,将不胜感激。干杯A。

在此处输入图像描述

4

1 回答 1

3

一些参考:维基百科 线性分类器支持向量机(SVM),
scikit-learn SVM,一个有 3 个类的示例,
SO 上问题/标记/分类,stats.stackexchange 上还有
3000 个问题/标记/分类,还有 400 个问题/标记/分类 datascience.stackexchange

对于您的 2 类问题,请执行以下步骤:

  1. 找到红点的中点 Rmid、黑点的 Bmid、地段的中点

  2. 从 Rmid 到 Bmid 画线 L

  3. 通过 Mid 的(超)平面,垂直于线 L,是你想要的:一个线性分类器。
    或者您可以只比较距离 |x - Rmid| 和 |x - Bmid|:称 x 更接近 Rmid 红色,更接近 Bmid 黑色。

但还有更多要说的。将所有数据点投影到直线 L 上给出了一个一维问题:

rrrrrrrrrrbrrrrrrrrbbrrr | rrbbbbbbbbbbbbbbb

最好在这条线上绘制所有点,以便查看和更好地理解数据。
(对于 5 或​​ 10 维的点云,从不同角度查看 2d 或 3d 切片可能很有趣和/或信息丰富。)

每切,“|” 上面,给出了 4 个数字的“混淆矩阵”:

R-correct   R-called-B  e.g.  490   10
B-called-R  B-correct          50  450

这可以大致了解您的预测红/黑的错误率;打印出来,讨论一下。
最好的削减取决于成本,例如,如果称 R 为 B 比称 B 为 R 差 10 倍或 100 倍。

如果红点和黑点具有不同的散射/协方差,请参见 Fisher 的线性判别式

(“SVM”是一类“好”分离超平面/超曲面的方法的行话——没有“机器”。)

于 2013-06-11T10:52:28.600 回答