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

假设有点x0=(x01,x02,...x0m)x_0 = (x_0^1,x_0^2,...x_0^m)x0​=(x01​,x02​,...x0m​)不在超平面y=wxby=wx*by=wx∗b上,其中w=(w1,w2,...wm)w = (w^1,w^2,...w^m)w=(w1,w2,...wm),求x0x_0x0​到y=wxby=wx*by=wx∗b的距离。

步骤一:证明www为超平面y=wx+by=wx+by=wx+b的法向量。
在超平面上取两个点x1x2x_1,x_2x1​,x2​,则有
wx1+b=0wx_1+b = 0wx1​+b=0
wx2+b=0wx_2+b = 0wx2​+b=0
wx1+b(wx2+b)=0wx_1+b-(wx_2+b) =0wx1​+b−(wx2​+b)=0
wx1wx2=0wx_1-wx_2=0wx1​−wx2​=0
w(x1x2)=0w(x_1-x_2)=0w(x1​−x2​)=0
其中x1x2x_1-x_2x1​−x2​为位于超平面上的向量x2x1\vec{x_2x_1}x2​x1​
www与x1x2x_1-x_2x1​−x2​内积为0, 由此得www与超平面y=wx+by=wx+by=wx+b正交。

步骤二:在y=wx+by=wx+by=wx+b上取点x0x_0x0​的映射x3x_3x3​,

  • x3x_3x3​位于法平面上,故而 wx3+b=0wx_3+b=0wx3​+b=0。
  • x0x3\vec{x_0 x_3}x0​x3​​平行于超平面上的法向量www,故而有:
    wx0x3=wx0x3cosθ\lvert w \vec{x_0x_3}\rvert = \lvert w \rvert \lvert{x_0x_3}\rvert cos \theta∣wx0​x3​​∣=∣w∣∣x0​x3​∣cosθ
    =wx0x3=wddx0,wL2= \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∣∣x0​x3​∣=∣∣w∣∣d(d为x0​到超平面的距离,∣∣w∣∣为L2​范数)
    w.x0x3=w.(x3x0)\rvert w . \vec {x_0 x_3}\rvert = \rvert w. (x_3-x_0)\rvert∣w.x0​x3​​∣=∣w.(x3​−x0​)∣
    =w.x3w.x0=\rvert w.x_3 - w.x_0\rvert=∣w.x3​−w.x0​∣
    =(b+w.x0)=\rvert -(b+w.x_0)\rvert=∣−(b+w.x0​)∣
    =b+w.x0=\rvert b+w.x_0\rvert=∣b+w.x0​∣
    所以得到 wd=b+w.x0\rvert\vert w\vert\lvert d=\rvert b+w.x_0\rvert∣∣w∣∣d=∣b+w.x0​∣
    d=b+w.x0wd=\frac{\lvert b+w.x_0\lvert}{\rvert\vert w\vert\lvert}d=∣∣w∣∣∣b+w.x0​∣​
上一篇:[Python Debug]Server was Down While Running Neural Network with Keras|Jupyter Notebook运行Keras服务器宕机原因


下一篇:浅析化工行业批号管理