文章目录
-
-
- 文章概述
- 模型描述
- 源码分享
- 学习小结
- 参考资料
-
文章概述
SVM通常应用于监督式学习,但OneClassSVM算法可用于将异常检测这样的无监督式学习,它学习一个用于异常检测的决策函数其主要功能将新数据分类为与训练集相似的正常值或不相似的异常值。
模型描述
OneClassSVM的思想来源于这篇论文,SVM使用大边距的方法,它用于异常检测的主要思想是:将数据密度较高的区域分类为正,将数据密度较低的区域分类为负,如下图所示:
在训练OneClassSVM模型时,我们需要设置参数nu = outliers_fraction,它是训练误差分数的上限和支持向量分数的下限,并且必须在0和1之间。基本上它代表了我们期望的异常值在我们的数据集中的比例。
指定要在算法中使用的核类型:rbf。它使SVM能够使用非线性函数将超空