如何开发一个异常检测系统:如何评价一个异常检测算法

利用数值来评价一个异常检测算法的重要性

使用实数评价法很重要,当你用某个算法来开发一个具体的机器学习应用时,你常常需要做出很多决定,如选择什么样的特征等等,如果你能找到如何来评价算法,直接返回一个实数来告诉你算法的好坏,那样你做决定就会更容易一些。如现在有一个特征,要不要将这个特征考虑进来?如果你带上这个特征运行你的算法,再去掉这个特征运行你的算法,得到返回的实数,这个实数直接告诉你加上这个特征算法是变好了还是变坏了,这样你就有一种更简单的算法来确定是否要加上这个特征。

为了更快地开发出一个异常检测系统,那么最好能找到某种评价异常检测系统的方法。

为了能评价一个异常检测系统,假定已有一些带标签的数据,其中有正常的样本也有异常的样本(正常的样本y=0,异常的样本y=1)

对于训练集,我们还是看成无标签的样本,将它们都看成无异常的样本(其中可能有一些有异常的样本被分到训练集中)

定义交叉验证集与测试集,通过这两个集合得到异常检测算法。我们假设交叉验证集与测试集中的样本都是异常的,即测试集里面的样本y=1(表示异常样本)。

具体的例子

有10000个正常的飞机引擎,有20个有问题的飞机引擎,从以往经验来看,无论是制造了多少年的飞机引擎工厂,都会得到大概20个有问题的引擎。对于异常检测典型的应用来说,异常样本的个数通常都是20-50个这样的个数,并且通常我们的正常样本数量要大得多。

我们将数据分成训练集,交叉验证集和测试集,典型的分法是:将10000个好的引擎样本中的6000个放入trainning set中做为无标签的数据(实际都为正常的样本),将剩下的正常的样本中的2000个样本放入交叉验证集中,另2000个样本放入测试集中(正常样本的分配比例是6:2:2);将有异常的20个样本,其中10个放入CV中,另外10个放入Test中。

另一种常见的分配方法(不推荐这样做)是将CV与Test的样本混合起来使用,将剩下的4000个好的样本即做为CV也做Test使用(不推荐这样做)

 异常检测算法的推导与评估

异常检测算法的推导与评估算法如下:首先我们使用训练样本(虽然都是是无标签的样本但其实都是正常的样本)来拟合模拟p(x)(即参数估计出u,σ的值)

对于CV与Test里面的数据,我们利用算法对y进行预测,然后来评价预测的准确率。如何来度量呢?

因为数据是非常偏斜的(正常的数据多,异常的数据少),因此分类准确率不是一个好的度量方法,算出查准率、召回率以及F1值,通过这些方法来评价我的异常检测算法在CV以及Test中的表现。

怎么决定ε的值呢?在交叉验证集上来决定取什么ε的值,在交叉验证集上尝试多个不同的ε的取值,然后选出一个使得F1值最大的那个ε的值,即在交叉验证集上表现最好的那个ε的值。当我们需要做出决定时(如选哪个特征,选哪个ε的值),我们可以不断地使用交叉验证来评价这个算法的好坏,然后决定我们要选取哪个特征,选哪个ε的值。

当找到ε的值后,我们的异常检测算法就确定了,然后使用Test集来评价算法的表现

总结

 1>如何评价一个异常检测算法:使用F1值,在交叉验证集上做出决定如何选择ε(确定ε的大小)以及应该包括哪些特征等

转载于:https://www.cnblogs.com/yan2015/p/7401680.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【联盛德W806上手笔记】四、PWM模块

目录PWM 控制器库函数函数参数宏测试程序独立模式main.cwm_hal_msp.cwm_it.c实验现象多通道同步模式main.cwm_hal_msp.cwm_it.c实验现象Windows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书 V2.0》 PWM 控制器 5 …

C#中如何稳定精确地每隔5ms执行某个函数?

C#中如何稳定精确地每隔5ms执行某个函数? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C#的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家&#xf…

【联盛德W806上手笔记】五、TIM定时器

目录定时器库函数函数参数宏Demo中的测试程序main.cwm_hal_msp.cwm_it.c实验现象Windows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书 V2.0》 定时器 微秒与毫秒计时(据时钟频率配置计数个数&#xff…

IOS-企业开发人员账号amp;邓白氏码申请记录

Apple开发人员账号分三种,个人。公司,还有企业。个人和公司都称为标准账号。另一种是教育机构的账号。 账号介绍 个人和公司的就不说了。如今仅仅说企业账号 首先是申请企业账号的地址: https://developer.apple.com/programs/ios/enterpri…

wordpress置顶文章调用与设置

文章来源: https://www.xuewangzhan.net/wpbbs/15737.html wordpress网站后台允许我们设置一些置顶文章&#xff0c;然后通过调用置顶文章的代码把它调用到自己的网站前台。 下面是最常用的wordpress调用置顶文章代码&#xff0c;适用于所有模板使用。 <?php $sticky g…

【联盛德W806上手笔记】六、7816/UART 控制器

目录7816/UART 控制器串口功能7816 接口功能下载口库函数函数参数宏Demo中的测试程序main.cwm_hal_msp.cwm_it.cfifo.cfifo.hWindows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书 V2.0》 7816/UART 控制器 设备端…

【联盛德W806上手笔记】七、I2C

目录WM_SDK_W806_v0.6.0的库函数函数参数宏应用示例初始化使用测试I2C 控制器功能概述主要特性功能描述传输速率选择中断及启动停止可控快速输出及检测信号寄存器描述寄存器列表时钟分频寄存器_1时钟分频寄存器_2控制寄存器数据寄存器收发控制寄存器TXR 读出寄存器CR 读出寄存器…

【联盛德W806上手笔记】八、SPI及其DMA

目录高速 SPI 设备控制器库函数函数参数宏应用示例初始化引脚复用中断相关使用注意事项DataAlignmentDirection测试main.cwm_hal_msp.cwm_it.c其他改动实验现象Windows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书…

安装配置 radicale

为什么80%的码农都做不了架构师&#xff1f;>>> 可以直接pip安装,也可以下载源码安装,如果要存储到sql里面,则需要下载源码包,用里面的schema.sql 建表 默认安装后没有相应的配置文件,源码包里面也包含了 logging 和config,放到/etc/radicale 下 安装没什么说的,下…

【联盛德W806上手笔记】九、DMA

目录DMA 控制器功能概述功能描述DMA 通道DMA 数据流DMA 循环模式DMA 传输模式DMA 外设选择DMA 链表模式DMA 中断中断请求库函数函数参数宏应用Windows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 MCU 芯片规格书 V2.0》、《WM_W800_寄存器手册 V2.1》 DMA 控制…

SNF快速开发平台MVC-自由排序组件

1. 自由排序功能使用 在一些需要排序优先级的数据进行调整处理&#xff0c;如民族数据&#xff0c;在北方实施的时候汉族比较多&#xff0c;希望把汉族放在第一位。在蒙古实施项目时&#xff0c;蒙古族人最多把蒙古族放在第一选择位。 1.1. 效果展示 图 1.1 1.2. …

【联盛德W806上手笔记】十、ADC

目录ADCADC 电路设计库函数函数参数宏Demo中的例程main.cwm_hal_msp.cwm_it.cWindows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书 V2.0》 ADC 基于 Sigma-Delta ADC 的采集模块&#xff0c;集成 4 路 16 比特 AD…

【电路补习笔记】8、稳压电路 —— 线性电源及LDO

目录有名的电源芯片品牌DCDC电源分类开关电源vs线性稳压器线性电源参数线性电源工作原理集成稳压器78/79系列&#xff08;固定输出电压&#xff09;正、负对称输出两组电源的稳压电路扩展输出电压扩大输出电流LM317/LM337&#xff08;可调输出电压&#xff09;正、负对称输出两…

ajax代码整理

$.ajax({ type: "post", 【以POST或GET的方式请求。默认GET。PUT和DELETE也可以用&#xff0c;有的浏览器不支持】 url: url, 【请求的目的地址&#xff0c;须是一个字符串。】 contentType: "application/json", 【以哪种数据类型发送请求】 data: data, …

创建一个简单的WCF程序

为了使读者对基于WCF的编程模型有一个直观的映像&#xff0c;我将带领读者一步一步地创建一个完整的WCF应用。本应用功能虽然简单&#xff0c;但它涵盖了一个完整WCF应用的基本结构。对那些对WCF不是很了解的读者来说&#xff0c;这个例子将带领你正式进入WCF的世界。 在这个例…

深圳IO —— 一个汇编编程小游戏

目录简介数据手册接口简单 I/OXBus简单 I/O 对比 XBus语言参考程序结构注释标签寄存器accdatp0、p1、x0、x1、x2、x3null 伪寄存器指令操作数确保进行足够的睡眠 (slp)&#xff01;基本指令算法指令条件指令隐藏指令游戏界面DIY版本&#xff1a; 简介 以下介绍摘自未来软件园 …

unity shader 编辑器扩展类 ShaderGUI

这应该unity5才出的新功能了&#xff0c;今天看文档时刚巧看到了&#xff0c;就来尝试了一下。 效果如图&#xff1a; shader 的编辑器扩展分为2种方法&#xff1a; 是通过UnityEditor下的ShaderGUI类来实现的&#xff0c;形式比较近似于我们一般对unity编辑器的扩展方式。是通…

【电路补习笔记】9、电容式开关电源(电荷泵)

目录分类原理电荷泵基础开关电容稳压器的细调功能电荷泵的电压增益调节输出电容&#xff08;Co&#xff09;优点电容式开关稳压器减小纹波相关应用老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a; 电源大师3——电容式开关电源&#xff08;电荷泵&#xff09;工作原理…

CPU 硬盘性能到底相差多少

本文以一个现代的、实际的个人电脑为对象&#xff0c;分析其中CPU&#xff08;Intel Core 2 Duo 3.0GHz&#xff09;以及各类子系统的运行速度——延迟和数据吞吐量。通过粗略的估算PC各个组件的相对运行速度&#xff0c;希望能给大家留下一个比较直观的印象。本文中的数据来自…

【电路补习笔记】10、电感式开关电源(BUCK 降压电路)

目录分类封装焊线式覆晶式开关电源三种基本的非隔离开关电源纹波&#xff08;ripple&#xff09;开关电源的元件构成有源开关肖特基二极管或快恢复二极管不使用普通硅二极管的原因电感电容分压电阻&#xff08;输出电压设置&#xff09;工作原理工作模式连续模式&#xff08;co…