在给定的数据集,我们假设数据是正常的 ,现在需要知道新给的数据Xtest中不属于该组数据的几率p(X)。

异常检测主要用来识别欺骗,例如通过之前的数据来识别新一次的数据是否存在异常,比如根据一个用户以前的使用习惯(数据)来判断这次使用的用户是不是以前的用户。或者根据之前CPU正常运行时候的的用量数据来判断当前状态下的CPU是否正常工作。

这里我们通过密度估计来进行判断:if   P(X) >ε时候,为normal(正常)<ε 的时候为异常 。

我们用x(i)来表示用户的第i个特征,模型P(x)= 我们其属于一组数据的可能性

在这里我们会用到高斯分布(二项分布),在高斯分布中,我们 对于方差通常只除以m来得到μ和σ而不是统计学中的m-1

异常检测算法:

对于给定的数据集x(1)...x(m),我们要针对每一个特征计算出μ和σ的估计值。

一旦我们获得了平均值和方差的估计值,给定的一个新的训练实例,根据模型计算我们就可以得出p(x)

我们选择一个 ε,将p(x)=ε作为我们的判定边界,当p(x)> ε的时候预测数据为正常数据,否则为异常数据。

异常检测算是一个非监督学习算法,这意味着我们无法根据结果变量Y 的值来告诉我们是否异常,我们可以从带标记的数据着手,选取一部分正常的数据用来训练和构建,然后用剩下的正常样本和测试样本混合构成交叉检验集和测试集。

在这里我们举一个栗子,用来更详细的描述异常检测算法。

例如:我们有 10000 台正常引擎的数据,有 20 台异常引擎的数据。 我们这样分配数
据:
6000 台正常引擎的数据作为训练集
2000 台正常引擎和 10 台异常引擎的数据作为交叉检验集
2000 台正常引擎和 10 台异常引擎的数据作为测试集
具体的评价方法如下:
1. 根据测试集数据,我们估计特征的平均值和方差并构建 p(x)函数
2. 对交叉检验集,我们尝试使用不同的 ε 值作为阀值,并预测数据是否异常,根据 F1
值或者查准率与查全率的比例来选择 ε
3. 选出 ε 后,针对测试集进行预测,计算异常检验系统的 F1 值, 或者查准率与查全
率之比

之前我们构建的异常检测系统也使用了带标记的数据,与监督学习有些相似,下面的对
比有助于选择采用监督学习还是异常检测:
两者比较:

转载于:https://www.cnblogs.com/KID-XiaoYuan/p/7388274.html

【机器学习】异常检测算法(I)相关推荐

  1. 机器学习 - 异常检测算法之孤立森林(Isolation Forest)

    参考:https://blog.csdn.net/extremebingo/article/details/80108247 背景 现有的异常检测方法: 通过对正常样本的描述,给出一个正常样本在特征空 ...

  2. (一)异常检测算法:Isolation Forest原理及其python代码应用

    异常检测 (anomaly detection),又被称为"离群点检测" (outlier detection),是机器学习研究领域中跟现实紧密联系.有广泛应用需求的一类问题.但是 ...

  3. 【机器学习】异常检测算法速览(Python代码)

    正文共: 8636字 8图 预计阅读时间: 22分钟 一.异常检测简介 异常检测是通过数据挖掘方法发现与数据集分布不一致的异常数据,也被称为离群点.异常值检测等等. 1.1 异常检测适用的场景 异常检 ...

  4. 机器学习:异常检测算法Seasonal Hybrid ESD及R语言实现

    机器学习:异常检测算法Seasonal Hybrid ESD及R语言实现 参考文章: (1)机器学习:异常检测算法Seasonal Hybrid ESD及R语言实现 (2)https://www.cn ...

  5. python 异常检测算法_吴恩达机器学习中文版笔记:异常检测(Anomaly Detection)

    大数据文摘经授权转载 作者:黄海广 在接下来的一系列视频中,我将向大家介绍异常检测(Anomaly detection)问题.这是机器学习算法的一个常见应用.这种算法的一个有趣之处在于:它虽然主要用于 ...

  6. 【机器学习】一文详解异常检测算法:KNN

    大家好,我们知道 sklearn 库里的 KNN 并没有直接用于异常检测,但是包含了距离计算的函数,所以我们应用PyOD中KNN库进行异常检测,里面基本上也是调用sklearn的函数进行计算,并进行了 ...

  7. 时序预测竞赛之异常检测算法综述

    本文将介绍在时间序列预测相关问题中常见的异常检测算法,可以很大程度上帮助改善最终预测效果. 异常分类 时间序列的异常检测问题通常表示为相对于某些标准信号或常见信号的离群点.虽然有很多的异常类型,但是我 ...

  8. ML.NET 1.1 发布,模型构建器升级和新的异常检测算法

    https://www.toutiao.com/a6703297861997560328/ 2019-06-17 08:59:15 ML.NET 1.1 已发布.ML.NET 是一个跨平台的机器学习框 ...

  9. kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归...

    使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...

最新文章

  1. 布巴内斯瓦尔成智慧城市 印小城何以“智慧”
  2. C++自定义sobel求梯度
  3. 用Cucumber JVM编写BDD测试
  4. F1 Query: Declarative Querying at Scale
  5. nginx server_name
  6. vue生命周期整理学习
  7. 杭电OJ分类题目(2)
  8. 上海特斯拉发那科机器人视觉引导程序备份
  9. 人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵
  10. 一加10 Pro搭载Pixelworks视觉显示技术;Microland获微软高级专业化认证 | 全球TMT
  11. 关于Oppen Live Writer中插入可折叠着色代码的插件
  12. GPU共享内存小结---pycuda
  13. valgrind内存泄漏检测
  14. android 公式编辑,能编辑公式的安卓手机股票软件
  15. Chrome浏览器对统一资源发出多个请求时,导致最多停止20s问题
  16. iPhone 电池容量怎么算?
  17. APK Image Extractor(安卓APK图像提取) v2.0
  18. PyQt实现按钮控件的拖动效果,利用鼠标移动事件实现。
  19. 政府大数据平台标准规范-数据接入
  20. HDU5128The E-pang Palace(计算几何暴力枚举)

热门文章

  1. 按类别组织的Python主要内置对象类型
  2. WaitForSingleObject的用法举例
  3. Php传图缩图,使用以下用于上传图像的PHP代码上传时缩小图像大小
  4. php依次替换src,如何在php中替换img中src内容
  5. 10个数冒泡排序流程图_C语言 | 冒泡排序
  6. php sftp 删除,Linux中安装,卸载ftp|sftp服务
  7. python强制可读吗_python 中的强制类型转换
  8. 自考护理学计算机考试时间,护理学专业2019年10月江苏自考科目及考试时间安排...
  9. redis 主从配置_应用 | Redis实现 主从,单例,集群,哨兵,配置应用
  10. python项目实践_Python 项目实践三(Web应用程序)第二篇