支持向量数据描述外壳算法的制作方法

文档序号:6484302阅读:207来源:国知局
专利名称:支持向量数据描述外壳算法的制作方法
技术领域
本发明涉及一种数据挖掘技术,特别是指一种支持向量数据描述外壳算 法。是在分布式环境下的数据流分析挖掘技术以及支持向量机技术,着重解 决分布式环境下模型整合集成的问题。
背景技术
目前,传统的数据分析方式是基于批量式的数据收集,存储于某种介质, 然后再分析的模式进行的。随着信息社会的迅猛发展,海量数据不再是也不 能够完全存储下来,通过不止一次地读取的方式进行分析。这种以时间先后 次序到达的,速率不确定的,连续不断的,大量的,潜在无限长的一组数据 构成的流称为数据流。来自不同数据源的多个数据流组成了多数据流。在计 算机网络环境下,多数据流通过网络传输介质输入到分布式系统中,称为分 布式数据流。
这类分布式数据流在自然社会生活中广泛地存在。例如,银行的交易数 据是一种分布式环境下的数据流模型。银行的结构是典型的组织结构关系
总行、分行、支行以及交易设备(如ATM机,P0S机)等,如图1所示。在 各个省市设有总行,每个城市下辖一些城镇,分别设有分行。(图中为了简
明,没有绘出分支下属的机构。)分支机构为客户提供了用于服务的终端
ATM机等。此处,数据流是持续不断产生并且收集的,流向自底向上的。终 端设备收集的逐级汇集到支行、分行和总行,并且还可以及进一步汇集整合。 数据分析员可以分析不同级别的数据。
又如,反垃圾邮件的体系结构,如图2所示。由于电子邮件网络的分布式结构,垃圾邮件发送者可以在伪装成普通的客户在不同的地点,通过不同 的邮件服务器,发送垃圾邮件。反垃圾邮件软件过滤器需要部署在邮件服务 器上,筛选垃圾邮件。这样的结构也同样适用于其他网络安全问题(如用于 防范恶意行为的入侵检测等)以及分布式计算问题分布在世界各地的许多 数据分析节点的协作式挖掘,可以用来发现天文、地震、气象等模型。
数据流最大的特点是潜在无限性在某个相对较长的时间里(例如几年, 十几年),数据流将持续不断地输入,而且密度比较大,速度比较快。对于 这种数据,尤其是分布式数据流,批量存储而后分析的方式已经不能胜任, 其主要缺点是存储空间不可估计;不能够实时分析处理。数据流的特性决
定了对应的分析算法必须是增量式的(或者称为在线的online)。而且, 在分布式环境下,采用将分布式数据流集中于一点进行分析处理的方法是不 现实的,因此要求分析提取出来的模型之间是可以增量式的整合集成的。
支持向量机(SVM)算法是上世纪九十年代正式提出的一种基于统计学 习理论的模式识别算法。作为优秀的算法,它有模型简单、泛化能力强、先 验知识少等诸多优点,同时具有成熟的理论背景以及广泛的应用背景。它不 需要先验的数据分布,通过平衡模型复杂度以及对部分数据的依赖性,尽量 简化模型的复杂度,以获得最优的泛化预测能力。它最终通过求解二次规划 问题获得最优可行解;同时,在确定的数据环境下,求得一组支持向量。这 组支持向量的数量远远小于输入数据,并且能够准确描述模型,达到了高度 概括。然而,经典的支持向量机是批量式的,即输入数据需要同时提供给系 统。
现行的针对单数据流的增量式支持向量机算法,维护一个数据窗口,用 于缓存最近的一部分的数据,根据特定规则不断更新数据窗口中的数据,包 括新数据的加入以及无用数据的删除等。同时,不断更新系统模型,主要的 途径有分块,错误驱动,以及计算过程分析等。
分块式方法是把输入数据流按照某种规则划分为块。每当收集到足够多的数据组成一个块以后,使用批量式支持向量机算法进行分析,获得该块的 模型。然后将该块的模型和以前分析获得的模型合并起来,再次使用批量式 支持向量机算法进行分析,获得整体模型。这种方法的主要缺点是需要累积 足够输入数据组成块,并且对每块都要进行两次计算,计算量增大,反应时 间将会减慢。
错误驱动式方法是维持模型,并统计该模型发生的错误。当错误统计达 到特定条件以后,对当前数据集使用批量式支持向量机算法进行分析,获得 新模型。这种方法的主要缺点是积累错误期间模型工作性能会很差,不能够 实时分析处理每个数据。
计算过程分析方法是通过对支持向量机的计算过程进行分析,从计算方 法上克服传统支持向量机算法必须要对一组数据进行训练的不足。对每个输 入数据,这钟算法将调整当前的模型,使之能够按照基本稳定规则适应这个 新数据,从而获得更新的模型。其基本原理是在由原有模型与新数据组成 的系统中,微调系统参数到一定程度后,系统将发生一个状态改变;计算系 统参数调整的量,达到这个系统状态的改变,而系统其它部分没有变化。这 个新系统同原有系统都满足基本的稳定规则。这样就有效地实现了对每个输 入数据的增量式工作。
支持向量数据描述(SVDD)算法是基于支持向量机算法提出的一种异常
点检测算法。通过训练,系统能够获得数据的外围轮廓模型,称为数据的描
述;而确定这个数据描述的核心仍然是求解支持向量。在数据描述的轮廓以
内的数据是正常数据,而以外的数据则是异常点。由于支持向量数据描述算 法不依赖先验的数据分布,即使在不了解数据分布的情况下,也能够获得数 据描述。通过应用该算法,不仅能够从整体上描述数据形态,更能够去除噪 点。由于该算法是基于支持向量机算法的,上述增量式支持向量机算法都能 够应用。
然而,由于上述这些算法都是针对单数据流的,没有考虑分布式系统的特点,尽管提取概括了该数据流的模型(包括支持向量),但是仅用这些信 息代表整个系统还是不够的。在支持向量机算法中,平衡模型复杂度与数据 依赖性的参数决定了容忍多少数据不符合模型。§卩,经常有一小部分数据无 法影响模型。因此,当整合集成来自不同数据源的模型时,仅仅考虑这两个 模型的支持向量,很可能造成这些代表某个数据源的模型的重要信息被忽略 掉,从而造成整体模型的偏差。因此,这些数据虽然不是支持向量,却有可 能在未来整合集成时成为支持向量,即潜在支持向量。另一方面,在分布式 环境下,每个数据源都将包括模型在内的窗口内的全部数据传递给其它节点 也是不现实的。而且,在某些应用背景下(例如银行),为了数据安全的考 虑,也不能够在网络上传输大量的本地数据。

发明内容
本发明的目的在于避免上述现有技术中的不足之处而提供一种支持向 量数据描述外壳算法,正是考虑了上述原因,针对分布式环境下模型整合集 成的特点,基于支持向量数据描述算法,提出了支持向量数据描述外壳
(Support Vector Data Description - Shell)算法。该算法在描述数据 的外围轮廓的同时,尽量保留轮廓以内的潜在支持向量,对抗未来的整合集 成时的偏差。
其技术手段如下
支持向量数据描述外壳(SVDD-S)算法 设输入数据流为序列{(^,301^[]},[]为自然数集,如图3。
图中,{(、,乂)}是数据流中一个数据项 a:^W是d个属性的取值向量(特征向
^该数据项的标签,在TR和TE中
《,=
未确定(未标签) ;3 ,T疏坛溶特别的,当/取自有限的值时,本算法也适用于非数据流的批量式数据。 本算法的目标是描述数据的外围轮廓,在保留轮廓以内的潜在支持向量
的同时,去除无用的内部数据。
根据支持向量数据描述算法,数据所在空间为Q、数据的外围轮廓通过
核函数(D(;c)映射到某个空间Z以后可以表示为一个圆心为f = 半径为7
的超球面,可以通过下面最优化问题求得支持向量S^:
minQ(i H)=J 2
其中,-为超球面的圆心f在空间W内的原向量,i 为超球面的半径;||[| 定义在空间Z上的^-范数,满足核函数K(^、.卜cD(;c,).0(x》;C为平衡模型
复杂度与数据依赖性的确定的参数,用以控制可以容忍的异常点的数量,《 为松弛变量;iV为训练集的样本数据数量。
另一方面,设在超球面的内部,由两个同心超圆面构成厚度为^的超球 壳,其二维视图如图4。
超球壳内外超球面之间的区域为所求的需要保留的目标数据区域,其余 区域为可以抛弃的数据所在的区域。超球壳外部的区域由支持向量数据描述 算法确定,超球壳内部空腔的区域以及超球壳由下面模型确定
min,f,O W2 + f + ci《+ 《
'=1 ,=1
其中,-为内外两个超球面的圆心f在空间v内的原向量
面的半径,r为外超球面的半径;l问定义在空间Z上的^-范数
(8)
,i 为外超球 ,满足核函数K(a:,,、) = (D(x,).(D(x》;虽然内外超球面半径之间的差定义为^,但是"及2-r2 是^的单调增函数,反映了超球壳的厚度;f为内外超球面之间的平衡参数; C^为外超球面的平衡模型复杂度与数据依赖性的确定的参数,用以控制可以 容忍的异常点的数量,《为外超球面的松弛变量;C,为内超球面的平衡模型 复杂度与数据依赖性的确定的参数,用以控制可以允许去除的非潜在支持向 量的数量,《,为内超球面的松弛变量;iV为训练集的样本数据数量。
使用二次规划方法及其优化算法求解上述问题,可以获得两组分别位于 超球壳内外超平面上的样本数据,即支持向量点。这两组样本数据分别满足 ||x「4=及2和^,-刑2=,。同时获得用样本数据的线性组合表示的圆心。对
于每个输入数据^ (包括样本数据)
当h-^f〉i 2时,该数据是异常点,可以丢弃,不影响系统性能。并且 允许的异常点的数量可以通过提高C,的值来减少,以防过多的正常点被误认 为"异常点"。
当|卜,,《<一时,该数据是内部点,可以丢弃,由于支持向量算法族的
特点,在可控范围内不影响系统性能。并且允许的内部点的数量可以通过降 低c;的值来提高,以压縮系统模型的体积,但这样也会提高模型整合集成时
的错误风险。
当一—1^--||2 2i 2时,该数据是支持向量点和潜在支持向量点。这部分
数据将作为模型的一部分。 上面问题求得支持向量
^ USR U巧 (9)
以及对应的-、 i 、 r和"其中S^为外超球面对应的支持向量,SR为 内超球面对应的支持向量,sp;为潜在支持向量。并且可以证明(8)式中目标 函数等价于如下的目标函数minQ'(i ,e,仏0, + l)W2 +一 +C,Z《 (10)
(8)式和(10)式只差一个常数,其余约束条件保持不变。在最优化问题 中,使用目标函数(8)和(10)将获得等价的解。 设
cos"二 (11)
当i 固定时,co^e
是r的单调减函数,反映了解的风险性。当coW二O 时,r=0,超球壳的内部没有数据会被去掉,潜在支持向量的风险性为零; 当coW4时,r = i ,只保留支持向量数据描述算法所求出的支持向量S)^,
潜在支持向量的风险性为零达到最大。
由上面分析,(jM ")描述了所求解的特征和性能。这有助于后续模型整 合集成的时候,直接比较模型。
综合上述分析,所求模型表达为
(《,C"cr;SJ^;仏^) (12)
其中,(K,Q,c;)为求解模型前的设定值(常数),tr为核函数的参数,srs
为上述模型所求得的支持向量,W,i ,e)为S^的特征和性能。
支持向量数据描述外壳(SVDD-S)算法适用的分布式环境既可以是区分 上下级关系的树形结构,也可以是没有上下级关系的结构,分别如图5(对 应图1)和图6 (对应图2)。图中数据流用向自底向上箭头表示,模型的 传输用双向箭头表示。在数据中心和每个分析节点都可以进行模型整合集 成。
*感应器是终端设备,只有很弱的运算能力,主要负责从客观世界采集数 据,分别成为一条数据流,并将数据流源源不断地传送到分析节点。
*分析节点具备运算分析多数据流的能力。它们将进行多数据流的分析运 算,应用支持向量数据描述外壳算法发现模型,并根据分布式系统的规
ii则做出动作。特别的,当某个分析节点只对应一个感应器时,它将分析 单数据流。
■在分析节点具体执行的算法包括以下步骤
1. 获取模型的设定(常数)参数(&^,。以及核函数的参数7。
2. 使用批量式或增量式的二次规划方法及其优化算法求解(8)式或者
(IO)式的最优化问题,求得模型(12)。
3. 将模型(12)根据分布式系统的规则进行封装和传输。
1) 如果接收节点允许进行增量式协同工作,则直接发送本节点增 量式算法新求得增量结果;
2) 如果接收节点只允许批量式协同工作,则在接收节点要求的时 候,或者在指定时刻将模型一起发送;
3) 如果需要保存模型以备本节点在未来进行自相关性分析,则保 存该模型
4. 返回步骤l,检查模型参数是否改变。如果改变则进行更新。
■在没有上下级关系的结构中,分析节点将在收到其他分析节点发现的 模型以后,对本地和接收的模型进行整合集成,并从中发现所在区域 的全局模型。
■在树形结构中,分析节点之间也有信息和模型的交换,并将发现的模 型传递给数据中心。 *在树形结构中,数据中心节点在收到各个分析节点发现的模型以后,对
下级节点发现的模型进行整合集成,并从中发现所辖区域的全局模型,
然后根据分布式系统的规则做出动作。 *数据中心节点或者分析节点在使用模型以及整合集成的过程中,将检测
工作的性能。当性能不能满足指定的要求时,该节点将启动模型参数调
整过程,根据分布式系统的结构协商并调整每个节点的模型参数*进一步的集成也以此类推。
支持向量数据描述外壳(SVDD-S)算法针对分布式环境下模型整合集成 的特点,在描述数据的外围轮廓的同时,尽量保留轮廓以内的潜在支持向量, 降低未来的整合集成时的风险。通过控制系统的设定值(常数)参数(、G,C,)
以及核函数的参数^,平衡潜在支持向量数量与模型准确性,达到用尽量少 的数据准确表达模型,从整体上降低模型整合集成风险的目的。 本发明的目的可以通过以下措施来达到
一种支持向量数据描述外壳算法,在描述数据的外围轮廓的同时,通过 控制系统的参数,保留自轮廓向内延伸的一定厚度的区域以内的潜在支持向 量,去除对未来的模型整合集成没有影响的数据,平衡潜在支持向量数量与 模型准确性。
其中,在分布式环境下的分析节点上,分析下级感应器收集的原始数据, 应用本地需要的其它支持向量算法展开工作,同时应用支持向量数据描述外 壳算法维护一个模型,此处其它支持向量算法可以基于或者依赖于支持向量 数据描述外壳算法,然后将发现的模型发送给指定节点,并且接收其他节点 发送来的其他模型的更新信息。
其算法解式子
<formula>formula see original document page 13</formula>
其中,-为内外两个超球面的圆心f在空间^内的原向量,i 为外超球 面的半径,r为外超球面的半径;取<formula>formula see original document page 14</formula>
反映了超球壳的厚度;Ifll定义在空间Z上的^-范数,满足核函数
<formula>formula see original document page 14</formula>)
K为内外超球面之间的平衡参数;Q为外超球面的平衡模型复杂度与数 据依赖性的确定的参数,用以控制可以容忍的异常点的数量,《为外超球面 的松弛变量;C,为内超球面的平衡模型复杂度与数据依赖性的确定的参数, 用以控制可以允许去除的非潜在支持向量的数量,《.为内超球面的松弛变 量;iV为训练集的样本数据数量;
利用二次规划方法及其优化算法求得模型
<formula>formula see original document page 14</formula>16)
其中,(^C,,CJ为求解模型前的设定值(常数),a为核函数的参数,
<formula>formula see original document page 14</formula> (17)
s^为外超球面对应的支持向量,SK,为内超球面对应的支持向量,sip;为
潜在支持向量,w,i ^)为s^的特征和性能,
<formula>formula see original document page 14</formula> (18)
为数据描述外壳所包含的潜在支持向量的风险性。 在分析节点执行以下步骤
1) 获取模型的设定(常数)参数(K,C,,C,)以及核函数的参数^7;
2) 使用批量式或增量式的二次规划方法及其优化算法求解(1)式的最优
化问题,求得模型(4);
3) 将模型(4)根据分布式系统的规则进行封装和传输;如果接收节点允许进行增量式协同工作,则直接发送本节点增量
式算法新求得增量结果; [2]如果接收节点只允许批量式协同工作,则在接收节点要求的时候,或者在指定时刻将模型一起发送; [3]如果需要保存模型以备本节点在未来进行自相关性分析,则保存
该模型;
4)返回步骤1),检査模型参数是否改变。如果改变则进行更新。 本发明相比现有技术具有如下优点该算法在描述数据的外围轮廓的同
时,尽量保留轮廓以内的潜在支持向量,对抗未来的整合集成时的偏差。通 过控制系统的参数,平衡潜在支持向量数量与抛弃的数据的数量,达到用尽 量少的数据准确表达模型,减低模型整合集成的目的。


图1银行交易数据的分布式结构示意图; 图2反垃圾邮件的网络结构示意图; 图3单数据流示意图; 图4超球壳的二维示意图5支持向量数据描述外壳算法适用的区分上下级关系的分布式结构 示意图6支持向量数据描述外壳算法适用的没有上下级关系的分布式结构 示意图。
具体实施例
该算法的具体应用实例
在如图5 (对应图1,例如银行交易数据)或图6 (对应图2,例如分布 世界各地的气象地震台站)的分布式环境下
*感应器是部署在各个地域(站点)的物理探测设备。例如银行的ATM机、 P0S机,气象站的温度计、湿度计,卫星信号接收机等。
*分析节点是部署在各个普通站点的一般计算设备。例如普通银行网点的 服务器,邮件服务器,气象、地震、卫星台站等等。这些计算设备不需 要类似数据中心的大型设备那样的很高的计算能力,可以是固化于硬件的芯片,甚至可以是安装于普通计算机上的软件。其主要任务是收集感 应器收集的原始数据样本,并进行分析。具体到某个分析节点A来讲, 将按照如下过程进行工作
1. 下级感应器将把输入数据(例如股市的交易数据或者邮件)逐个加入 到分析节点的数据窗口中。在训练阶段,A将针对输入的训练数据进 行学习,获得某种模型(例如哪些交易行为是恶意的,或者哪些是垃 圾邮件)。这一学习过程在未来的工作阶段将增量式地学习(更新模 型)。在工作阶段,根据当前的模型做出判断,并维持模型不变。数 据窗口中不需要保留的输入数据可以移除。
2. 应用本地需要的其它算法展开工作,同时应用支持向量数据描述外壳 算法维护一个模型。此处其它算法可以基于或者依赖于支持向量数据 描述外壳算法。例如,在检测垃圾邮件的服务器上,在判别垃圾邮件 的程序以外,还需要部署本算法的程序。
3. 根据支持向量数据描述外壳算法,发送本地模型到指定的接收节点, 接收指定节点发送来的参数更新指令或者模型。例如,银行环境下, 支行的分析节点将把本行的模型发送给上级总行的数据中心,并且接 收数据中心发送来的指令。
4. 根据A的分布式系统中的角色整合集成模型。如果A有下级节点,或 者是在没有上下级关系的结构中,A需要将输入的模型数据按照本算
法进行整合集成。
*数据中心(在如图5的树形结构中)是部署在重要部门的大型计算设备。 例如银行总行的大型机,气象、地震、卫星数据处理中心。数据中心在 在如图6的结构中将不出现,这就大大降低了部署应用的成本。其主要 任务是从下属的分析节点收集模型,并整合集成为该地域的全局模型。 在有必要时,将进一步向上级发送该全局模型。
1权利要求
1.一种支持向量数据描述外壳算法,其特征在于在描述数据的外围轮廓的同时,通过控制系统的参数,保留自轮廓向内延伸的一定厚度的区域以内的潜在支持向量,去除对未来的模型整合集成没有影响的数据,平衡潜在支持向量数量与模型准确性。
2. 如权利要求1所述的一种支持向量数据描述外壳算法,其特征在于在分布式环境下的分析节点上,分析下级感应器收集的原始数据,应用本地需要的其它支持向量算法展开工作,同时应用支持向量数据描述外壳算法维护一个模型,此处其它支持向量算法可以基于或者依赖于支持向量数据描述外壳算法,然后将发现的模型发送给指定节点,并且接收其他节点发送来的其他模型的更新信息。
3. 如权利要求1或2所述的一种支持向量数据描述外壳算法,其特征在于其算法解式子<formula>formula see original document page 2</formula> (1)其中,-为内外两个超球面的圆心-'在空间v内的原向量,i 为外超球面的半径,r为外超球面的半径;取反映了超球壳的厚度;fl定义在空间Z上的^-范数,满足核函数 <formula>formula see original document page 3</formula>(3)K为内外超球面之间的平衡参数;C,为外超球面的平衡模型复杂度与数据依赖性的确定的参数,用以控制可以容忍的异常点的数量,《为外超球面的松弛变量;C,为内超球面的平衡模型复杂度与数据依赖性的确定的参数,用以控制可以允许去除的非潜在支持向量的数量,《为内超球面的松弛变量;iV为训练集的样本数据数量;利用二次规划方法及其优化算法求得模型<formula>formula see original document page 3</formula> (4)其中,(;c,G,C;)为求解模型前的设定值(常数),C7为核函数的参数,<formula>formula see original document page 3</formula> (5)S^为外超球面对应的支持向量,SR为内超球面对应的支持向量,S^为潜在支持向量,W,i ^)为S^的特征和性能,<formula>formula see original document page 0</formula>及为数据描述外壳所包含的潜在支持向量的风险性。 如权利要求1或2或3所述的一种支持向量数据描述外壳算法,其特征在于在分析节点执行以下步骤1) 获取模型的设定(常数)参数(K,Q,C;)以及核函数的参数O";2) 使用批量式或增量式的二次规划方法及其优化算法求解(1)式的最优化问题,求得模型(4);3) 将模型(4)根据分布式系统的规则进行封装和传输;[1]如果接收节点允许进行增量式协同工作,则直接发送本节点增量式算法新求得增量结果;[2]如果接收节点只允许批量式协同工作,则在接收节点要求的时候,或者在指定时刻将模型一起发送;[3]如果需要保存模型以备本节点在未来进行自相关性分析,则保 存该模型4)返回步骤1),检查模型参数是否改变。如果改变则进行更新。
全文摘要
本发明涉及支持向量数据描述外壳算法,针对分布式环境下数据分析模型整合集成的问题和特点,基于支持向量数据描述(SVDD)算法,在描述数据的外围轮廓的同时,通过控制系统的参数,保留轮廓以内的潜在支持向量,去除对未来的模型整合集成没有影响的数据,构成描述数据特性的有一定厚度的潜在支持向量的超球壳,平衡潜在支持向量数量与模型准确性,达到用尽量少的数据准确表达模型,从整体上降低未来的模型整合集成风险的目的。本算法适用于分布式环境下整合集成来自节点自身和不同节点分析挖掘出来的模型。
文档编号G06F17/30GK101526960SQ20091008248
公开日2009年9月9日 申请日期2009年4月21日 优先权日2009年4月21日
发明者鹏 王 申请人:王 鹏;毛国君
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1