支持向量机(Support Vector Machine )是机器学习中经典的分类算法。
![](https://i-blog.csdnimg.cn/blog_migrate/4d7cb159c1868346514ddee59256610b.png)
如上图所示,其目的是找到尽量宽(与中间边界最近的样本点尽可能远)的决策边界将两类样本分开,在高维的数据中决策边界是一个超平面。
距离的计算:
计算超平面最近样本点的距离:
- 超平面表达式为:
w T x + b = 0 w^{T}x+b=0 wTx+b=0 - 假设超平面中的一个点 x ′ x^{'} x′,则 w T x ′ = − b w^{T}x^{'}=-b wTx′=−b 。
- 则距离 d = ∥ x − x ′ ∥ ∗ c o s θ d=\left \| x-x^{'} \right \|\ast cos\theta d=∥∥∥x−x′∥∥∥∗cosθ
- 可得 d ( x , b , w ) = ∣ w T ∥ w ∥ ( x − x ′ ) ∣ = 1 ∥ w ∥ ∣ w T x + b ∣ d(x,b,w)=\left | \frac{w^{T}}{\left \| w \right \|}(x-x^{'}) \right |= \frac{1}{\left \| w\right \|}\left | w^{T}x+b \right | d(x,b,w)=∣∣∣∥w∥wT(x−x′)∣∣∣=∥w∥1∣∣wTx+b∣∣
![](https://i-blog.csdnimg.cn/blog_migrate/29d84fa2ced906d20779b1c292146f0c.png)