Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 253|回复: 0

吴恩达《机器学习》课程总结(15)异常检测

[复制链接]
  • TA的每日心情
    奋斗
    昨天 14:54
  • 签到天数: 349 天

    [LV.8]以坛为家I

    1661

    主题

    1719

    帖子

    24万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    244806
    发表于 2021-9-5 10:55:31 | 显示全部楼层 |阅读模式

    15.1问题的动机

    将正常的样本绘制成图表(假设可以),如下图所示:

    当新的测试样本同样绘制到图标上,如果偏离中心越远说明越可能不正常,使用某个可能性阈值,当低于正常可能性阈值时判断其为异常,然后做进一步的检查。异常检测常用于工业生产、异常用户等实际场景中。

    以上这种方法叫密度评估:

    15.2高斯分布

    (1)高斯分布也称为正态分布,其记为:

    (2)高斯分布的概率密度函数:

    其中均值和方差的计算公式:

    均值影响水平移动;方差越大,分布越矮胖,方差越小,分布越瘦高。

    (3)在求均值方差是到底用1/m还是1/(m-1)不做深究,二者差别很小(除非数据样本特别少),机器学习上习惯用前者。

     15.3算法

    (1)首先求出每个特征的均值和方差:

    (2)获取新数据之后根据模型计算密度(注意此处算的是密度,而不是概率):

    (最后一项应该把1改成n)

    (3)根据设定的判断边界,当p(x)小于判断边界是则判别为异常。

    以下的三维图是表示密度估计函数:

    15.4开发和评价一个异常检测系统

    (1)异常检测是一个非监督学习,故不可以根据结果变量y的值来高斯我们数据是否真的是异常。

    (2)异常检测系统开发的方法:从带有标记(正常和异常)的数据着手,选择部分正确数据集构建模型,然后剩余正常和异常构成交叉验证集和测试集,交叉验证集作为选取阈值ε

    案例:10000台正常的引擎数据,20台异常引擎数据,分配如下:

    6000台正常作为模型构建

    2000台正常和10台异常作为交叉验证集

    2000台正常和10台异常作为测试集

    具体评价方法如下:

    1.根据训练集数据,我们估计特征的平均值和方差并构建p(x)函数;

    2.对交叉验证集,尝试用不同的ε值作为阈值,并预测数据是否异常,根据F1值或者查准率与查全率的比例来选择ε;

    3.选出ε后,针对测试集进行预测,计算异常检测系统的F1值,或者出准率与查全率之比。

     15.5异常检测与监督学习的对比

    通常来说,正例(异常)样本太少,甚至为0,也就是说,出现了太多没见过的不同的异常类型,对于这些问题,通常应该使用的算法是异常检测算法。

    15.6选择特征

    (1)异常检测是假设特征符合正态分布(不是当然也能用,但不好),故需要将非正态分布的特征转换成正态分布,例如使用对数函数x=log(x+C),其中C是非负常数,常用1;或者x=xc,c为0-1之间的一个分数。下图就是一个通过对数转换得到的正态分布

    (2)误差分析:一个常见问题是一些异常的数据可能也会有较高的p(x)值,因而被认为是正常的,这种情况下可以做误差分析,从中找到一些新特征,是异常的p(x)变小。如下图中一个异常样本在一个特征中p(x)值很大,然后寻找其他特征,使其p(x)变小。

    通常可以通过一些相关特征的组合获得很好的新特征,如在检测数据中心的计算机状况,使用CPU的负载与网络通信的比例作为新的特征,该值异常大时意味着出现问题。

    15.7多元高斯分布(选修)

    (1)当特征之间具有相关性时,原来的高斯分布可能无法正确的边界(当然通过特征组合成新特征可以一定的解决该问题),如下图紫色的线是原来的高斯分布,蓝色的线是多元高斯分布:

    (2)原来的高斯分布计算过程:

    多元高斯分布计算过程(计算均值、协方差、概率密度函数):

    (3)协方差矩阵的影响:

    (4)原高斯分布模型(特例)与多元高斯分布模型(一般)的比较:

    (5)特征之间具有相关性时,解决方法有二,其一通过 多元高斯分布,其二通过特征组合形成新特征。

    15.8使用多元高斯分布进行异常检测(选修):

    简要的讲就是先用数据集计算均值和协方差,然后计算p(x),利用测试数据带入到p(x)中求得的值与阈值作比较,小于阈值则判断为异常。

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2022-6-30 03:38 , Processed in 0.070957 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表