机器学习(十一)-------- 异常检测(Anomaly Detection)
异常检测(Anomaly Detection)
给定数据集 𝑥(1),𝑥(2),..,𝑥(𝑚),我们假使数据集是正常的,我们希望知道新的数据 𝑥𝑡𝑒𝑠𝑡
是不是异常的,即这个测试数据不属于该组数据的几率如何。我们所构建的模型应该能根据
该测试数据的位置告诉我们其属于一组数据的可能性 𝑝(𝑥)。
模型𝑝(𝑥) 为我们其属于一组数据的可能性,通过𝑝(𝑥) < 检测非正常用户。
将应用高斯分布开发异常检测算法。
对于给定的数据集 𝑥(1),𝑥(2),...,𝑥(𝑚),我们要针对每一个特征计算 𝜇 和 𝜎2 的估计值。
一旦我们获得了平均值和方差的估计值,给定新的一个训练实例,根据模型计算 𝑝(𝑥):
我们选择一个,将𝑝(𝑥) = 作为我们的判定边界,当𝑝(𝑥) > 时预测数据为正常数据,
否则为异常。
例如:我们有 10000 台正常引擎的数据,有 20 台异常引擎的数据。 我们这样分配数
据:
6000 台正常引擎的数据作为训练集
2000 台正常引擎和 10 台异常引擎的数据作为交叉检验集
2000 台正常引擎和 10 台异常引擎的数据作为测试集
具体的评价方法如下:
- 根据测试集数据,我们估计特征的平均值和方差并构建𝑝(𝑥)函数
- 对交叉检验集,我们尝试使用不同的值作为阀值,并预测数据是否异常,根据 F1 值
或者查准率与查全率的比例来选择 - 选出 后,针对测试集进行预测,计算异常检验系统的𝐹1值,或者查准率与查全率
之比。
异常检测与监督学习对比
大数据流动 专注于大数据实时计算,数据治理,数据可视化等技术分享与实践。
请在后台回复关键字下载相关资料。相关学习交流群已经成立,欢迎加入~
大数据流动 专注于大数据实时计算,数据治理,数据可视化等技术分享与实践。
请在后台回复关键字下载相关资料。相关学习交流群已经成立,欢迎加入~