zoukankan      html  css  js  c++  java
  • 吴恩达机器学习笔记 —— 16 异常点检测

    http://www.cnblogs.com/xing901022/p/9398242.html

    本篇介绍了异常点检测相关的知识

    更多内容参考 机器学习&深度学习

    我感觉这篇整理的很好很用心,可以详细参考: https://blog.csdn.net/Snail_Moved_Slowly/article/details/78826088

    什么是异常点检测?比如针对飞机的引擎做测试,x1代表温度、x2代表引擎的震动等等,希望判断新生产的引擎是否有问题。如果这个新的引擎在点的中心可能是正常的,如果离大部分的样本点都很远,那就可能是异常点。

    另外可以假设有一个模型可以预测概率,如果P<ξ,就是异常点;如果P>ξ就是正常点。再比如消费者的信用行为、数据中心的监控等等。

    高斯分布也叫做正态分布,描述了数据分布的情况

    使用高斯分布进行异常点检测的算法流程: 1 选择可能产生异常值影响的特征 2 计算每个特征的平均值和方差 3 基于方差和均值计算p(x) 得到结果后就可以进行异常点的判断了,比如ξ选择了0.02,那么就可以对各个样本点进行对比,小于它的,就认为是异常点。 那么如何开发一个异常点检测的应用呢。如果能有部分的样本带有标注y=1或者y=0,就可以基于这些数据做为模型的评价了。如果我们有10000个正常点,20个异常点。那么可以分配6000个正常点作为训练集,10个异常点+2000个正常点作为验证集,剩下的作为测试集。然后使用P R F1做为模型的评估。

    异常点检测和监督学习还是不同的:首先就是异常点检测异常样本极少,而监督学习要求正常样本点和异常点都很多才行。在数据分布方面,高斯分布需要各个维度都保持在正态分布;模型训练方面,异常点只是在验证集与测试集上起作用。

    在使用高斯分布之前应该把数据构造成正态分布的样子,否则就是用一些Log或者开方等方法,使得图形贴近高斯分布。如果选择了一个特征,结果异常点在样本点中间,那么最好能开发一些新的特征,使得这个异常点脱离正常点。

    多元高斯分布是高斯分布的一种特殊情况,他们也有不同的使用场景: 1 高斯分布需要手动设计特征;多变量多元高斯分布则可以自己捕获特征 2 高斯分布的计算代价比较小; 3 高斯分布在m样本量比较少的时候也无所谓;多元高斯分布由于要构造一个矩阵,所以需要保证m有足够的量

    多元高斯分布的出现主要是解决多个特征拟合后,虽然在自己的维度都不属于异常点,但是通过多元的作用,就可以把异常点排除。

  • 相关阅读:
    arcgis for flex 学习笔记(一)
    也说JS脚本加载控制
    数据验证随想(续)
    Oracle 脚本记录
    探讨:如何更快的赋值取值
    正则表达式技巧
    类似web风格的 Winform 分页控件
    数据验证随想
    [leetcode]Excel Sheet Column Title
    [leetcode]Merge k Sorted Lists
  • 原文地址:https://www.cnblogs.com/DicksonJYL/p/9421294.html
Copyright © 2011-2022 走看看