新颖性检测(Novelty Detection)也被称为异常检测(Anomaly Detection)或离群点检测(Outlier Detection),其目的是使机器能够识别出当前场景的输入与之前场景的输入(训练或实践过程中)是否一致,从而避免潜在的危险,或是开始对新场景的学习。
目前来说,对新颖性检测的研究主要包括两种思路:一种是构建One-Other的分类器,通过利用特征空间上各数据点的距离等度量方式实现,例如对训练数据集中的各类构建最小球体,测试集中不落入任何球体的就视为新颖点;另一种是基于Encode-Decode思想,通过训练集训练学习算法压缩数据特征并恢复的能力,而测试集中那些不能很好被恢复的特征所对应的数据点一定与训练集有一定区别,因而被视为新颖点。
上面的部分简要介绍了笔者目前了解的新颖性检测方法(包括从文中Relative Resrarch了解的)。下面进入正文。
1.概述
这篇文章的思想实际上可以通过一个流程图概括。假设是第t步的数据点,
是度量新点与之前点接近程度的函数(越近值越高),则
其中是度量第i个点与第t个点距离的函数,原文中使用了高斯核函数。设新颖性阈值为
,学习率为
,则
的值由下式确定:
也即,如果第i点被认定为新颖点,则其对后续新颖点的确定有贡献,值为
,否则为0。
如此,通过这种迭代的方式,只有被标记为新颖点的数据点参与了新新颖点的确定,降低了计算成本。
2.优化的降维方法
这里大概是说PCA方法提取的是样本自身的最主要特征,会导致噪声中的显著值也被用于判别新颖点,因此不好用。而MDA方法中保留的是样本间对比需要的最主要特征,因此好。
3.本方法是NORMA的一个特例
这里主要是经过一番论证,发现本文提出的方法是NORMA的一个特例,因此可以使用很多它的性质,有助于计算。
4.序列优化
这里主要是解决随着数据增多,计算量增多的问题。通过使用NORMA中的性质,能够进一步从之前的新颖点中选择有效点辅助之后的新颖点检测。