科普:One-Class SVM和SVDD

SVM(支持向量机)算法是用于解决二分类问题的,它在样本空间(高维空间)中找一个最优超平面,使得两类数据点中离超平面最近的点(称为支持向量)到超平面的距离最大。

对于极少数"坏样本"的二分类场景,我们可以换个思路:将所有样本视为一类(而不是二类),而将极少数"坏样本"视为这一类的异常。这样,用于二分类的SVM就可以改造为用于一分类的One-Class SVM和SVDD。

One-Class SVM(单类支持向量机)与SVDD(支持向量数据描述)是单类分类领域的两大核心算法,它们的目标均为通过仅使用目标类样本建模,实现异常检测或数据描述。两者在理论基础和实现方式上存在紧密联系,但在决策边界形式、优化目标和应用场景上也有显著差异。以下是具体分析:

1. 核心联系:基于核方法的单类分类框架

1.1 共同的理论基础
  • 核技巧:两者均通过核函数将数据映射到高维特征空间,以处理非线性分布问题。例如,使用RBF核将数据映射到无限维空间后,SVDD在高维空间中寻找最小超球体,而One-Class SVM则寻找最优超平面。
  • 对偶优化:两者的优化问题均可转化为二次规划问题,并通过拉格朗日对偶方法求解。支持向量(Support Vectors)在两种算法中均起关键作用,决定决策边界的形状。
  • 参数敏感性 :均依赖惩罚参数(如One-Class SVM的 n u nu nu或SVDD的 C C C)平衡模型复杂度与异常点容忍度,且核函数参数(如RBF核的 γ γ γ)需谨慎调优。
1.2 数学等价性
  • 特定条件下的等价性 :当使用满足 k ( x , x ) = 1 k(x, x) = 1 k(x,x)=1的核函数(如归一化RBF核)时,One-Class SVM与SVDD的决策函数等价。例如,对于高斯核 k ( x , x ′ ) = e x p ( − γ ∣ ∣ x − x ′ ∣ ∣ 2 ) k(x, x') = exp(-γ||x-x'||²) k(x,x′)=exp(−γ∣∣x−x′∣∣2),若归一化为 k ( x , x ′ ) = e x p ( − γ ∣ ∣ x − x ′ ∣ ∣ 2 ) / e x p ( − γ ∣ ∣ x ∣ ∣ 2 ) e x p ( − γ ∣ ∣ x ′ ∣ ∣ 2 ) k(x, x') = exp(-γ||x-x'||²)/exp(-γ||x||²)exp(-γ||x'||²) k(x,x′)=exp(−γ∣∣x−x′∣∣2)/exp(−γ∣∣x∣∣2)exp(−γ∣∣x′∣∣2),则两者的超平面与超球体决策边界在数学上等价。
  • 渐近一致性:在数据分布接近球状时,两者的分类结果趋近于一致。例如,当目标类数据在高维空间中近似正态分布时,SVDD的超球体与One-Class SVM的超平面可能重合。

2. 关键区别:决策边界与优化目标

2.1 决策边界形状
  • One-Class SVM
    通过超平面(Hyperplane)将目标类数据与原点(或其他参考点)分离。其优化目标是最大化超平面与原点的距离,同时允许少量样本跨越超平面(通过松弛变量)。例如,在二维空间中,超平面表现为一条直线,将目标类数据与原点分隔开。
  • SVDD
    通过超球体(Hypersphere)将目标类数据紧密包围。其优化目标是最小化超球体的体积,同时允许部分样本位于球体外(通过松弛变量)。例如,在二维空间中,超球体表现为一个圆,尽可能紧凑地包含目标类数据。
2.2 优化目标差异
  • One-Class SVM
    目标函数为:
    min ⁡ w , ρ , ξ 1 2 ∥ w ∥ 2 − ρ + 1 ν n ∑ i = 1 n ξ i \min_{\mathbf{w}, \rho, \xi} \quad \frac{1}{2}\|\mathbf{w}\|^2 - \rho + \frac{1}{\nu n} \sum_{i=1}^n \xi_i w,ρ,ξmin21∥w∥2−ρ+νn1i=1∑nξi
    约束条件:
    w T ϕ ( x i ) ≥ ρ − ξ i , ξ i ≥ 0 \mathbf{w}^T \phi(\mathbf{x}_i) \geq \rho - \xi_i, \quad \xi_i \geq 0 wTϕ(xi)≥ρ−ξi,ξi≥0
    其中, w \mathbf{w} w 是超平面的法向量, ρ \rho ρ 是超平面到原点的距离, ν \nu ν 控制异常点比例。
    ϕ \phi ϕ把从原始空间中的特征向量 x \mathbf{x} x映射成特征空间中的特征向量 ϕ ( x ) \phi(\mathbf{x}) ϕ(x),下同。
  • SVDD
    目标函数为:
    min ⁡ R , a , ξ R 2 + C ∑ i = 1 n ξ i \min_{R, \mathbf{a}, \xi} \quad R^2 + C \sum_{i=1}^n \xi_i R,a,ξminR2+Ci=1∑nξi
    约束条件:
    ∥ ϕ ( x i ) − a ∥ 2 ≤ R 2 + ξ i , ξ i ≥ 0 \|\phi(\mathbf{x}_i) - \mathbf{a}\|^2 \leq R^2 + \xi_i, \quad \xi_i \geq 0 ∥ϕ(xi)−a∥2≤R2+ξi,ξi≥0
    其中, a \mathbf{a} a 是超球体的中心, R R R 是半径, C C C 平衡球体体积与异常点数量。
2.3 几何直观
  • One-Class SVM
    超平面的位置由目标类数据与原点的距离决定。若数据分布集中,超平面可能远离原点;若数据分散,超平面可能靠近原点以减少误判。
  • SVDD
    超球体的大小和位置由数据的紧凑程度决定。若数据集中,超球体体积较小;若数据分散,超球体体积较大以包含更多样本。

3. 应用场景对比

场景 One-Class SVM SVDD
数据分布 适用于数据分布接近线性可分或具有明确方向的场景。例如,文本数据的主题分布。 适用于数据分布呈团状或球状的场景。例如,图像中的物体轮廓。
异常点敏感性 对异常点较敏感,因为超平面可能被离群点显著影响。 对异常点较鲁棒,因为超球体可通过松弛变量排除极端值。
计算复杂度 训练复杂度与样本数呈二次方关系( O ( n 3 ) O(n^3) O(n3)),适用于小样本。 训练复杂度与样本数呈二次方关系( O ( n 3 ) O(n^3) O(n3)),但可通过分解算法优化。
参数调优 参数 n u nu nu直接控制异常点比例,更易解释。 参数 C C C和核函数参数需联合调优,对用户经验要求较高。
典型应用 网络入侵检测、信用卡欺诈识别(需快速决策)。 工业缺陷检测、医学影像分析(需紧凑数据描述)。

4. 如何选择?

  • 优先选择One-Class SVM
    当数据分布具有明确方向性(如文本、时序数据),或需要直接控制异常点比例时。例如,在信用卡欺诈检测中, n u nu nu参数可直接设定允许的欺诈交易比例。
  • 优先选择SVDD
    当数据分布呈团状或球状(如图像、传感器数据),或需要更紧凑的数据描述时。例如,在工业质检中,SVDD的超球体可精确圈定合格产品的特征范围。
  • 等价性场景
    若使用归一化RBF核且数据分布近似球状,两者效果接近,可根据计算效率或参数调优便利性选择。

5. 决策边界、原点与异常点

One-Class SVMSVDD 中,在特征空间中,算法所找到的超平面和超球面对应到原始空间中就是这类型状,通常是一个超曲面,称为决策边界。

现在我们考察在原始空间中三者(决策边界、原点与异常点)的位置关系。

  • One-Class SVM :原点与异常点同侧,因为超平面的设计目标是将正常数据与原点分离,异常点被视为与原点更接近的样本。
  • SVDD :原点与异常点的位置关系不确定,取决于数据分布。若原点在超球体内,异常点与原点异侧;若原点在球体外,异常点与原点同侧。
  • 选择建议
    • 若需要明确控制异常点与原点的位置关系(如同侧),优先选择 One-Class SVM。
    • 若数据分布复杂且原点位置不明确,SVDD 更灵活,但需通过数据预处理或参数调优控制原点与异常点的关系。
5.1 One-Class SVM:原点与异常点
1. 决策边界与原点的关系
  • 超平面分离
    One-Class SVM 的核心是在特征空间中寻找一个超平面,将目标类数据与原点(或其他参考点)最大化分离 。其优化目标是:
    min ⁡ w , ρ , ξ 1 2 ∥ w ∥ 2 − ρ + 1 ν n ∑ i = 1 n ξ i \min_{\mathbf{w}, \rho, \xi} \quad \frac{1}{2}\|\mathbf{w}\|^2 - \rho + \frac{1}{\nu n} \sum_{i=1}^n \xi_i w,ρ,ξmin21∥w∥2−ρ+νn1i=1∑nξi
    约束条件为:
    w T ϕ ( x i ) ≥ ρ − ξ i ( ξ i ≥ 0 ) \mathbf{w}^T \phi(\mathbf{x}_i) \geq \rho - \xi_i \quad (\xi_i \geq 0) wTϕ(xi)≥ρ−ξi(ξi≥0)
    其中, w \mathbf{w} w是超平面的法向量, ρ \rho ρ是超平面到原点的距离。
    • 正常样本 :位于超平面的一侧( w T ϕ ( x i ) ≥ ρ \mathbf{w}^T \phi(\mathbf{x}_i) \geq \rho wTϕ(xi)≥ρ)。
    • 原点 :位于超平面的另一侧( w T ϕ ( 0 ) < ρ \mathbf{w}^T \phi(0) < \rho wTϕ(0)<ρ),因为超平面的设计目标是将正常数据与原点分隔开。
2. 异常点的位置
  • 异常点的定义
    若测试样本 x \mathbf{x} x满足 w T ϕ ( x ) < ρ \mathbf{w}^T \phi(\mathbf{x}) < \rho wTϕ(x)<ρ,则被判定为异常点。
  • 与原点的关系
    异常点位于超平面的另一侧,即与原点同侧 。这是因为超平面的设计目标是将正常数据与原点分离,而异常点被视为与原点"更接近"的样本。
    • 几何直观:在二维空间中,超平面将正常数据与原点分隔,异常点位于原点所在的一侧。例如,若正常数据分布在右侧,超平面可能是一条垂直直线,原点和异常点位于左侧。
3. 核函数的影响
  • 特征空间变换
    核函数(如 RBF 核)将数据映射到高维特征空间,原点在特征空间中的位置可能与输入空间不同。例如,使用 RBF 核时,原点的特征向量可能与输入空间的原点无关。
  • 决策逻辑不变
    无论核函数如何,超平面始终将正常数据与特征空间的原点分离,异常点仍位于原点所在的一侧。
5.2 SVDD:原点与异常点
1. 决策边界与原点的关系
  • 超球体包围
    SVDD 的目标是在特征空间中找到一个最小体积的超球体 ,尽可能紧密地包围目标类数据。其优化目标为:
    min ⁡ R , a , ξ R 2 + C ∑ i = 1 n ξ i \min_{R, \mathbf{a}, \xi} \quad R^2 + C \sum_{i=1}^n \xi_i R,a,ξminR2+Ci=1∑nξi
    约束条件为:
    ∥ ϕ ( x i ) − a ∥ 2 ≤ R 2 + ξ i ( ξ i ≥ 0 ) \|\phi(\mathbf{x}_i) - \mathbf{a}\|^2 \leq R^2 + \xi_i \quad (\xi_i \geq 0) ∥ϕ(xi)−a∥2≤R2+ξi(ξi≥0)
    其中, a \mathbf{a} a是超球体的中心, R R R是半径。
    • 正常样本 :位于超球体内( ∥ ϕ ( x i ) − a ∥ 2 ≤ R 2 \|\phi(\mathbf{x}_i) - \mathbf{a}\|^2 \leq R^2 ∥ϕ(xi)−a∥2≤R2)。
    • 原点:其位置由数据分布决定,可能在超球体内或外。
2. 异常点的位置
  • 异常点的定义
    若测试样本 x \mathbf{x} x满足 ∥ ϕ ( x ) − a ∥ 2 > R 2 \|\phi(\mathbf{x}) - \mathbf{a}\|^2 > R^2 ∥ϕ(x)−a∥2>R2,则被判定为异常点。
  • 与原点的关系
    • 若原点在超球体内 :异常点位于球体外,与原点异侧
    • 若原点在超球体外 :异常点也位于球体外,与原点同侧
    • 示例
      • 若目标类数据分布在远离原点的区域,超球体可能不包含原点,此时原点和异常点均位于球体外(同侧)。
      • 若目标类数据分布在原点附近,超球体可能包含原点,此时异常点位于球体外(异侧)。
3. 数据分布的影响
  • 原点的位置
    超球体的中心 a \mathbf{a} a和半径 R R R由数据分布决定。例如:
    • 若数据集中在原点附近, a \mathbf{a} a可能接近原点,超球体包含原点。
    • 若数据分布在远离原点的区域, a \mathbf{a} a也会远离原点,超球体可能不包含原点。
  • 异常点的位置
    无论原点是否在超球体内,异常点始终位于球体外,但与原点的相对位置取决于数据分布。
5.3 数学推导与验证
1. One-Class SVM 的决策函数
  • 函数形式
    f ( x ) = w T ϕ ( x ) − ρ f(\mathbf{x}) = \mathbf{w}^T \phi(\mathbf{x}) - \rho f(x)=wTϕ(x)−ρ
    • 正常样本 : f ( x ) ≥ 0 f(\mathbf{x}) \geq 0 f(x)≥0(位于超平面一侧)。
    • 原点 : f ( 0 ) = w T ϕ ( 0 ) − ρ < 0 f(0) = \mathbf{w}^T \phi(0) - \rho < 0 f(0)=wTϕ(0)−ρ<0(位于另一侧)。
    • 异常点 : f ( x ) < 0 f(\mathbf{x}) < 0 f(x)<0(与原点同侧)。
2. SVDD 的决策函数
  • 函数形式
    f ( x ) = ∥ ϕ ( x ) − a ∥ 2 − R 2 f(\mathbf{x}) = \|\phi(\mathbf{x}) - \mathbf{a}\|^2 - R^2 f(x)=∥ϕ(x)−a∥2−R2
    • 正常样本 : f ( x ) ≤ 0 f(\mathbf{x}) \leq 0 f(x)≤0(位于球体内)。
    • 原点 : f ( 0 ) = ∥ ϕ ( 0 ) − a ∥ 2 − R 2 f(0) = \|\phi(0) - \mathbf{a}\|^2 - R^2 f(0)=∥ϕ(0)−a∥2−R2,其符号取决于 a \mathbf{a} a和 R R R。
    • 异常点 : f ( x ) > 0 f(\mathbf{x}) > 0 f(x)>0(位于球体外)。
相关推荐
AngelPP4 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年4 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼4 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS4 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区5 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈5 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang6 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
shengjk17 小时前
NanoClaw 深度剖析:一个"AI 原生"架构的个人助手是如何运转的?
人工智能
西门老铁9 小时前
🦞OpenClaw 让 MacMini 脱销了,而我拿出了6年陈的安卓机
人工智能