线性SVM二维二元分类分隔线求解问询
线性SVM二维二元分类分隔线求解问询
你好呀!先给你的思路点个赞——找两类凸包之间的最近点对,这个方向完全是对的,因为线性SVM的最优分隔超平面(这里就是直线)本质上就是两类凸包之间最小间隙的中垂线。不过中间有些细节需要调整,咱们一步步理清楚:
先纠正两个小计算错误:
- 点(1,1)和(5,3)之间的距离不是4哦,应该用欧氏距离公式计算:
√[(5-1)² + (3-1)²] = √(16+4) = √20 = 2√5 - 这两个点的中点也不是(3,2.5),而是
((1+5)/2, (1+3)/2) = (3, 2)
- 点(1,1)和(5,3)之间的距离不是4哦,应该用欧氏距离公式计算:
关于分隔线的推导:
SVM的分隔线是连接最近点对的线段的垂直平分线,所以我们先算这条线段的斜率:
线段(1,1)到(5,3)的斜率为(3-1)/(5-1) = 2/4 = 0.5
那么垂直平分线的斜率(也就是你要找的k)是它的负倒数,即k = -2接下来用中点(3,2)代入直线方程
x₂ = k·x₁ + d求截距d:2 = -2*3 + d→ 解得d = 2 + 6 = 8所以最终的SVM分隔线就是
x₂ = -2x₁ + 8再回应你的疑问:
你之前把d当成距离4是混淆了“间隙距离”和“直线截距”的概念,d是直线在x₂轴上的截距,不是两点间的距离。另外,分隔线的斜率k确实是连接最近点对线段的法线斜率,这个核心思路是对的,但要注意是线段的垂直方向(法线方向)对应的斜率,而不是“中点的法线”——中点本身没有法线的说法,应该是指连接最近点对的线段的法线方向。
备注:内容来源于stack exchange,提问作者Daniil Yefimov
相关产品推荐
相关产品推荐

