斯坦福NG机器学习课程:Anomaly Detection笔记
Anomaly Detection
Problem motivation:
首先描写叙述异常检測的样例:飞机发动机异常检測
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
直观上发现,假设新的发动机在中间,我们非常大可能觉得是OK的。假设偏离非常大。我们就须要很多其它检測确定是否为正常发动机。
以下进行数学形式上的描写叙述,通过概率密度进行预计。例如以下图:
对正常的数据进行建模。求Xtest的概率。当处于中心位置时概率比較大。而且大于设定的阈值,我们判定为OK状态,在远离中心状态。概率比較小,小于设定阈值我们判定为anomaly点。
Anomaly detection常见应用:
NG课上提到了三个应用方向,第一个是最開始举例的飞机引擎。然后是欺诈发现,这个在信用卡和购物站点上得到广泛应用。最后一个是产业界应用,我们须要监视一个计算机系统。我们通过正常执行系统的 内存使用、CUP load等建模。当系统某个值不在正常范围就可以能是计算机系统中有电脑出现异常状态。
习题:当我们系统建模后,导致把异常状态推断为正常状态,这时须要减少阈值避免误判。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
GaussianDistribution:
复习高斯分布一些内容,比較熟悉能够直接跳过。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
图型和概率分布函数。
上图均值方差表如今高斯分布图型上的差异。
Parameter estimation:
简单的说就是预计均值和方差。下图中写出的公式事实上能够通过极大似然预计进行数学上的求解证明。这里就不具体说(翻开数理统计课本能够找到)。求方差公式中能够选择m或者m-1这都无所谓,由于往往数据集非常大。这样最后计算结果没什么差别,在机器学习中通常选择m而在统计学中往往选择m-1。
选择m还是m-1在理论上有非常大差别,可是实际应用上没什么太大差别。
习题:高斯分布密度函数求解
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Algorithm
密度函数预计算法:
求P(X)就是密度预计过程。
连乘公式须要每个条件独立,可是假设不是条件独立也能这么计算得到正确结果。
习题:对均值方差预计公式。
J下标表示第J个特征
Anomaly detectionalgorithm
1. 选择你觉得可以区分是否为anomalous 的样例特征。
2. 拟合參数即均值和方差。
3. 计算给定数据集上的联合概率密度函数。假设小于设定阈值则判定为异常数据。
进行实例描写叙述这个算法:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
依照上面所写三步流程即可计算:看左下角图。假设我们计算联合概率值较大图形上反映为高度较高,则判定为normal,假设计算得到高度较低,判定为异常。
到这里为止还仅仅是描写叙述了算法运行流程。我们并没有深入描写叙述每一步细节。
Developing andEvaluating an Anomaly Detection System
我们会发现能用一个数值标准去评价一个学习算法是很重要的,我们能够尝试增加某个feature进行评估,然后去掉该feature再次进行评估。这样得到feature对学习算法的影响。
到如今为止异常检測我们仅仅利用数据并没有数据类标签,是一种无监督学习。
如果我们已经有类标签标记的数据。这样使用异常检測算法就能非常好的进行评估!这是非常重要的一种思维转换。
继续上面提到的飞机发动机样例。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
我们推荐使用蓝色标记的划分,可是红色标记的划分也有人在这么操作。
算法效果的评估:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
习题:非常明显在test集上的accuracy不是好的评估标准。由于我们这里是倾斜类!须要用到Precision 和recall F_score来进行评估。
阈值的确定能够通过evaluation metric取值最大确定。当你在设计一个异常检測系统时,关键须要考虑选择何种feature、设定多大的阈值。
Anomaly DetectionVS Supervised Learning
讲到这里我们肯定都有困惑。当我们有数据类标签,为什么我们不直接使用监督性学习而使用Anomaly detection,接下来就对两者进行对照。
首先Anomaly detection 在数据集上特点是:非常少量的positive 数据,非常大量的negative数据,这样我们使用大量的negative数据可以好的拟合求得联合高斯概率密度函数。而supervised learning中 positive negative数据量都大。
其次我们有不同类型的异常数据,可是异常数据量非常小,不论什么算法都非常难在小的Anomaly数据集上学习得到Anomaly是什么样子。
上面两者对照是你应用Anomaly detection 还是supervise learning 的一些重要区分标准。
Spam是常常提到的一种学习系统。尽管我们有非常多类型的Spam。可是每种类型的Spam我们都有比較多的数据。所以Spam问题我们应用的是supervise learning。
事实上这两种状态并非全然切割的。举例说假设我们在交易时有非常多为Fraud的,则我们学习问题由Anomaly detection 转变为supervise learning。
习题:直观对两种情况的推断
ChoosingWhat Features to Use
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
前面说的方法都是假定数据满足高斯分布,也提到了假设分布不是高斯分布,上述方法也是能够使用,仅仅是假设我们对分布进行转换使得近似于高斯分布,那么会得到更好的效果。
上图就举例用log等函数进行转换。实现层面octave以下尝试转换就能够得到非常好近似高斯。
怎样选择feature:
思想类似于supervise learning中的error analysis ,当左边图进行学习时我们得到了错误结果,这时我们须要增加新的特征X2使得那个点与正常数据得到区分!如上图从左到右所看到的意。
还是回到前面提到的监视数据中心电脑,我们为了分析究竟是哪个特征引起Anomaly,通过构造新的feature来进行推断。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
习题:Anomaly detection 算法不能非常好区分开normal和Anomaly时。我们通常须要添加特征来使得它们得以区分。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVydXp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
斯坦福NG机器学习课程:Anomaly Detection笔记的更多相关文章
- Andrew Ng机器学习课程笔记(五)之应用机器学习的建议
Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...
- Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)
title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...
- Andrew Ng机器学习课程笔记--汇总
笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ...
- Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计
Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7392408.h ...
- Andrew Ng机器学习课程笔记(四)之神经网络
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...
- Andrew Ng机器学习课程笔记(三)之正则化
Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...
- Andrew Ng机器学习课程笔记(二)之逻辑回归
Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...
- Andrew Ng机器学习课程笔记(一)之线性回归
Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...
- Andrew Ng机器学习课程13
Andrew Ng机器学习课程13 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 引言:主要从一般的角度介绍EM算法及其思想,并推导了EM算法的收敛性.最后 ...
随机推荐
- Java date
http://liyongyao.blog.51cto.com/2895045/1206770 http://javaforu.com/
- Win7 64 bit 激活工具
下载地址:http://www.3987.com/xiazai/1/18/35487.html 一键运行,重启就激活了,简洁方便!
- UVA - 11882 Biggest Number(dfs+bfs+强剪枝)
题目大意:给出一个方格矩阵,矩阵中有数字0~9,任选一个格子为起点,将走过的数字连起来构成一个数,找出最大的那个数,每个格子只能走一次. 题目分析:DFS.剪枝方案:在当前的处境下,找出所有还能到达的 ...
- K-近邻算法python实现
内容主要来源于机器学习实战这本书.加上自己的理解. 1.KNN算法的简单描写叙述 K近期邻(k-Nearest Neighbor.KNN)分类算法能够说是最简单的机器学习算法了. 它採用測量不同特征值 ...
- 编程算法 - 最长上升子序列问题 代码(C)
最长上升子序列问题 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 有一个长为n的数列a. 请求出这个序列中最长上升子序列的长度. 最长上升子序 ...
- ab -n -c
ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 1 我们可以模拟100个并发用户,对一个页面发送1000个请求 ./ab -n1000 -c1 ...
- C#整理5——break与continue.及数组
一.break与continue.这两个关键字一般放在循环的花括号里面使用.break——结束整个循环.continue——结束本次循环,进入下次循环. break的案例: using System; ...
- C# 利用反射动态调用类成员
用反射动态调用类成员,需要Type类的一个方法:InvokeMember.对该方法的声明如下(摘抄于MSDN): publicobject InvokeMember( string name, ...
- (原)前端知识杂烩(meta系列)
更新于 20160831 1. meta 移动端头文件设置 (一般情况下,逐条复制放在头部就可以了) 1.1 强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏 ...
- UVA 1613 K-Graph Oddity
题意; 在一个n个点的无向连通图中,n是奇数,k是使得所有点的度数不超过k的最小奇数,询问一种染色方案,使得相邻点的颜色不同. 分析: k=所有点中最大的入度.如果最大入度是偶数,则k+1.每个点可选 ...