我在2D图中有很多点。红点表示实验稳定时,黑点表示不稳定。在此对数-对数图中,两个区域明显由一条线隔开,我想找到最佳的“分离线”,即给出将两个区域分开并在此准则上具有最小误差的准则的线。我在各种书籍和在线上进行了搜索,但是找不到任何解决此问题的方法。您知道任何工具吗?首先必须定义错误。我想到的一件事是:如果未知线是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.


并且我们将误差之和最小化。由于存在阈值,所以这并不简单。
如果你们知道解决该问题的一些参考或方法链接,将不胜感激。
干杯
一个。

最佳答案

一些参考:
维基百科
Linear classifier
Support vector machine(SVM),
scikit-learn SVM
一个有3个类的示例,
questions/tagged/classification on SO
另外3000个questions/tagged/classification on stats.stackexchange
另外400个questions/tagged/classification on datascience.stackexchange

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


找到红色点的中点Rmid,黑色的Bmid,地段的中点
从Rmid到Bmid画线L
您想要的是穿过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 a B比称B a R差10倍或100倍。

如果红点和黑点的散布/协方差不同,请参见
Fisher's linear discriminant

(“ SVM”是用于“良好”分离超平面/超曲面的一类方法的术语-
没有“机器”。)

10-08 07:57