机器学习中点到平面的距离公式及推导。

机器学习中,超平面常常被定义为:

\[W X + b = 0\]

$W$与$X$都是向量,即$\vec W$ , $\vec X$ , 通常为了方面我们都不写向量符号。相应的,为了简化,也不写转置符号

通常,向量指列向量,即$n \times 1$ , 故$W \cdot X$的标准写法为$\vec {W^T} \cdot \vec X$ , 为了表达的简洁,本文在无歧义情况下全部使用$W X$这种简单的记号。

区别于一下我们常写的直线方程: $y = kx + b$ ,其实如果从向量的角度来看它,它其实定义了如下的一条直线:

\[(k , -1) \cdot (x , y) + b = 0\]

我们取$\vec W = (k , -1)$ , $\vec X = (x , y)$ , 就表示为了在机器学习中常见的形式:$W X + b = 0$ 。

所以,机器学习中,标准的平面方程,都写作:$W X + b = 0$ , 下面的公式及推导都以此为基础。

平面法向量

$W X + b = 0$的平面法向量为$W$ .

推导

设平面上任意两点:$X_1 , X_2$ , 因为在平面上,自然满足平面方程:

\[\begin{split} W X_1 &= 0 \\ W X_2 &= 0 \end{split}\]

两式相减,即有$W(X_1 - X_2) = 0$ , $(X_1 - X_2)$表示平面上的任意向量,则相应的$W$则可表示为平面的法向量。

点到平面距离

设空间中的点$Q = \vec X_0$(点用向量的形式表示),空间中的平面$W X + b = 0$ , 则点到平面的距离为:

\[d = | \frac{W X_0 + b}{|| W ||_2} |\]

在机器学习中这也被称为几何间隔。相应的函数间隔被定义为:

\[\hat y = W X_0 + b\]

可以认为函数间隔是认为定义的,而几何间隔是可以利用平面知识求得的。下面推导几何间隔。

推导几何间隔

现在已知平面$WX + b = 0$的法向量就是$W$ , 设平面中的一点$P$为$X_2$(因为在平面上,所以满足$W X_2 + b = 0$),则向量$\vec {PQ} = X_2 - X_1$ .

现在我们只需算向量$\vec{PQ}$在平面法向量的投影即可。该投影即为点$Q$到平面的距离。

根据向量的投影公式:

\[\begin{split} d &= | \frac{\vec{PQ} \cdot W}{||W||_2} | = |\frac{W \cdot(X_2 - X_1)}{||W||_2}| \\ &= |\frac{W X_2 - W X_1}{||W||_2}| = |\frac{-b - W X_1}{||W||_2}| \\ &= |\frac{W X_1 + b}{||W||_2}| \end{split}\]

上述推导使用了$W X_2 = -b $这一已知条件。