点到超平面距离推导

SVM的函数间隔定义中会用到点到超平面距离的推导,《统计学习方法》中对此没有详细的解释,当然这个问题有许多解法,找到了一种比较直观的解法如下。

给定超平面\((\vec w, b)\)\(\vec w \cdot \vec x + b = 0\), 其中\(\vec w \in R^n\)\(b \in R\)\(\vec x \in R^n\),则空间中任意一点\(\vec {x_0} \in R^n\)到超平面的距离为: \[d = \frac{1}{\|w\|}|\vec w \cdot \vec {x_0} + b|\]

首先推导\(\vec w\)是超平面的法向量。假设有两个点\(\vec {x_1}\), \(\vec {x_2}\)在该超平面上,则有: \[\vec w \cdot \vec {x_1} + b = 0\] \[\vec w \cdot \vec {x_2} + b = 0\]

易得 \[\vec w \cdot (\vec {x_1} - \vec {x_2})= 0\]

则,\(\vec w\)是该超平面的法向量。

\(\vec {x_0}\)到该超平面的距离即为它到超平面上的任意一点的向量与单位法向量的点积,不妨设该点为\(\vec {x_1}\): \[d = |\frac{\vec w}{\|w\|} \cdot (\vec {x_0} - \vec {x_1})| = |\frac{\vec w \cdot \vec {x_0} - \vec w \cdot \vec {x_1}}{\|w\|}|\]

由于\(\vec {x_1}\)在该超平面上,有: \[\vec w \cdot \vec {x_1} + b = 0\]

因此: \[d = \frac{|\vec w \cdot \vec {x_0} + b|}{\|w\|}\]