one class SVM到底是无监督还是有监督学习?

  统计/机器学习 监督式学习 无监督学习 半监督学习    浏览次数:14016        分享
0

One class SVM可以用来做异常点检测,到底是无监督还是有监督学习?或者是半监督?


 

黄前志   2018-01-25 11:07



   4个回答 
3

虽然说是one class,但我感觉应该还是监督式学习,因为在训练时,你是知道所有的样本都是同一类的。

而非监督式学习时,你并不知道样本是否是一类或者几类。


SofaSofa数据科学社区DS面试题库 DS面经

abuu   2018-01-26 11:13

2

网上有说无监督,有说有监督的,也有人说是半监督的。

我觉得更像是有监督的。因为在one class svm里,你不会对训练集进行聚类,而是把训练集的样本全部标签当作已知的。

不过这个不重要吧,会用就行了。


SofaSofa数据科学社区DS面试题库 DS面经

Josh_Josh   2018-01-30 08:25

嗯嗯,对的,我只是好奇一下 - 黄前志   2018-02-03 09:12
2

我觉得用了kernel (RBF)的one class svm可用于无监督的clustering,把数据分为几个clusters,而linear one class svm可看作把空间分为两份,所有数据点在其中一半,相当于imbalanced two classes svm。但第二种情况估计没人用,所以可笼统的看作无监督。

再看一下two classes SVM的dual problem公式(来至wiki),


其中$y$是$+1/-1$的标签,$x$是数据,$c$是数据点的重要性系数,$c>0$的点是support vector。可以看到当$y_i=-1$时,$y_i*x_i=1*-x_i$,也就是把标签为$-1$的点$x_i$沿坐标原点对称得到$-x_i$,并当做标签为$1$的点。此时就是one class SVM,所有数据点在分割平面的一侧。

------------------------------------------------------------

当 one class SVM做异常点检查时应该是无监督的,因为不知道是否为异常点的标签。当求出分割边沿后,可以定义离边沿一定距离的点为异常点。

SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2018-08-02 11:27

1

One-class SVM is used for novelty detection, that is, given a set of samples, it will detect the soft boundary of that set so as to classify new points as belonging to that set or not. The class that implements this is called OneClassSVM.

In this case, as it is a type of unsupervised learning, the fit method will only take as input an array X, as there are no class labels.

原文出处



SofaSofa数据科学社区DS面试题库 DS面经

曾经是科比   2018-08-01 22:11



  相关讨论

强化学习(增强学习)是监督式学习还是无监督式学习?

能否用聚类算法来实现分类任务?

怎么理解Self-supervised learning?

只有阳性样本的情况下该如何训练模型?

主动学习里的oracle是什么意思?

LPA算法问题

SVM里的软间隔是什么意思

为什么SVM里两个超平面的距离是1/||w||?

支持向量机(SVM)里的支持向量是什么意思

SVM的支持向量最少有几个?

  随便看看

z test和t test什么区别?

python去掉中文文本中所有的标点符号

求多个torch tensor的平均值

wide-deep模型里的wide和deep分别是指什么意思?

如何复制一个pandas DataFrame