科普: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(位于球体外)。
相关推荐
阿坡RPA11 小时前
手搓MCP客户端&服务端:从零到实战极速了解MCP是什么?
人工智能·aigc
用户277844910499311 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
机器之心11 小时前
刚刚,DeepSeek公布推理时Scaling新论文,R2要来了?
人工智能
算AI13 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
凯子坚持 c14 小时前
基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
人工智能·paddlepaddle
你觉得20514 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
8K超高清15 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
hyshhhh15 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
薛定谔的猫-菜鸟程序员15 小时前
零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
人工智能·神经网络·dnn
币之互联万物15 小时前
2025 AI智能数字农业研讨会在苏州启幕,科技助农与数据兴业成焦点
人工智能·科技