支持向量机公式求解过程

支持向量机(SVM)的间隔是通过最大化两类样本之间的最小距离来推断的。以下是详细的推导过程:

1. 超平面方程

SVM的目标是找到一个超平面,将两类样本分开。超平面的方程可以表示为:

\mathbf{w} \cdot \mathbf{x} + b = 0

其中,\mathbf{w} 是超平面的法向量,b 是偏置项。

2. 间隔的定义

间隔(Margin)是指两类样本到超平面的最小距离之和。对于任意样本点 \mathbf{x}_i,其到超平面的距离为:

\text{距离} = \frac{|\mathbf{w} \cdot \mathbf{x}_i + b|}{\|\mathbf{w}\|}

对于正确分类的样本,有 y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1,因此距离可以简化为:

\text{距离} = \frac{y_i (\mathbf{w} \cdot \mathbf{x}_i + b)}{\|\mathbf{w}\|}

3. 最大化间隔

为了最大化间隔,我们需要最大化最小距离。假设所有样本都被正确分类,即 y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1,则最小距离为:

\text{最小距离} = \frac{1}{\|\mathbf{w}\|}

因此,最大化间隔等价于最小化 \|\mathbf{w}\|。为了简化计算,通常最小化\frac{1}{2} \|\mathbf{w}\|^2

4. 优化问题

SVM的优化问题可以表示为:

\min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2

约束条件为:

y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \quad \forall i

5. 原始优化问题

SVM的原始优化问题是:

\min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2

约束条件为:

y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \quad \forall i = 1, 2, \dots, n

其中:

  • \mathbf{w} 是超平面的法向量,
  • b 是偏置项,
  • y_i 是样本的标签(y_i \in \{+1, -1\})
  • \mathbf{x}_i 是样本特征。

6. 引入拉格朗日乘子

为了将约束优化问题转化为无约束优化问题,我们引入拉格朗日乘子 \alpha_i \geq 0(每个样本对应一个乘子)。拉格朗日函数定义为:

L(\mathbf{w}, b, \alpha) = \frac{1}{2} \|\mathbf{w}\|^2 - \sum_{i=1}^n \alpha_i \left[ y_i (\mathbf{w} \cdot \mathbf{x}_i + b) - 1 \right]

其中:

  • \alpha_i 是拉格朗日乘子,
  • y_i (\mathbf{w} \cdot \mathbf{x}_i + b) - 1 \geq 0 是约束条件。

7. 对拉格朗日函数求极值

为了求解拉格朗日函数的极值,我们需要对 \mathbf{w}b 求偏导,并令其为零。

(1) 对 \mathbf{w} 求偏导:

\frac{\partial L}{\partial \mathbf{w}} = \mathbf{w} - \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i = 0

解得:
\mathbf{w} = \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i

(2) 对 b 求偏导:

\frac{\partial L}{\partial b} = -\sum_{i=1}^n \alpha_i y_i = 0

解得:
\sum_{i=1}^n \alpha_i y_i = 0


8. \mathbf{w}b 的表达式代入拉格朗日函数

现在,我们将 \mathbf{w} = \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i\sum_{i=1}^n \alpha_i y_i = 0 代入拉格朗日函数 L(\mathbf{w}, b, \alpha)

(1) 代入 \mathbf{w} 的表达式

首先,计算 \|\mathbf{w}\|^2
\|\mathbf{w}\|^2 = \mathbf{w} \cdot \mathbf{w} = \left( \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i \right) \cdot \left( \sum_{j=1}^n \alpha_j y_j \mathbf{x}_j \right)

展开内积:
\|\mathbf{w}\|^2 = \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j)

因此,\frac{1}{2} \|\mathbf{w}\|^2 变为:
\frac{1}{2} \|\mathbf{w}\|^2 = \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j)

(2) 代入约束条件

接下来,处理拉格朗日函数中的约束项:
\sum_{i=1}^n \alpha_i \left[ y_i (\mathbf{w} \cdot \mathbf{x}_i + b) - 1 \right]

\mathbf{w} = \sum_{j=1}^n \alpha_j y_j \mathbf{x}_j 代入:
y_i (\mathbf{w} \cdot \mathbf{x}_i + b) = y_i \left( \sum_{j=1}^n \alpha_j y_j \mathbf{x}_j \cdot \mathbf{x}_i + b \right)

因此,约束项变为:
\sum_{i=1}^n \alpha_i \left[ y_i \left( \sum_{j=1}^n \alpha_j y_j \mathbf{x}_j \cdot \mathbf{x}_i + b \right) - 1 \right]

展开并整理:
\sum_{i=1}^n \alpha_i y_i \sum_{j=1}^n \alpha_j y_j (\mathbf{x}_j \cdot \mathbf{x}_i) + \sum_{i=1}^n \alpha_i y_i b - \sum_{i=1}^n \alpha_i

根据 \sum_{i=1}^n \alpha_i y_i = 0,第二项 \sum_{i=1}^n \alpha_i y_i b = 0,因此约束项简化为:
\sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) - \sum_{i=1}^n \alpha_i

(3) 合并结果

