Logo
Section 1 / 9

支持向量机简介

了解支持向量机。

导入

支持向量机简介

了解支持向量机。

在基于回归的算法(如线性回归)中,我们使用一条最佳拟合线来预测连续目标。

如果我们尝试使用线性回归算法来预测某些类别(例如 0/1)呢?这并不是一个好主意(我们通常会将分类目标或标签转换为整数类别 0/1)。

为了完成分类任务,我们不再将这条线视为拟合数据点,而是将其视为分割空间的边界。

...
Regression vs. classification

如果我们考虑根据误分类的程度来处理误分类情况呢?例如,我们可以对那些深入到另一类别区域的观测施加更强的惩罚。

此外,如果误分类来自决策边界,那么越错误的分类,惩罚越高。我们并不介意一定的误差范围,甚至那些靠近边界(几乎被误分类)但正确分类的观测也可能带来惩罚。

...
Support vector machine
...
Linearly separable vs. not linearly separable data examples

让我们从线性可分的例子开始,看看 SVM 算法如何应用于此类分类问题。该算法通过最大化每类最近点之间的间隔来拟合一个决策边界。这通常被称为 最大间隔超平面 (MMH)。寻找决策边界的直觉非常简单,算法会寻找与两类之间任何数据点距离最远的表面。

SVM 用来拟合该边界的点称为支持向量。

下图显示了两条决策边界(红色和绿色)及其以虚线表示的间隔。绿色的间隔比红色的更宽。

带箭头的线段是支持向量与决策边界之间的相应距离。绿色的是最大间隔超平面。

...
Support vectors

\small \begin{align*}w^T\cdot x_{+} + b &= 1\ w^T\cdot x_{-} + b &= -1 \end{align*}

...
Example of linearly separable data

\small f(X) = \begin{cases}1 & \text{if }w \cdot x + b > 0\0 & \text{otherwise}\end{cases}

\small \underset{w}{\text{max}} \frac{2}{||w||} \quad \text{subject to} \begin{cases}\text{if } y_i = 1 & w^T \cdot x_i + b \ge 1 \ \text{if } y_i = -1 & w^T \cdot x_i + b \le -1 \end{cases} \text{for } i \text{ in } N

\small \underset{w}{\text{min }} \text{||}w\text{||}^2 \quad \text{subject to} \quad y \cdot (w^T\cdot x_i + b) \ge 1

\small \begin{align*}\text{hinge loss} &= \sum_{i=1}^n \max\left(0, 1 - y_i\cdot(w^T \cdot x_i + b)\right) \tag{}\ \because f(x_i) &= (w^T\cdot x_i + b) \ \implies \text{hinge loss} &= \sum_{i=1}^n max\left(0, 1 - y_i \cdot f(x_i)\right)\end{align*}

...
The hinge loss

\small \min \text{||}w\text{||}^2 + C\sum_{i=1}^N \epsilon_i \quad \text{subject to} \quad y_i(w^T x_i + b) \ge 1 - \epsilon_i

\small \underset{w}{\text{min }} \text{||}w\text{||}^2 + C\sum_{i=1}^N max\left(0, 1 - y_i(w^T x_i + b)\right)

...
The regularizing hyperparameter

Bootstrapping 和置信区间

可视化支持向量机的工作原理