【机器学习】支持向量机(SVM)详解:原理与优化

支持向量机 (SVM) 详解

1. 基本概念

支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,广泛应用于分类问题(如图像识别、文本分类等),也可以扩展到回归问题。SVM 的核心思想是通过寻找一个超平面(hyperplane)将数据分成两个类别,并尽量使得这两个类别之间的间隔最大,从而实现最优分类。

  • 分类问题:SVM 的目标是找到一个能够将不同类别的样本区分开来的超平面。
  • 最大间隔:通过寻找具有最大间隔的超平面来增强模型的泛化能力。
  • 支持向量:SVM 中的支持向量是离决策边界最近的样本点,它们决定了超平面的位置。

2. 数学原理

SVM 的数学原理基于优化问题,通过最大化分类间隔来实现分类。以下将通过数学推导详细介绍其基本原理。

2.1 线性可分情况

假设我们有一组训练数据 ( {(x_i, y_i)} ),其中 ( x_i \in \mathbb{R}^n ) 是输入特征,( y_i \in {-1, 1} ) 是输出标签,表示数据的类别。我们希望通过一个超平面将这两类数据分开。

  1. 超平面方程

一个超平面在 ( n )-维空间中的表示为:
w T x + b = 0 , w^T x + b = 0, wTx+b=0,
其中:

  • ( w ) 是法向量(normal vector),决定了超平面的方向;
  • ( b ) 是偏置项(bias),决定了超平面的偏移。
  1. 间隔

对于一个超平面 ( w^T x + b = 0 ),分类间隔(margin)是指从超平面到离它最近的样本点的距离。对于给定的样本点 ( x_i ),其到超平面的距离为:
distance ( x i , hyperplane ) = ∣ w T x i + b ∣ ∥ w ∥ . \text{distance}(x_i, \text{hyperplane}) = \frac{|w^T x_i + b|}{\|w\|}. distance(xi,hyperplane)=wwTxi+b.

为了获得最佳的分类性能,我们希望最大化这个间隔,即最大化 ( \frac{1}{|w|} ),这等价于最小化 ( \frac{1}{2} |w|^2 )(为了简化计算,通常将 ( \frac{1}{2} ) 作为一个常数)。

  1. 约束条件

为了确保所有样本都被正确分类,要求每个样本点 ( x_i ) 满足:

  • 对于 ( y_i = +1 ),我们希望 ( w^T x_i + b \geq 1 );
  • 对于 ( y_i = -1 ),我们希望 ( w^T x_i + b \leq -1 )。

将这两个条件结合起来,得到:
y i ( w T x i + b ) ≥ 1 , ∀ i . y_i (w^T x_i + b) \geq 1, \quad \forall i. yi(wTxi+b)1,i.

2.2 最优化问题

为了使得分类的效果最好,我们需要最大化间隔。目标是最小化 ( \frac{1}{2} |w|^2 ),并满足约束条件。这个优化问题可以表示为:
min ⁡ w , b 1 2 ∥ w ∥ 2 , \min_{w, b} \frac{1}{2} \|w\|^2,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宸码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值