One class SVM

单类支持向量机

1.前景

马上大四了,临近毕业,要为毕业设计做打算了。刚好学校培养什么卓越工程师,可以实习单位做毕业设计。单位的博士(交大老师)分配了一个关于医疗图像处理的课题给我。于是看起了论文,疯狂补充知识。由于之前自学过机器学习(西瓜书、蓝皮书)和深度学习(看过一些论文(边缘检测)和框架),所以在此基础上记录一些没有学过的东西。

2.One class support vector machine

一分类问题,判断数据是不是与训练数据是一类。比较传统的而分类问题,测试数据总能把它归结为一类(要么正类要么负类),一分类只能判断测试数据是训练的同类或者不是同类,无法给出类别。有两种优化思想:OCSVM、SVDD
One class SVM_第1张图片

3.OCSVM方法

传统support vector machine,有两类训练数据,可以通过两类数据找到他们的最大间隔。而one class support vector machine 只能一类数据,不能找到最优解。如右图,几个超平面都好像划分了训练数据,但是只有红色的线似乎最靠谱。这就需要在加一个条件去找到分类线。Ocsvm使用离原点最远,在能划分训练数据的条件下最大化超平面离原点的距离。

假设划分超平面
wTx-p=0
与二分类支持向量类似,最大化几何距离
在这里插入图片描述
加入一些松弛量
One class SVM_第2张图片
ξ表示松弛变量类似于二分类SVM中C的 ,同时:

  1. ξ它为异常值的分数设置了一个上限(训练数据集里面被认为是异常的)
  2. ξ是训练数据集里面做为支持向量的样例数量的下界
    One class SVM_第3张图片
4.SVDD

相比于OCSVM,SVDD的条件是找到训练数据的球形边界,并且最小化球的体积(半径)。如左图。

One class SVM_第4张图片
同时构造一个惩罚系数为 ξ的松弛变量 c,优化问题如下所示:

One class SVM_第5张图片

你可能感兴趣的:(机器学习)