在 SVM 算法中,为什么向量 w 与分离超平面正交?

数据挖掘 机器学习 支持向量机
2021-10-03 00:00:41

我是机器学习的初学者。在 SVM 中,分离超平面定义为y=wTx+b. 为什么我们说矢量w正交于分离超平面?

4个回答

在几何上,向量 w 的方向正交于由定义的线 wTx=b. 这可以理解为:

先拍 b=0. 现在很清楚所有向量,x, 内积消失 w 满足这个方程,即所有与 w 正交的向量都满足这个方程。

现在将超平面从原点平移到向量 a 上。平面方程现在变为:(xa)Tw=0,即我们发现对于偏移量 b=aTw,这是向量的投影 a 到向量上 w.

在不失一般性的情况下,我们可以选择垂直于平面,在这种情况下,长度 ||a||=|b|/||w|| 它表示原点和超平面之间的最短正交距离。

因此向量 w 被称为与分离超平面正交。

让决策边界定义为 wTx+b=0. 考虑要点xaxb,位于决策边界上。这给了我们两个等式:

wTxa+b=0wTxb+b=0

减去这两个方程给我们 wT.(xaxb)=0. 请注意,向量xaxb 位于决策边界上,它是从 xbxa. 由于点积wT.(xaxb) 为零, wT 必须正交于 xaxb,然后到决策边界。

之所以 w 是超平面的法线是因为我们将它定义为:

假设我们在 3d 空间中有一个(超)平面。P0 成为这个平面上的一个点,即 P0=x0,y0,z0. 因此来自原点的向量(0,0,0) 到这点只是 <x0,y0,z0>. 假设我们有一个任意点P(x,y,z)在飞机上。向量连接PP0 然后由下式给出:

PP0=<xx0,yy0,zz0>
请注意,此向量位于平面内。

现在让 n^是平面的法线(正交)向量。所以:

n^(PP0)=0
所以:
n^Pn^P0=0
注意 n^P0 只是一个数字,等于 b 在我们的例子中,而 n^ 只是 wPx. 所以根据定义,w 与超平面正交。

使用与超平面正交的向量的代数定义:

 x1,x2 在分离超平面上,

wT(x1x2)=(wTx1+b)(wTx2+b)=00=0 .