前提知识:支持向量机(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中到原点的距离最大,它将异常数据点与集中在原点的正常数据点分离开来。
参考: