Coursera在线学习---第九节(1).异常数据检测(Anomaly Detection)
一、如何构建Anomaly Detection模型?
二、如何评估Anomaly Detection系统?
1)将样本分为6:2:2比例
2)利用交叉验证集计算出F1值,可以用F1值选取概率阈值ξ,选取使得F1值最大的那个ξ。
3)同时也可以根据训练集、交叉验证集、测试集来同样选取使用哪些特征变量更好。方法就是不断更换特征组合构建模型,利用交叉验证集计算F1值,并看测试集的效果等等。
三、什么时候用异常数据检测法,什么时候用有监督的分类方法?
1)一般来讲,当样本中有大量正常样本数据,而仅仅有少量异常点数据时,这个时候建议构建Anomaly Detection模型。因为异常样本太少,无法进行有效的监督训练;而此时因为有大量的正样本数据,可以有效的拟合高斯模型。当正样本与负样本数量都比较大的时候,可以采用有监督的学习方法,这就是两种方法的不同之处。
2)另一种不同在于,异常数据点的出现情况往往是多种多样、不可预测的。所以,这个时候只对正常数据样本拟合模型即可,不符合该模型的数据均可视为异常数据点。而有监督的学习方法需要有明确的正样本与负样本标签,让机器明白无误的去训练学习。
四、应用举例
网络欺骗登陆检测。如果收集了大量的网站欺骗行为数据,可以选择用监督方法来实现检测。如果少量欺骗行为数据,还是用Anomaly Detection方法比较好。
五、样本数据的分布转换
如果原始样本数据符合高斯分布(也叫正态分布),则可以直接拟合高斯模型。如果原始样本不符合高斯分布,则可以采用log(x)、log(x+c)、X^(1/2)、X^(1/3)等方法对原始样本进行转换,使其符合高斯分布。可以采用hist(x)画直方图看分布状态。
六、如何筛选特征变量?
尽量选取一些浮动不是特别大的变量,如果浮动大了,必然是异常数据了。也可以新增一些组合特征变量,比如:x1/x2,x1^2/x2等。
七、拟合多元高斯分布模型。
有这样一种情况,比如:x1与x2正常情况下是正相关的,但是出现了一个异常数据,就是x1突然变得很大,而x2则不是特别大。这种情况如果采用上述方法单独拟合模型,则检测不出该异常点,因为两个变量数据在各自分布中都是正常的。所以,一种方法就是新增特征组合x1/x2,另一种方法就是采用多元高斯分布。
八、什么时候用一元高斯模型,什么时候用多元高斯模型?
一般来说,一元高斯模型用的较多,而多元高斯模型用的不多。但是,对于特征变量x1,x2的一些异常组合情况,多元高斯模型能够检测出来。一元高斯模型如果也想检测出该异常数据,需要增加新的特征组合。
综合来说,一元高斯模型计算量小一些,当特征维度n较大时,采用一元模型较好。而多元高斯模型需要计算矩阵,代价太大,而且还要求m>n(m为样本数量),否则矩阵为不可逆矩阵。当m约等于10倍n的数量之上时,用多元模型较好。
相关文章
- 【异常】 'ascii' codec can't decode byte 0xe8 in position 2: ordinal not in range(128)
- 有关try..catch..finally处理异常的总结
- 5-2python语法基础-异常操作
- 【学习总结】GirlsInAI ML-diary day-13-Try/Except 异常处理
- Java编程常见内存溢出异常与代码示例
- Java学习之路 之 异常总结篇
- Python语言学习:Python语言学习之迭代/递归/OS输入输出/错误&异常处理的简介、案例应用之详细攻略
- C++:C++编程语言学习之逻辑控制语句(循环语句&判断语句)&异常处理(try-catch-throw)的简介、案例应用之详细攻略
- Python语言学习:python语言代码调试—异常处理之详细攻略
- 【异常】illegalArgumentException: Could not resolve placeholder ‘xxx.xxx‘ in value “${xxx.xxx}
- 机器学习(十五):异常检测之隔离森林算法(IsolationForest)
- 数学建模学习(72):隔离森林算法模型,较大数据集的异常值处理
- MySQL 异常有这一篇就够了!
- 学习Spring Boot:(九)统一异常处理
- 【Linux 内核】进程管理 ( 进程状态 | 进程创建 | 进程终止 | 调用 exit 系统调用函数主动退出 | main 函数返回自动退出 | kill 杀死进程 | 执行异常退出 )
- JavaSE学习总结(八)—— 异常处理(Exception)
- 异常学习笔记+打包+doc该软件包编译
- SLS机器学习最佳实战:日志聚类+异常告警 —— 这个就是splunk SQL+机器学习结合产物啊
- 使用GAN进行异常检测——可以进行网络流量的自学习哇,哥哥,人家是半监督,无监督的话,还是要VAE,SAE。