机器学习(十一)-------- 异常检测(Anomaly Detection)

异常检测(Anomaly Detection)
给定数据集 𝑥(1),𝑥(2),..,𝑥(𝑚),我们假使数据集是正常的,我们希望知道新的数据 𝑥𝑡𝑒𝑠𝑡
是不是异常的,即这个测试数据不属于该组数据的几率如何。我们所构建的模型应该能根据
该测试数据的位置告诉我们其属于一组数据的可能性 𝑝(𝑥)。

模型𝑝(𝑥) 为我们其属于一组数据的可能性,通过𝑝(𝑥) < 检测非正常用户。

将应用高斯分布开发异常检测算法。

对于给定的数据集 𝑥(1),𝑥(2),...,𝑥(𝑚),我们要针对每一个特征计算 𝜇 和 𝜎2 的估计值。

一旦我们获得了平均值和方差的估计值,给定新的一个训练实例,根据模型计算 𝑝(𝑥):

我们选择一个,将𝑝(𝑥) = 作为我们的判定边界,当𝑝(𝑥) > 时预测数据为正常数据,
否则为异常。

例如:我们有 10000 台正常引擎的数据,有 20 台异常引擎的数据。 我们这样分配数
据:
6000 台正常引擎的数据作为训练集
2000 台正常引擎和 10 台异常引擎的数据作为交叉检验集
2000 台正常引擎和 10 台异常引擎的数据作为测试集
具体的评价方法如下:

  1. 根据测试集数据,我们估计特征的平均值和方差并构建𝑝(𝑥)函数
  2. 对交叉检验集,我们尝试使用不同的值作为阀值,并预测数据是否异常,根据 F1 值
    或者查准率与查全率的比例来选择
  3. 选出 后,针对测试集进行预测,计算异常检验系统的𝐹1值,或者查准率与查全率
    之比。

异常检测与监督学习对比

大数据流动 专注于大数据实时计算,数据治理,数据可视化等技术分享与实践。
请在后台回复关键字下载相关资料。相关学习交流群已经成立,欢迎加入~

posted @   独孤风  阅读(564)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示