异常检测(Anomaly Detection) 给定数据集 ?(1),?(2),..,?(?),我们假使数据集是正常的,我们希望知道新的数据 ????? 是不是异常的,即这个测试数据不属于该组数据的几率如何。我们所构建的模型应该能根据 该测试数据的位置告诉我们其属于一组数据的可能性 ?(?)。
模型?(?) 为我们其属于一组数据的可能性,通过?(?) < 检测非正常用户。
将应用高斯分布开发异常检测算法。
对于给定的数据集 ?(1),?(2),...,?(?),我们要针对每一个特征计算 ? 和 ?2 的估计值。
一旦我们获得了平均值和方差的估计值,给定新的一个训练实例,根据模型计算 ?(?):
我们选择一个,将?(?) = 作为我们的判定边界,当?(?) > 时预测数据为正常数据, 否则为异常。
例如:我们有 10000 台正常引擎的数据,有 20 台异常引擎的数据。 我们这样分配数 据: 6000 台正常引擎的数据作为训练集 2000 台正常引擎和 10 台异常引擎的数据作为交叉检验集 2000 台正常引擎和 10 台异常引擎的数据作为测试集 具体的评价方法如下:
异常检测与监督学习对比