吴恩达《Machine Learning》精炼笔记 10:异常检测

简介: 吴恩达《Machine Learning》精炼笔记 10:异常检测

系列文章:


吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习

吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程

吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化

吴恩达《Machine Learning》精炼笔记 4:神经网络基础

吴恩达《Machine Learning》精炼笔记 5:神经网络

吴恩达《Machine Learning》精炼笔记 6:关于机器学习的建议

吴恩达《Machine Learning》精炼笔记 7:支持向量机 SVM

吴恩达《Machine Learning》精炼笔记 8:聚类 KMeans 及其 Python实现

吴恩达《Machine Learning》精炼笔记 9:PCA 及其 Python 实现



在本文中主要讲解了机器学习中的异常检测问题,主要包含:

  • 问题产生
  • 高斯分布
  • 算法使用场景
  • 八种无监督异常检测技术
  • 异常检测和监督学习对比
  • 特征选择


异常检测Novelty Detection

异常是相对于其他观测数据而言有明显偏离的,以至于怀疑它与正常点不属于同一个数据分布。

异常检测是一种用于识别不符合预期行为的异常模式的技术,又称之为异常值检测。

在商业中也有许多应用,如网络入侵检测(识别可能发出黑客攻击的网络流量中的特殊模式)、系统健康性监测、信用卡交易欺诈检测、设备故障检测、风险识别等


问题动机


异常检测主要是运用于非监督学习的算法。问题的引出:通过飞机的检测开始。

检测飞机的引擎制造商生产了一批飞机引擎,测试了其中的一些特征变量,比如引擎运转时产生的热量,或者引擎的振动等。


假设有m个引擎,数据如下:

image.png

我们绘制出如下图表:


image.png

对于给定的数据集,需要检测xtestxtest是不是异常的,即这个测试数据不属于这组数据的几率是多少。


从上图看出,在蓝色圈内属于该组的概率高,越是偏远的概率,属于该组的可能性就越低。


image.png

另外两个异常检测的应用例子是

  • 识别欺骗行为,通过用户多久登陆一次、访问过的页面、发布帖子的数量等建立模型,通过模型来识别那些不符合该模型的用户。
  • 检测数据中心的使用情况:内存使用、被访问的磁盘数量、CPU负载等


高斯分布


高斯分布也叫正态分布。分布满足:

image.png

概率密度函数为:

image.png

均值μ为:

image.png

方差σ2为 :

image.png

高斯分布的样例为


image.png

当均值μ相同的时候

  • 方差的平方越大,图形是矮胖的
  • 方差的平方越小,图形是瘦高型的


使用场景


异常检测算法的使用场景一般是三种:

  1. 在做特征工程的时候需要对异常的数据做过滤,防止对归一化等处理的结果产生影响
  2. 对没有标记输出的特征数据做筛选,找出异常的数据
  3. 对有标记输出的特征数据做二分类时,由于某些类别的训练样本非常少,类别严重不平衡,此时也可以考虑用非监督的异常点检测算法来做


算法


算法的具体过程是

  1. 对于给定的数据集:

image.png

  1. 计算每个特征的μ;σ2 的估计值
  2. 两个参数的估计值为:


image.png

利用高斯分布进行计算p(x)

image.png

两个特征的训练集及特征非部分情况


image.png


三维图表示的是密度函数,z轴为根据两个特征的值估计的p(x)的值


image.png

p(x)>ε时候,预测是正常数据, 否则为异常


异常算法的设计

当我们开发一个异常检测系统时,从带标记(异常或正常)的数据着手

  • 从其中选择一部分正常数据用于构建训练集
  • 然后用剩下的正常数据和异常数据混合的数据构成交叉检验集和测试集。


八种无监督异常检测技术


  1. 基于统计的异常检测技术
  1. MA滑动平均法
  2. 3—Sigma(拉依达准则)
  1. 基于密度的异常检测
  2. 基于聚类的异常检测
  3. 基于``K-Means`聚类的异常检测
  4. One Class SVM的异常检测
  5. Isolation Forest的异常检测
  6. PCA+MD的异常检测
  7. AutoEncoder异常检测


异常检测和监督学习对比


异常检测中采用的也是带标记的数据,和监督学习类似。二者对比为:


image.png

当正样本的数量很少,甚至有时候是0,即出现了太多没见过的不同的异常类型,对于这些问题,通常应该使用的算法就是异常检测算法。


特征选择


异常检测算法是基于高斯分布的。当然不满足高斯分布也能处理,但是最好转成高斯分布。误差分析是特征选择中很重要的点。


有些异常数据可能出现较高的p(x)的值,被算法当做是正常数据。通过误差分析,增加新的特征得到新的算法,帮助我们更好地进行异常检测。


image.png

新特征获取:通过原有特征进行组合,得到新的特征

参考资料:李航-统计学习方法

相关文章
|
11月前
|
SQL 安全 算法
网络安全与信息安全的全面解析:应对漏洞、加密技术及提升安全意识的策略
本文深入探讨了网络安全和信息安全的重要性,详细分析了常见的网络安全漏洞以及其利用方式,介绍了当前流行的加密技术及其应用,并强调了培养良好安全意识的必要性。通过综合运用这些策略,可以有效提升个人和企业的网络安全防护水平。
|
11月前
|
存储 SQL 关系型数据库
mysql中主键索引和联合索引的原理与区别
本文详细介绍了MySQL中的主键索引和联合索引原理及其区别。主键索引按主键值排序,叶节点仅存储数据区,而索引页则存储索引和指向数据域的指针。联合索引由多个字段组成,遵循最左前缀原则,可提高查询效率。文章还探讨了索引扫描原理、索引失效情况及设计原则,并对比了InnoDB与MyISAM存储引擎中聚簇索引和非聚簇索引的特点。对于优化MySQL性能具有参考价值。
|
10月前
|
前端开发 JavaScript 搜索推荐
前端懒加载:提升页面性能的关键技术
前端懒加载是一种优化网页加载速度的技术,通过延迟加载非首屏内容,减少初始加载时间,提高用户访问体验和页面性能。
|
10月前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
905 4
|
弹性计算 人工智能 测试技术
阿里云服务器价格表在哪查看?报价清单整理好了
阿里云轻量应用服务器2核2G3M带宽轻量服务器一年108元,2核4G4M带宽轻量服务器一年297.98元12个月;ECS云服务器e系列2核2G配置182元一年、2核4G配置365元一年、2核8G配置522元一年;阿里云u1服务器2核4G、2核8G、4核8G、8核16G、4核16G、8核64等配置新人3折优惠
344 0
Go---Go语言现实结构体和方法未定义问题
Go---Go语言现实结构体和方法未定义问题
Go---Go语言现实结构体和方法未定义问题
|
人工智能 自然语言处理 文字识别
阿里云子账号(RAM用户)使用人工智能产品相关授权示例
访问控制RAM(Resource Access Management)是阿里云提供的管理用户身份与资源访问权限的服务,使用RAM,您可以创建、管理RAM用户(例如员工、系统或应用程序),并可以控制这些RAM用户对资源的操作权限。当您的企业存在多用户协同操作资源的场景时,RAM可以让您避免与其他用户共享阿里云账号密钥,按需为用户分配最小权限,从而降低企业的信息安全风险。在使用RAM用户(子账号)调用相应API前,需要阿里云账号(主账号)对RAM账号进行相应授权。但是客户在第一次使用过程中往往看到权限问题不知如果解决,更不懂怎么进行授权操作等一系列问题。本文简单介绍在一些服务如何为RAM用户授权。
1419 0
阿里云子账号(RAM用户)使用人工智能产品相关授权示例
|
Web App开发 数据采集 XML
156个Python网络爬虫资源,GitHub上awesome系列之Python爬虫工具
项目地址:lorien/awesome-web-scraping,GitHub上awesome系列之Python的爬虫工具。本列表包含Python网页抓取和数据处理相关的库。
13522 0