One-Class SVM

前提知识:支持向量机(SVM)-CSDN博客

主要思想

找一个超平面将样本中的正例圈出来,预测就是用这个超平面做决策,在++圈内的样本就认为是正样本,圈外的是其他样本++,如图1所示:
图1 OSVM主要思想抽象图

One-Class SVM 是一个one class classification问题。

one class classification,它只有一个类,然后识别的结果就是:"是"或者"不是"这个类。这听起来和2分类问题貌似一样,它们的区别在于,在2分类问题中,训练集中有2个类,通常称为正例和负例,而在one class classification中,就训练集中只有一个类。

应用场景:当训练集中正负样本不均衡,使训练出来的模型有偏差。这个时候,可以使用one class classification的方法来解决。

工作原理

数据映射:将正常数据通过核函数映射到高维特征空间中,使得正常数据点能够被一个超平面所包围。这个超平面被称为决策边界。

寻找最优超平面(关键):通过最大化超平面与正常数据之间的间隔(如图2 所示),寻找一个最优的分割超平面,使得异常点尽可能远离该超平面。这意味着决策边界要尽可能远离正常数据点。
图2 OC-SVM

图2解释:坐标原点被假设为唯一的一个异常样本,最优超平面与坐标原点最大距离为, 并允许少部分样本在坐标原点与分界面之间,与分类超平面的距离为

异常检测:对于新的数据点,通过计算其与超平面的距离,来判断该数据点是否为异常。距离较大的数据点更有可能是异常点。

公式

其中ν∈(0,1)为支持向量的离群值分数的上界标识符和下界标识符,ρ∈R为偏移值。利用拉格朗日方法求解上述最小化问题,得到如下分类规则:

由w和ρ标识的超平面在特征空间F中到原点的距离最大,它将异常数据点与集中在原点的正常数据点分离开来。

参考:

关于OCSVM与SVDD的理解-CSDN博客

One-Class SVM详解_one class svm-CSDN博客

相关推荐
Luzem03193 分钟前
使用scikit-learn中的KNN包实现对鸢尾花数据集的预测
人工智能·深度学习·机器学习
缺的不是资料,是学习的心28 分钟前
使用qwen作为基座训练分类大模型
python·机器学习·分类
AI趋势预见40 分钟前
使用AI生成金融时间序列数据:解决股市场的数据稀缺问题并提升信噪比
人工智能·深度学习·神经网络·语言模型·金融
Zda天天爱打卡1 小时前
【机器学习实战中阶】使用Python和OpenCV进行手语识别
人工智能·python·深度学习·opencv·机器学习
爱喝奶茶的企鹅1 小时前
AI Agent的规划系统:让Agent更智能地完成任务
机器学习
背太阳的牧羊人2 小时前
冻结语言模型中的 自注意力层,使其参数不参与训练(梯度不会更新)。 对于跨注意力层,则解冻参数,使这些层可以进行梯度更新,从而参与训练。
人工智能·语言模型·自然语言处理
2401_890416712 小时前
Recaptcha2 图像怎么识别
人工智能·python·django
机器之心3 小时前
贾佳亚团队联合Adobe提出GenProp,物体追踪移除特效样样在行
人工智能
一叶_障目3 小时前
机器学习之决策树(DecisionTree——C4.5)
人工智能·决策树·机器学习
思码逸研发效能3 小时前
在 DevOps 实践中,如何构建自动化的持续集成和持续交付(CI/CD)管道,以提高开发和测试效率?
运维·人工智能·ci/cd·自动化·研发效能·devops·效能度量