支持向量数据描述(SVDD)是一种重要的数据描述方法, 它能够对目标数据集进行超球形描述, 并可用于异类点检测或分类. 在现实生活中目标数据集通常包含多个样本类, 且需要同时对每一个样本类进行超球形描述。
支持向量数据描述,英文名称是 support vector data description,简称 SVDD。SVDD 是一种重要的数据描述方法, 它能够对目标数据集进行超球形描述, 并可用于异类点检测或分类. 在现实生活中目标数据集通常包含多个样本类, 且需要同时对每一个样本类进行超球形描述。
研究现状
近年来,数据描述或单类(One-class)分类问题得到了大量的研究。在域描述领域中,数据描述的任务不是分类问题以“区分不同的类”为目标,也不是回归问题以“对每一个样本产生一个期望输出”为目标,而是给出一个关于训练样本集的描述,同时检测哪些与这个训练样本集相似的(新的)样本。该描述应该覆盖代表训练样本集的样本类,同时,在理想情况下,该描述应该能够将样本空间中其它所有可能的异常样本排除在外。Tax 和 Duin 提出了一种数据描述方法,即支持向量数据描述(SVDD)。
近年来,作为一种数据描述方法,SVDD 得到了极大的关注,关于 SVDD 的研究取得了大量的研究成果。1999 年,Tax 和 Duin 首次提出了 SVDD。2004 年,Tax 和 Duin 又对 SVDD 进行了拓展和更完整的研究,分别得到了不带负样本和带负样本的 SVDD。SVDD 是一种基于边界数据(支持向量)的描述方法,其目标是寻求一个包含所有或几乎所有的目标样本且体积最小的超球体或域。SVDD 的边界函数可通过一个超球面(Hypersphere)进行刻画,通过将目标样本点映射到能够更容易进行球形描述的高维空间(或特征空间),可能会减弱超球面所受到的限制。这就是统计学和机器学习领域著名的核技巧(Kernel Trick)和方法。Scholkopf 等人提出一种与单类分类有着概念性差异的方法,该方法的超平面被用于将目标样本与原点分离开来。当使用径向基扩展(Radial Basis Expansions)时,该方法的解等价于具有径向基扩展的 SVDD 的解。Lee 等人提出了一种改进的支持向量数据描述方法,即密度诱导的支持向量数据描述。D-SVDD 首先对每一个目标数据点的密度进行估计,并对所估计的密度进行加权,再将加权的密度引入到 SVDD,从而改进了 SVDD,每个目标数据点的密度通过 K-最邻近或者 Parzen 窗方法得到。实验结果表明,D-SVDD 优于 SVDD 和 K-最邻近或者 Parzen 窗口得到。实验结果表明,D-SVDD 优于 SVDD 和 K-最近邻数据描述。基于 SVDD,Guo 等人提出一个异常检测的边界方法,这种边界方法试图通过对 SVDD 边界的调整,以获得一个紧的数据描述而不需通过核白化(Kernel Whitening),即通过在样本空间中引入一个样本与其最近邻边界点之间的距离,在 SVDD 边界的基础上,该方法能够有效地构造一个新的决策边界。Zhang 等人得到了一种基于 SVDD 方法的模糊多类分类器,这种分类器改进了可能性 C 一均值聚类。
主要思想
SVDD 的主要思想是:首先,通过非线性映射中将原始训练样本 x,映射到高维的内积空间(或特征空间);然后,在特征空间中寻找一个包含全部或大部分被映射到特征空间的训练样本且体积最小的超球体(最优超球体);最后,通过非线性映射中,如果新样本点在特征空间中的像落入最优超球体内,则该样本被视为一个正常点;否则,如果新样本在特征空间中的像落入到最优超球体外,则该新样本被视为一个异常点最优超球体由其球心和半径决定。在 SVDD 的应用研究中,通常是将一个样本类视为异常样本类,而所有其它的样本类被视为目标数据集(或目标集)。
缺点
对于包含多个样本类的目标数据集,传统的 SVDD 只能对目标数据集给出一个描述,而忽略了目标数据集中不同样本类之间的描述(或差异)。在现实生活中,目标数据集通常不止包含一个样本类,并且每一个样本类都需要被同时描述。例如,在上面提到的机器诊断问题中,两台不同机器的运行状态由同一个检测器检测。当一台机器出现问题时,就会出现警报,并且我们希望该警报可以告诉我们是哪一台机器出现了故障.在这种情况下,一台机器处于正常工作状态的数据被视为目标数据集中的一个样本类,同时另一台机器处于正常工作状态的数据则被视为目标数据集中的另一个样本类.这样一来,目标数据集由两台不同机器正常工作的数据(对应两个样本类)构成.异常点就是机器出现故障的样本数据,因此,异常数据的获取是非常昂贵的,需要以机器出现故障为代价。上述机器诊断问题是一个含两个样本类的异常探测问题.为了设计能够同时探测两台机器故障的检测器,我们需要解决如下的异常探测问题,即同时对目标数据集中的每一个样本类给出一个超球形的描述。
应用
SVDD 在很多领域中都具有广泛的应用。首先,SVDD 被用于异常检测,即从一个数据库中检测出无典型特征的的样本。它还用于高光谱遥感成像的异常检测。SVDD 也被用于从多个具有不同纹理背景的织物样本数据库进行缺陷检测。SVDD 的还有许多其它应用,如泵故障检测、脸部识别、语音识别、图像恢复和医学成像等。其次,SVDD 可以用于某些特殊的分类问题,在这些特殊的分类问题中,标数据集含有一个被严重欠采样的样本类(异常类),而其它类样本被很好地采样.我们可以看到,SVDD 在异常点检测中应用本质上与含一个欠采样的样本类(异常类)的分类问题相同。一个实际的例子是机器诊断问题。在机器诊断问题中,一台机器的运行状态得到监测。当机器出现问题时,监测器就会给出警报。一台机器的正常工作状态的测量容易获得而且测量的成本很低,而异常样本点的测量非常昂贵,因为它要求各种形式的机器破坏。但是,另外一个相似却更加复杂的机器诊断问题是:一台监测器同时检测两台不同机器的运行状态(相应于两个样本类).当其中一台机器出现故障时,监测器就会给出警报,并且该警报会显示是哪一台机器出了故障.在这种情况下,两台机器的正常工作状态的测量就很容易得到,而异常样本点的测量非常昂贵,因为它要求两台机器以各种形式遭到破坏。
另外,SVDD 也被用于多类分类问题。SVDD 的优势是能够将对样本观察集的、密度(Density)的模拟归结到 SVDD 的支持向量上,这使的 SVDD 是许多大边界分类器(比如支持向量机)的自然替代分类器。Lee 在 SVDD 的基础上提出了一种多类分类方法,类似的方法也被 Chio 等人,Ban 和 Abe 所提出,针对非平稳类的一类分类问题,Camci 和 Chinnam 提出了一个广义的支持向量代表机。Kang 和 Choi 提出了一种域密度描述方法,这种方法用 SVDD 刻画了在特征空间中一个测试样本与高密度区或高密度域之间的距离,并且能够降低多类问题的训练和测试的计算量。Zhang 等人得到了一种基于 SVDD 方法的模糊多类分类器。