数学基础知识系列 - 点到超平面的距离

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/deecheanW/article/details/89057405

假设有点 x 0 = ( x 0 1 , x 0 2 , . . . x 0 m ) x_0 = (x_0^1,x_0^2,...x_0^m) 不在超平面 y = w x b y=wx*b 上,其中 w = ( w 1 , w 2 , . . . w m ) w = (w^1,w^2,...w^m) ,求 x 0 x_0 y = w x b y=wx*b 的距离。

步骤一:证明 w w 为超平面 y = w x + b y=wx+b 的法向量。
在超平面上取两个点 x 1 x 2 x_1,x_2 ,则有
w x 1 + b = 0 wx_1+b = 0
w x 2 + b = 0 wx_2+b = 0
w x 1 + b ( w x 2 + b ) = 0 wx_1+b-(wx_2+b) =0
w x 1 w x 2 = 0 wx_1-wx_2=0
w ( x 1 x 2 ) = 0 w(x_1-x_2)=0
其中 x 1 x 2 x_1-x_2 为位于超平面上的向量 x 2 x 1 \vec{x_2x_1}
w w x 1 x 2 x_1-x_2 内积为0, 由此得 w w 与超平面 y = w x + b y=wx+b 正交。

步骤二:在 y = w x + b y=wx+b 上取点 x 0 x_0 的映射 x 3 x_3

  • x 3 x_3 位于法平面上,故而 w x 3 + b = 0 wx_3+b=0
  • x 0 x 3 \vec{x_0 x_3} 平行于超平面上的法向量 w w ,故而有:
    w x 0 x 3 = w x 0 x 3 c o s θ \lvert w \vec{x_0x_3}\rvert = \lvert w \rvert \lvert{x_0x_3}\rvert cos \theta
    = w x 0 x 3 = w d d x 0 , w L 2 = \lvert w \rvert \lvert{x_0x_3}\rvert = \rvert\vert w\vert\lvert d (d为x_0到超平面的距离, \rvert\vert w\vert\lvert 为L_2范数)
    w . x 0 x 3 = w . ( x 3 x 0 ) \rvert w . \vec {x_0 x_3}\rvert = \rvert w. (x_3-x_0)\rvert
    = w . x 3 w . x 0 =\rvert w.x_3 - w.x_0\rvert
    = ( b + w . x 0 ) =\rvert -(b+w.x_0)\rvert
    = b + w . x 0 =\rvert b+w.x_0\rvert
    所以得到 w d = b + w . x 0 \rvert\vert w\vert\lvert d=\rvert b+w.x_0\rvert
    d = b + w . x 0 w d=\frac{\lvert b+w.x_0\lvert}{\rvert\vert w\vert\lvert}

猜你喜欢

转载自blog.csdn.net/deecheanW/article/details/89057405