Deep SVDD深度异常检测
解释Deep SVDD(Deep Support Vector Data Description)如何用神经网络学习超球体检测异常。
回答
孤独的心
Deep SVDD (Ruff et al., 2018) 结合深度学习和单类分类,用神经网络将数据映射到特征空间中的最小超球体。
核心思想:
- 正常数据映射到特征空间后凝聚在球心附近
- 异常数据远离球心
训练损失:
L = 1/N·Σ||φ(x_i; W) - c||² + λ/2·||W||²_F
- 第一项:最小化所有样本到球心c的距离(球体积最小化)
- 第二项:权重正则化
- c:预计算(一次前向均值),训练中固定,避免网络坍缩到原点
关键设计:
- 编码器需加入偏置约束(如BN)防止特征全零
- 使用Soft-boundary变体可允许部分正常点位于球外(软边界)
- 异常得分:
s(x) = ||φ(x) - c||²,越大越异常
对比传统方法:
- 比One-Class SVM、Isolation Forest更适合高维数据(图像、序列)
- 可端到端学习特征,无需手工特征工程
- 但需要更多数据、调参复杂
应用:工业缺陷检测、医疗异常诊断、网络入侵检测。