主要内容:

一.模型介绍

二.算法过程

三.算法性能评估及ε(threshold)的选择

四.Anomaly detection vs Supervised learning

五.Multivariate Gaussian

一.模型介绍

如何检测一个成品是否异常?

假设红交叉表示正常的样本点,如果抽取到的成品其位于正常样本点的范围之内,则可认为其正常;如果成品的位置远离正常样本点,则可认为其出现异常。

为了更加明确“正常样本点”的范围,我们添加圈圈以划定区域,如:

此时,选择一个threshold,即ε,以划定正常与异常的边界。

当p(Xtest) >= ε,可认为是正常;

当p(Xtest) < ε,可认为是异常。

而这个p()就是高斯分布函数,即正态分布函数。

二.算法过程

注意,此限制是:所有特征都必须相互独立,才满足公式:P(AB) = P(a)*P(B)。

三.算法性能评估及ε(threshold)的选择

四.Anomaly detection vs Supervised learning

貌似利用高斯分布函数来检测异常的方法跟Logistic回归进行二分类的方法十分相似。确实如此,但两者有不同的使用场合:

五.Multivariate Gaussian

之前使用的高斯分布函数都要求各个特征相互独立,而现实往往并非如此。因此需要使用Multivariate Gaussian(不知道中文应该怎么叫,就先叫做多维正态分布吧),它适用于特征不独立的条件。

而讲到多维正态分布,就离不开讲协方差矩阵。

1) 当各个特征相互独立时,其协方差矩阵为对角矩阵,其中对角线元素即为其每个特征的方差。而分布图其实“随坐标轴”的。

2) 当各个特征不相互独立时,其协方差矩阵就不是对角矩阵了。而其分布图是“不随坐标轴”的。

有关协方差的含义,可看此博客:终于明白协方差的意义了

了解多维正态分布后,就可以用它来改进检测方法了:

虽然改进后的多维正态分布适用性更强了,但却不一定处处体现出优势。因此以下列出了原始模型与改进模型的使用条件:

吴恩达机器学习笔记(九) —— 异常检测(Anomaly detection)的更多相关文章

  1. 吴恩达机器学习笔记52-异常检测的问题动机与高斯分布(Problem Motivation of Anomaly Detection& Gaussian Distribution)

    一.问题动机 异常检测(Anomaly detection)问题是机器学习算法的一个常见应用.这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题. 给 ...

  2. 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)

    对于异常检测算法,使用特征是至关重要的,下面谈谈如何选择特征: 异常检测假设特征符合高斯分布,如果数据的分布不是高斯分布,异常检测算法也能够工作,但是最好还是将数据转换成高斯分布,例如使用对数函数:

  3. 吴恩达机器学习笔记54-开发与评价一个异常检测系统及其与监督学习的对比(Developing and Evaluating an Anomaly Detection System and the Comparison to Supervised Learning)

    一.开发与评价一个异常检测系统 异常检测算法是一个非监督学习算法,意味着我们无法根据结果变量

  4. 吴恩达机器学习笔记53-高斯分布的算法(Algorithm of Gaussian Distribution)

    如何应用高斯分布开发异常检测算法呢? 异常检测算法: 对于给定的数据集

  5. 吴恩达机器学习笔记(六) —— 支持向量机SVM

    主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...

  6. 吴恩达机器学习笔记56-多元高斯分布及其在误差检测中的应用(Multivariate Gaussian Distribution & Anomaly Detection using the Multivariate Gaussian Distribution)

    一.多元高斯分布简介 假使我们有两个相关的特征,而且这两个特征的值域范围比较宽,这种情况下,一般的高斯分布模型可能不能很好地识别异常数据.其原因在于,一般的高斯分布模型尝试的是去同时抓住两个特征的偏差 ...

  7. 吴恩达机器学习笔记 —— 19 应用举例:照片OCR(光学字符识别)

    http://www.cnblogs.com/xing901022/p/9374258.html 本章讲述的是一个复杂的机器学习系统,通过它可以看到机器学习的系统是如何组装起来的:另外也说明了一个复杂 ...

  8. [吴恩达机器学习笔记]12支持向量机5SVM参数细节

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...

  9. [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...

随机推荐

  1. JAVA Eclipse开发Android如何设置滚动条最大值最小值

    最小值默认为0,你最好在实现逻辑中修改 最大值为max 初始值为progress      <SeekBar      android:id="@+id/seekBarSpeedMov ...

  2. [Python] SQLBuilder 演示样例代码

    用Python写一个SQLBuilder.Java版能够从 http://www.java2s.com/Code/Java/Database-SQL-JDBC/SQLBuilder.htm 看到. 附 ...

  3. 【Excle数据透视表】如何移动数据透视表的位置

    数据透视表创建完成了,现在需要将它移动到D5位置,如何移动呢? 解决办法 通过"移动数据透视表"功能实现数据透视表的位置移动 步骤1 单击数据透视表任意单元格→数据透视表工具→分析 ...

  4. EasyUI这个框架用了好久了,总结一下遇到的问题和解决方法

    1. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法: 我们之所以在页面中,只要书写相应easyui的class,Easyui就能成功渲染页面,这是因为解析器在 ...

  5. oracle select into相关

    自定义参数输出: declare v_test integer :=0 ;beginselect count(*) into v_test  from tf_estate_card t ;dbms_o ...

  6. VueJS自定义全局和局部指令

    除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令. 使用directive自定义全局指令 下面我们注册一个全局指令 v-focus, 该指令的功能是在页面 ...

  7. [读书笔记] learn python the hard way书中 有关powershell 的一些小问题

    ex46中,创建自己的python,  当你激活环境时 .\.venvs\lpthw\ Scripts\activate 会报一个错误 此时需要以管理员身份运行PowerShell,(当前的PS不用关 ...

  8. C语言日期计算器

    记录下码子 # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <stdlib.h> int days ...

  9. FZU2125:简单的等式

    Problem Description 如今有一个等式例如以下:x^2+s(x,m)x-n=0. 当中s(x,m)表示把x写成m进制时,每一个位数相加的和.如今,在给定n,m的情况下,求出满足等式的最 ...

  10. java 中的final

    在编程语言中都有某种方式,告知编译器一块数据是恒定不变的.有两个需求 1. 一个永不改变的编译器常量 2. 一个在运行时被初始化的值,而这个值不会被改变 在Java中,使用final修饰变量实现这两个 ...