异常检测 - OCSVM与混合高斯分布

20200924 -

0. 引言

前面的文章《孤立森林的简要记录》中描述了孤立森林的简单原理,而且之前也简单测试过这种方法的性能,只不过最终没有得到非常好的效果。本篇文章中记录一下另外两种方法。
一般来说,异常检测是一种无监督的学习方法,当然也可以转化为监督学习,但是我个人感觉转化的方式不好,原因主要是你需要将异常进行标记,但是异常应该很难标记,特别是数量比较少的情况下。所以本文记录两种无监督的方法:一类SVM和混合高斯分布。

1. OCSVM(一类SVM)

1.1 基本原理

关于具体原理部分可以参考文章[1],文中介绍了两种OCSVM的原理。其中一种就是利用最小化半径的方式来实现,另外一种还需要进一步学习。另种方式的名字分别是v-svm和svdd。文章[4]也简单介绍了这部分的原理。

1.2 使用过程

文章[2]中介绍了利用KDD99实验OCSVM的过程。这里的一个问题,我个人任务就是在学习过程中,它显式地使用了训练数据中异常点的比例来作为模型训练的参数。虽然这种方法最后取得了不错的效果,但是普通情况下,你怎么会知道异常点的比例呢,这个内容可能需要更多的论文或者文章来论证了。

2. 混合高斯分布模型

利用高斯分布来拟合数据分布是一种比较常见的异常检测方法,特别是在一维的模型下更为容易理解。假设某个数据分布产生于高斯分布,那么在拟合完成之后,测试过程中,只需要查看某些点的概率,通过阈值的方式来确定其是否使异常点。
文章[3]中使用了一种混合高斯模型的方法,通过这种方法可以查看各个点属于各个高斯分布的概率,然后来判定。不过拟合过程暂时不清楚,直接调用了库。

参考

[1]Introduction to One-class Support Vector Machines
[2]Unsupervised Machine Learning with One-class Support Vector Machines
[3]Anomaly Detection in Python with Gaussian Mixture Models.
[4]One Class SVM(OC-SVM)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值