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博客

相关推荐
天上的光23 分钟前
17.迁移学习
人工智能·机器学习·迁移学习
后台开发者Ethan30 分钟前
Python需要了解的一些知识
开发语言·人工智能·python
猫头虎1 小时前
猫头虎AI分享|一款Coze、Dify类开源AI应用超级智能体快速构建工具:FastbuildAI
人工智能·开源·prompt·github·aigc·ai编程·ai-native
重启的码农1 小时前
ggml 介绍 (6) 后端 (ggml_backend)
c++·人工智能·神经网络
重启的码农1 小时前
ggml介绍 (7)后端缓冲区 (ggml_backend_buffer)
c++·人工智能·神经网络
数据智能老司机1 小时前
面向企业的图学习扩展——图简介
人工智能·机器学习·ai编程
mit6.8242 小时前
[AI React Web] 包与依赖管理 | `axios`库 | `framer-motion`库
前端·人工智能·react.js
小阿鑫2 小时前
不要太信任Cursor,这位网友被删库了。。。
人工智能·aigc·cursor·部署mcp
说私域3 小时前
基于定制开发开源 AI 智能名片 S2B2C 商城小程序的热点与人工下发策略研究
人工智能·小程序
Moshow郑锴3 小时前
机器学习相关算法:回溯算法 贪心算法 回归算法(线性回归) 算法超参数 多项式时间 朴素贝叶斯分类算法
算法·机器学习·回归