Deep one-class classification

2019-03-17 23:09:59 zpainter 阅读数 1027  收藏 文章标签: 单分类问题异常检测 更多

分类专栏: 论文
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

 
 
 
 
 
 
 
 

论文名:Deep one class classification

作者:Lukas Ruff * 1  Robert A. Vandermeulen * 2 Nico Gornitz ¨ 3

发表刊物:ICML

发表时间:2018

相关概念:

OCSVM

SVDD

提出方法:

Deep SVDD

Abstract

Those approaches which do exist involve networks trained to perform a task other than anomaly detection, namely generative models or compression, which are in turn adapted for use in anomaly detection; they are not trained on an anomaly detection based objective.

确实存在一些方法,使用训练的网络来执行异常检测之外的任务,被称为生成模型或压缩,反过来也可以被用在异常检测中,他们没有在基于异常检测的目标上进行训练。

Introduction

需要能在很大的数据集、很高维的数据中检测异常

传统的异常检测方法:

One-Class SVM单分类SVM (OCSVM):最优超平面,坐标原点被假定为唯一的异常样本

SVDD:原始数据--高维表示--Min超球体积--求得c和R。

Kernel Density Estimation 核密度估计(KDE)

缺点:

1、浅层特征工程。由于糟糕的计算可扩展性和维度诅咒,导致在高维数据场景中经常失败。为了有效,这种浅层方法通常需要大量的特征工程。

2、由于和矩阵的构造和操作导致a poor computational scaling,除非使用近似技术,否则规模至少为样本数的平方。

3、核方法需要存储支持向量,需要大量内存。

深度学习的方法:

用深度学习做异常检测的难点在于找到合适的无监督学习深度对象是很困难的

现在的一些方法结果不错,但是他们都没有通过优化基于异常检测目标函数的优化来进行训练,并且大多是有依赖于基于重建误差的启发式算法

mix:
fully deep:

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

本文提出了一种新的深度异常检测的方法,灵感来源于基于核的单分类问题以及最小体积估计。

1、我们的方法Deep SVDD,训练一个神经网络,然后最小化包含网络中数据特征的超球体积,提取数据分布变化的共同因素。fully deep //unsupervised

other deep AD: 依赖重建误差,无论是在用于学习表示的混合方法中,还是直接用于学习和检测中。

2、Deep autoencoder:会有低维的中间表示,最小化重建误差。网络可以从正常的样本中提取出共同因子并进行重建,二异常样本这些共同的因素所以不能被准确的重建。可以在Mix和fully deep中使用。mix:将学习到的 嵌入向量运用到传统的AD 中。fully deep:直接用重建误差作为异常分数。

denoising autoencoder、variational autoencoder、sparse autoencoder、deep convolutional autoencoder(DCAEs)(应用于图像视频数据的AD应用中)自动编码器不直接以AD为目标,应用与此的主要困难是压缩的度,也就是降维的度。

3、AnoGAN:test data--生成样本--潜在空间表示。重建误差、异常分数。与自动编码器类似,困难在于如何正则化(规范化)生成器以实现紧凑性。

method

Soft-bound Deep SVDD,一种深度一分类的方法

联合学习参数W和最小化在输出空间包含数据的超球的体积

目标函数:

第一项最小化超球体积。

第二项是对那些位于超球外的惩罚项,超参v控制超球体积和超过边界的一个权衡。如果v大,就允许一定的超出,如果v很小,超出一点就施以很大的惩罚。

第三项是网络参数W上的权重衰减正则化。

One-Class Deep SVDD

目标函数:

第一项,使用二次损失来惩罚每个网络表示到超球中心的距离。

第二项,网络权重衰减正则项,λ是超参。

One-Class Deep SVDD也可以视为找到最小体积的超球。 但与软边界deep SVDD不同,deep SVDD通过直接惩罚半径和落在球体外的数据表示而收缩球体,One-Class Deep SVDD通过最小化所有数据表示到中心的平均距离来收缩球体。 同样,为了将数据(平均)尽可能映射到接近中心c,神经网络必须提取变异的共同因子。 对所有数据点上的平均距离进行惩罚而不是允许某些点落在超球外,这与大多数训练数据来自一个类的假设是一致的。

异常分数可以用上式来计算,异常样本结果为正,正常样本结果为负。

优化 Deep SVDD

命题1 权重是全0的话,网络产生一个常数函数映射到超球中心,导致超球崩溃,因为超球半径为0。

命题2 网络中的隐藏层有偏移项bias term,也是学习到一个常数函数映射,导致超球崩溃。

命题3 具有有界激活函数的网络单元,会在后续层中模拟偏移项,这又导致超球崩溃。 因此,在Deep SVDD中应首选无界激活函数(或仅被0 bound的函数),例如ReLU,以避免由于“学习”偏移项导致的超球崩溃。

results

SVDD和OCSVM的比较

2018-03-14 10:45:11 木呆呆瓶子 阅读数 7964  收藏 更多

分类专栏: 算法学习
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

OCSVM(one class support vector machine)即单类支持向量机,最先提出的文献为:Estimating the support of a high-dimensional distribution.该模型 将数据样本通过核函数映射到高维特征空间,使其具有更良好的聚集性,在特征空间中求解一个最优超平面实现目标数据与坐标原点的最大分离,如图1:

坐标原点被假设为唯一的一个异常样本,最优超平面与坐标原点最大距离为, 并允许少部分样本在坐标原点与分界面之间,与分类超平面的距离为

SVDD((Support Vector Data Description)即支持向量数据描述,最先提出的文献为:Support Vector Data Description,,其基本思想是通过在映射到高维的特征空间中找出一个包围目标样本点的超球体,并通过最小化该超球体所包围的体积让目标样本点尽 能地被包围在超球体中,而非目标样本点尽可能地排除在超球体中,从而达到两类之间划分的目的。该方法目标是求出能够包含正常数据样本的最小超球体的中心a和半径R。

两种单分类方法的区别与联系:

通过以上的分析 ,建立了 2种模型之间存在的联系 ,可见不同之处在于对 的标准化约束和误差函数,当对数据进行标准化处理后 ,2种模型能够取得一样的效果 。同时SVDD的论文指出当采用高斯核函数时,2种模型对数据的描述效果相当。

参考:基于支持向量的单类分类方法综述  吴定海,张培林,任国全,陈非

Deep one-class classification的更多相关文章

  1. Deep Learning in a Nutshell: History and Training

    Deep Learning in a Nutshell: History and Training This series of blog posts aims to provide an intui ...

  2. (转) Ensemble Methods for Deep Learning Neural Networks to Reduce Variance and Improve Performance

    Ensemble Methods for Deep Learning Neural Networks to Reduce Variance and Improve Performance 2018-1 ...

  3. 论文列表——text classification

    https://blog.csdn.net/BitCs_zt/article/details/82938086 列出自己阅读的text classification论文的列表,以后有时间再整理相应的笔 ...

  4. Deep Learning 教程翻译

    Deep Learning 教程翻译 非常激动地宣告,Stanford 教授 Andrew Ng 的 Deep Learning 教程,于今日,2013年4月8日,全部翻译成中文.这是中国屌丝军团,从 ...

  5. My deep learning reading list

    My deep learning reading list 主要是顺着Bengio的PAMI review的文章找出来的.包括几本综述文章,将近100篇论文,各位山头们的Presentation.全部 ...

  6. Deep Learning关于Vision的Reading List

    最近开始学习深度学习了,加油! 下文转载自:http://blog.sina.com.cn/s/blog_bda0d2f10101fpp4.html 主要是顺着Bengio的PAMI review的文 ...

  7. Attribute-Recognition行人属性识别资料

    (摘自王逍同学的论文arxiv-2019+Pedestrian Attribute Recognition A Survey) 1. 数据集 Dataset Pedestrians Attribute ...

  8. Pedestrian Attributes Recognition Paper List

    Pedestrian Attributes Recognition Paper List  2018-12-22 22:08:55 [Note] you may also check the upda ...

  9. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)

    IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...

随机推荐

  1. 洛谷P2730 [IOI]魔板 Magic Squares

    题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有一种颜色.这8种颜 ...

  2. 博客之旅的开始-----什么是Python ? ? ?

    1 .到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做). 答案下面是一些关键点: Python是一种解释型语言.这就是说,与C语言和C的衍生语言不同,Python代码在运行之前 ...

  3. python学习笔记二:(python3 logging函数中format说明)

    背景,在学习logging时总是遇到无法理解的问题,总结,尝试一下更清晰明了了,让我们开始吧! logging模块常用format格式说明 %(levelno)s: 打印日志级别的数值 %(level ...

  4. 平安寿险Java面试-社招-四面(2019/08)

    个人情况 2017年毕业,普通本科,计算机科学与技术专业,毕业后在一个二三线小城市从事Java开发,2年Java开发经验.做过分布式开发,没有高并发的处理经验,平时做To G的项目居多.写下面经是希望 ...

  5. rabbitmq生产者queue接收不到消息

    项目问题: 客户的UAT环境下,项目运行一段时间后,rabbitmq的生产者queue再也接收不到系统发送的消息了.因为queue接收不到消息,所以消费者无法消费数据,流程断掉了. 原因: 客户UAT ...

  6. 分享一些好用的 Chrome 扩展

    阅读本文大概需要 2.8 分钟. 前言 使用浏览器扩展程序可以使你的工作效率提高数倍不止,那么下面我就向大家分享一下我日常使用的扩展,可能大多数扩展大家都已经在使用了,不过也难免有一两个是你不知道的. ...

  7. excel矩阵运算操作-转置 行列式 相乘 逆阵

    excel矩阵运算操作-转置 行列式 相乘 逆阵 https://jingyan.baidu.com/article/154b463128e13928ca8f41a4.html Excel中矩阵的相关 ...

  8. 【转载】 《Human-level concept learning through probabilistic program induction》阅读笔记

    原文地址: https://blog.csdn.net/ln1996/article/details/78459060 --------------------- 作者:lnn_csdn 来源:CSD ...

  9. pm2 工具来管理 node 服务端

    如下: nodeServer.js 'use strict'; const http = require('http'); const server = http.createServer(funct ...

  10. docker 删除含有指定字符的container

    docker container ls -a|grep 指定字符 | awk '{print $1}'| xargs -I{} docker rm {}