\frac{1}{2} \|\mathbf{w}\|^2 和约束项代入拉格朗日函数:
L(\alpha) = \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) - \left( \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) - \sum_{i=1}^n \alpha_i \right)

化简:
L(\alpha) = \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j)


9. 对偶问题的形式

对偶问题是一个关于拉格朗日乘子 \alpha_i 的优化问题:

\max_{\alpha} \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j)

约束条件为:
0 \leq \alpha_i \leq C, \quad \sum_{i=1}^n \alpha_i y_i = 0

其中,\alpha_i 是拉格朗日乘子,C 是正则化参数。


10. 核函数的引入

如果数据是非线性可分的,可以通过核函数 K(\mathbf{x}_i, \mathbf{x}_j) 将样本映射到高维空间。此时,对偶问题中的内积 \mathbf{x}_i \cdot \mathbf{x}_j 被替换为核函数:

\max_{\alpha} \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j K(\mathbf{x}_i, \mathbf{x}_j)


11. 对偶问题的最终形式

对偶问题的目标函数为:
\max_{\alpha} \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j K(\mathbf{x}_i, \mathbf{x}_j)

约束条件为:
\alpha_i \geq 0, \quad \forall i = 1, 2, \dots, n
\sum_{i=1}^n \alpha_i y_i = 0

其中:

  • K(\mathbf{x}_i, \mathbf{x}_j) 是核函数,用于计算样本 \mathbf{x}_i\mathbf{x}_j 的内积。
  • \alpha_i 是拉格朗日乘子。

12. 求解方法

对偶问题是一个凸二次规划问题,可以使用以下方法求解:

(1) 序列最小优化(SMO)算法

SMO 是专门为 SVM 设计的快速求解算法。它的核心思想是将大优化问题分解为一系列小优化问题,每次只优化两个拉格朗日乘子 \alpha_i\alpha_j,同时固定其他乘子。

SMO 的步骤:
  1. 选择两个乘子:选择一对拉格朗日乘子 \alpha_i\alpha_j 进行优化。
  2. 优化子问题:固定其他乘子,求解关于 \alpha_i\alpha_j 的二次规划问题。
  3. 更新乘子:根据优化结果更新 \alpha_i\alpha_j
  4. 检查收敛:重复上述步骤,直到满足收敛条件(如 KKT 条件)。
优点:
  • 高效,特别适合大规模数据集。
  • 只需要计算核函数的值,避免了高维空间的计算。

(2) 通用的二次规划求解器

如果数据集较小,可以使用通用的二次规划求解器(如 CVXOPT、quadprog 等)直接求解对偶问题。

步骤:
  1. 将对偶问题转化为标准的二次规划形式:
    \min_{\alpha} \frac{1}{2} \alpha^T Q \alpha - \mathbf{1}^T \alpha
    其中:
    • Q_{ij} = y_i y_j K(\mathbf{x}_i, \mathbf{x}_j) 是核矩阵,
    • \mathbf{1} 是全 1 向量。
  2. 添加约束条件:
    \alpha_i \geq 0, \quad \sum_{i=1}^n \alpha_i y_i = 0
  3. 使用求解器求解。
优点:
  • 简单直接,适合小规模问题。
  • 不需要实现复杂的算法。

13. 求解后的步骤

求解对偶问题后,我们需要根据 \alpha_i 计算超平面的参数 \mathbf{w}b

(1) 计算 \mathbf{w}

根据对偶问题的解,超平面的法向量 \mathbf{w} 可以表示为:
\mathbf{w} = \sum_{i=1}^n \alpha_i y_i \mathbf{x}_i

如果使用核函数,\mathbf{w} 不需要显式计算,因为预测时直接使用核函数。

(2) 计算 b

偏置项 b 可以通过支持向量计算。对于任意支持向量 \mathbf{x}_s,满足:
y_s (\mathbf{w} \cdot \mathbf{x}_s + b) = 1

因此:
b = y_s - \sum_{i=1}^n \alpha_i y_i K(\mathbf{x}_i, \mathbf{x}_s)

通常对所有支持向量计算 b 并取平均值,以提高稳定性。


14. 预测新样本

对于新样本 \mathbf{x}\,其预测结果为:
f(\mathbf{x}) = \text{sign}\left( \sum_{i=1}^n \alpha_i y_i K(\mathbf{x}_i, \mathbf{x}) + b \right)\

其中:

  • \text{sign}(\cdot)\ 是符号函数,返回 +1 \-1 \
  • K(\mathbf{x}_i, \mathbf{x})\ 是核函数。

总结

对偶问题的推导过程如下:

  1. 从原始优化问题出发,引入拉格朗日乘子。
  2. 对拉格朗日函数求极值,得到 \mathbf{w}b 的表达式。
  3. 将结果代入拉格朗日函数,得到对偶问题的目标函数。
  4. 引入核函数以处理非线性问题。
  5. 通过求解对偶问题,得到拉格朗日乘子 \alpha_i,并确定支持向量。
  6. 最终计算出超平面的参数 \mathbf{w}b

对偶问题的形式使得SVM能够高效地处理高维数据,并且通过核函数扩展到非线性分类问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容