内容来自Andrew老师课程Machine Learning的第九章内容的Density Estimation部分。
一、Problem Motivation(问题引入)
异常检测一般应用在非监督学习的问题上,如下图,我们可以通过已知的数据集,训练模型,根据此模型进行异常检测:
在使用这些数据训练的过程中,我们假设这些数据是正常的。
我们可以把异常检测应用在网站欺诈预测上,比如可以根据用户平时的打字速度,登录地点,登录时间,下单次数等预测是否用户登录情况异常等,也可以用于工业界或者根据CPU利用率,Memory情况等预测电脑是否中毒。
二、Gaussian Distribution(高斯分布)
高斯分布,又称为正态分布,若x(x∈R)是均值为μ,方差为σ^2(标准差为σ)的高斯分布,则我们说,~表示“服从”,其具体公式为:
其对应的图形为:
下面来看几个具体的图形,他们μ和σ取值不同,如下图:
我们可以看到,不同的μ和σ值对应不同的图形,下面我们可以根据这些图形的大致形状来进行参数预测,如下图:
根据样本分布的稠密程度,我们大概可以画出其对应的高斯曲线,再根据曲线的大致形状,能够进行参数预测,图中标出了μ和σ的大小。
三、Algorithm(算法)
密度估计:
训练集:,对于每一个x,x∈R
则估计函数为:
下面是异常检测算法的流程:
下面是一个异常检测的示例:
我们先根据训练样本训练出模型,根据μ和σ以及p(x)的公式对测试样本做出预测,比较预测结果和ε的大小关系,确实是否异常。(上图中关于x1的正态分布是根据样本在x1坐标上的分布得到的,关于x2的正态分布是根据样本在x2坐标上的分布得到的)