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

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

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


 

黄前志   2018-01-25 11:07



   4个回答 
3

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

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


SofaSofa数据科学社区 DS面经 问答 实战

abuu   2018-01-26 11:13

2

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

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

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


SofaSofa数据科学社区 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面经 问答 实战

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面经 问答 实战

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



  相关主题

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

谱聚类中的相似矩阵是怎么定义的?   0回答

什么是K-Modes(K众数)聚类法?   1回答

层次聚类中的Ward's method是什么意思   1回答

层次聚类里的linkage是什么意思?   2回答

聚类问题可以用stacking model的方法吗?   2回答

软聚类,硬聚类?   1回答

python中实现k-modes的包   1回答

有没有对聚类成员个数有限制的聚类算法?   2回答

一维的数据可以做聚类吗?   3回答

离群点、孤立点、异常点有什么区别吗?   2回答

聚类问题需不需要分出测试集?   0回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!