基于支持向量机的分类预测学习
1、支持向量机介绍
1.1 二分类问题延展
首先我们在去了解支持向量机的作用原理之前,我们应该先弄明白支持向量机是解决分类问题的。先前我们在Task1逻辑回归解决二分类问题中,我们在二维情况下,要找到一条线将不同类的样本划分开来。从图中不难看出,仅仅是将两种不同类样本划分开,可以有很多种选择。那究竟哪一种比较好?或者说我们应该如何找出最优的划分曲线。这就是支持向量机要做的东西。
1.2 间隔、支持向量、支持向量机模型
1.2.1 间隔与支持向量
在样本空间中,划分超平面可以用线性方程来表示: w T x + b = 0 w^{T}x+b=0 wTx+b=0。这个超平面完全由w( w = ( w 1 ; w 2 ; w 3 ; . . . ; w d ) w=(w_{1};w_{2};w_{3};...;w_{d}) w=(w1;w2;w3;...;wd))和b来决定,其中w为超平面的法向量,b为位移项。
我们再考虑用逻辑回归进行分类时,我们将 z > 0 z>0 z>0时,令 y = 0 y=0 y=0; z > 0 z>0 z>0时,令 y = 1 y=1 y=1。参考于此,我们同样方法得到下列式子 { w T x i ≥ + 1 , y i = + 1 w T x i ≤ − 1 , y i = − 1 \begin{cases} & \text{} w^{T}x_{i}\geq +1,y_{i}=+1\\ & \text{} w^{T}x_{i}\leq -1 ,y_{i}=-1 \end{cases} {
wTxi≥+1,yi=+1wTxi≤−1,yi=−1
根据上式,其中 γ = 2 ∥ w ∥ \gamma =\frac{2}{\left \| w \right \|} γ=∥w∥2( ∥ w ∥ {\left \| w \right \|} ∥w∥是二阶范数, ∥ w ∥ = w T w {\left \| w \right \|}=\sqrt{w^{T}w} ∥w∥=wTw)被称为间隔,而画红圈的样本是恰好使得上式的等号成立,它们就被成为支持向量。
关于间隔是如何求出来的,是要根据样本空间上的点到超平面的距离公式算出来的。距离公式是: r = w T x + b ∥ w ∥ r=\frac{w^{T}x+b}{\left \| w \right \|} r=∥w∥wTx+b,推导如下:
我们已经知道 w w w是划分超平面的法向量,对于求点 x x x到超平面 w T x + b = 0 w^{T}x+b=0 wTx+b=0的距离,就是求 x x 0 → \overrightarrow{xx_{0}} xx0在 w ⃗ \vec{w} w上的投影。
于是,有:
r = ( x ⃗ − x 0 ⃗ ) ⋅ w ⃗ ∣ ∣ w ⃗ ∣ ∣ r=(\vec{x}-\vec{x_{0}})\cdot \frac{\vec{w}}{||\vec{w}||} r=(x−x0)⋅∣∣w∣∣w
w T x 0 + b = 0 w^{T}x_{0}+b=0 wTx0+b=0,代入上式
得: r = w T x + b ∥ w ∥ r=\frac{w^{T}x+b}{\left \| w \right \|}