0x01 异常检测思想
机器学习中的异常检测分为两种,一种是无监督的异常检测,另一种为有监督的异常检测。无监督的异常检测即在没有标签的情况下,算法从一堆数据点中,挑选出其认为不正常的数据点。而有监督的异常检测为在对训练集提前设置好标签的前提下,算法对其进行划分。
异常检测算法可以应用于发动机的挑选中,假设一个厂家生产了一系列发动机,然后根据其不同的特征值将每个发动机画在坐标图中,使用算法对其进行处理,从而找出异常点。异常点即有可能为出现故障的一个。分类结果如下图所示
0x02 算法实现
异常检测主要依靠高斯分布来实现。通过计算数据的均值以及方差来确认数据的集中区域,数据集中区域的概率高,不集中的地方概率低。高斯分布如下图所示
其中,中间值为均值,高斯分布的胖瘦为方差。右图可知,越靠近均值的数据的概率越高,越偏离均值的数据的概率越低。因此,通过对每一个特征进行高斯分布,分别求数据点在每个特征的概率并相加,从而求该数据点的最终概率。
其公式如下所示: