Robust Neural Network for Novelty Detection on Data Streams

2024-03-10 12:18

本文主要是介绍Robust Neural Network for Novelty Detection on Data Streams,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基本信息

题目:Robust Neural Network for Novelty Detection on Data Streams.

会议: International Conference on Artificial Intelligence and Soft Computing.

出版社: Springer-Verlag, 2012:178-186.

作者:Andrzej Rusiecki.

隶属机构:波兰弗罗茨瓦夫理工大学


中心思想

本文基于健壮的神经网络提出一种异常检测(novelty detection)的方法,通过比较两种神经网络输出的结果来检测异常值。其中第一种神经网络用来LMLS(Least Mean Log Squares)方法来训练,目的是消除离群点的影响;而第二种神经网络以传统的最小二乘方误差来训练。在一段固定的长度训练中,对于每一次输入,求两个网络的输出值的差值,然后求出所有差值的标准差s,取阈值Tr = k*s,然后对于测试集每个输入,两个神经网络的输出值如果大于Tr,则将该输入值标记为异常值,否则为正常值。


两种神经网络介绍

第一种神经网络

训练该神经网络采用Levenberg-Marquardt method(列文伯格-马夸尔特法)来进行优化,该方法是收敛速度最快的一种优化方法。采用的损失函数为Least Mean Log Squares(最小平均对数平方):

ρ(ri)=log(1+12ri2),(1)

其中ri 是第i次预测的误差值,对于损失函数来说,其影响函数如下.影响函数描述了异常点对于神经网络训练中潜在的影响力。

ψ(ri)=ri1+12ri2,(2)

根据损失函数,我们得到每个训练周期中的错误之和为:

E(w)=k=1Ni=1mlog(1+12rki2(w)),(3)

其中第k次训练中,第i个输出值和实际目标值的误差表示如下。w是权重,m是神经网络输出单元的个数。

rki=(yki(w)tki))

第二种神经网络

第二种神经网络训练方法为传统的神经网方法,其误差函数为:

E(w)=k=1Ni=1mrki2(w),(4)

在公式(3)中定义的log方法,减少甚至消除了最大残差对训练过程的影响。

算法步骤

因为每收到一个输入之后对权重进行一次更新的计算复杂度太过巨大,因此,文中选择经过一段定长周期的输入数据之后对权重进行更新,即定长时间窗口方法。至于时间窗口长度的选择,过短就不能达到很好的训练效果,过长则会导致训练时间过长。当一个时间窗口的权重更新完毕之后就可以对接下来的数据流进行检测。对于一个输入,如果传统ANN的输出结果和健壮ANN的输出结果的插值超过阈值Tr,则将其归为异常值。输出之差绝对值计算方法为:

D(xi)=|ymse(xi)ylmls(xi)|,(5)

现在问题来了,如何确定阈值Tr,文中提出基于训练数据中传统ANN和健壮ANN的结果之差的标准差来确定阈值。对于给定窗口大小的训练数据,其阈值Tr的计算方式为:

Tr=kStd(|ymse(xi)ylmls(xi)|),

其中k值是一个常数,K值得确定取决于ROC曲线。于是算法步骤如下:

1. 从数据流中累积数据,数据大小取决于参数窗口长度

2. 在累积的数据上训练ANN,同时累积下一次训练的数据

3. 对于每一个数据流,根据公式(5)计算两种ANN的输出差值,根据差值是否超过阈值Tr来划分是否为异常值。

论文中对于K值得确定和窗口大小的确定方法不是很明确,需要根据实际情况来确定。

这篇关于Robust Neural Network for Novelty Detection on Data Streams的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794220

相关文章

BD错误集锦3——ERROR: Can't get master address from ZooKeeper; znode data == null

hbase集群没启动,傻子!   启动集群 [s233 s234 s235]启动zk集群 $>zkServer.sh start $>zkServer.sh status   [s233] 启动dfs系统 $>start-dfs.sh 如果s237 namenode启动失败,则 [s237] $>hadoop-daemon.sh start namenode [s233]启动yarn集群

游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解

游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解 码客 卢益贵 ygluu 关键词:游戏策划 可配置化 模块化配置 数据引擎 条件系统 红点系统 一、前言 在插件式模块化软件开发当中,既要模块高度独立(解耦)又要共享模块数据,最好的方法是有个中间平台(中间件)提供标准的接口来进行数据的交换,这在很多行业软件开发中已经广泛应用。但是,由于中间件的抽象和封

FFplay源码分析-streams_open

《FFmpeg原理》的社群来了,想加入社群的朋友请购买 VIP 版,VIP 版有更高级的内容与答疑服务。 本系列 以 ffmpeg4.2 源码为准,下载地址:链接:百度网盘 提取码:g3k8 FFplay 源码分析系列以一条简单的命令开始,ffplay -i a.mp4。a.mp4下载链接:百度网盘,提取码:nl0s 。 如下图所示,本文主要讲解 streams_open() 函数的

Core Data 网络应用实例

转自:http://www.cocoachina.com/applenews/devnews/2014/0430/8275.html 转自 answer_huang的博客 几乎每一个应用开发者都需要经历的就是将从 web service 获取到的数据转变到 Core Data 中。这篇文章阐述了如何去做。我们在这里讨论的每一个问题在之前的文章中都已经描述过了,并且 Apple 在

BookSim2 安装步骤教程 Network-on-Chips (NoCs) 片上网络模拟器 含视频

BookSim简介 BookSim2 一个用于Network-on-Chips (NoCs) 芯片上网络的周期精确模拟器。该模拟器的设计是为了实现网络组件的模拟灵活性和精确建模。  BookSim1 是一个通用的网络模拟器,并不专门针对片上环境。不支持在片上网络环境中提出的一些更先进的功能和拓扑结构。 背景 随着集成在单个芯片上的核心和模块数量的不断增加,片上网络正成为现代微处理器不可或缺

spring-data-redis 连接池应用

具体配置看我的项目。用的是redisTemplate ,和jdbctemplate  是不是很相似。 真的不想吐槽csdn,钻钱眼里了,我想上传我的代码,免费都不行吗 想要测试代码可以私信,也可以模仿https://www.cnblogs.com/tankaixiong/p/3660075.html  这个链接下的。

Windows 内核驱动无法使用 __DATA__、__TIME__、__TIMESTAMP__ 解决方法

项目 -> 属性 -> Driver Settings -> Driver Model -> Allow Date, Time and Timestamp -> Yes。 感谢单总的解答和这篇文章:https://developercommunity.visualstudio.com/content/problem/186922/-timestamp-macro-not-defined-in-r

论文《Tree Decomposed Graph Neural Network》笔记

【TDGNN】本文提出了一种树分解方法来解决不同层邻域之间的特征平滑问题,增加了网络层配置的灵活性。通过图扩散过程表征了多跳依赖性(multi-hop dependency),构建了TDGNN模型,该模型可以灵活地结合大感受场的信息,并利用多跳依赖性进行信息聚合。 本文发表在2021年CIKM会议上,作者学校:Vanderbilt University,引用量:59。 CIKM会议简介:全称C

python请求multipart/form-data数据

今天遇见发送post请求时,post data是类似下面的数据: 解决办法,参考:python拼接multipart/form-data类型post请求格式

CVPR2023检测相关Detection论文速览上

Paper1 AUNet: Learning Relations Between Action Units for Face Forgery Detection 摘要原文: Face forgery detection becomes increasingly crucial due to the serious security issues caused by face manipulati