基于无线传感器网络的数据分类方法、系统和管理节点的制作方法

文档序号:7661104阅读:174来源:国知局
专利名称:基于无线传感器网络的数据分类方法、系统和管理节点的制作方法
技术领域
本发明涉及无线传感器网络的数据传输技术,尤其涉及基于无线传感器网络的数据分类方法、系统和管理节点。

背景技术
随着无线传感器网络的发展,对传感器数据进行分类的模式分析操作成为传感器应用中非常重要的一个方面。通常传感器网络的数据分类包括两个阶段训练阶段和测试阶段。在训练阶段,根据收集到的训练数据及类别信息,针对特定的分类算法,训练分类模型。在测试阶段,根据输入的测试样本,利用训练的分类模型来判别测试样本的类别。
现有技术中最常采用的是集中式分类方法,如集中式决策树分类方法和集中式支持向量机分类方法。集中式分类方法在训练阶段和测试阶段,都需要将所有有关的数据传输到一个处理中心。举例对集中式数据分类方法的训练阶段和测试阶段进行说明。假设无线传感器网络中有三个传感器节点和一个处理中心,三个传感器节点设置在高速公路上,分别为压力传感器节点、振动传感器节点和声音传感器节点。压力传感器节点用于收集路面上汽车的压力大小,振动传感器节点用于收集汽车的振动信号,声音传感器节点用于收集汽车的声音特点。在训练阶段,三个传感器节点在某一时刻分别收集公路上汽车的压力大小、振动信号和声音特点,传送给处理中心,所述压力大小、振动信号和声音特点称为训练数据,处理中心接收训练数据后结合已知的与训练数据对应的类别信息,训练分类模型,所述类别信息为车辆所属的种类。测试阶段,处理中心根据三个传感器节点传送的关于某一时刻的测试样本,利用训练的分类模型来判别出测试样本的类别。
集中式分类方法对于分布式的无线传感器网络来说,需要处理中心有较大的通信带宽、较高的计算能力、充足的存储容量和能量供给。集中式分类方法往往限制了操作的有效实施,同时给系统带来了各种“瓶颈”效应。
为了适应分布式无线传感器网络的特点,现有技术中还提出了一种基于移动代理的分布式决策树分类方法,该方法将决策树分类模型改写为判断规则的集合,通过分解各个属性的操作,将各属性的操作分散到各个传感器节点上,实现了分类模型的离散化。所述属性根据收集到的训练数据提取得到。在分类过程中,通过移动代理巡游各个传感器节点,得到最终的分类结果。下面具体介绍该方法 1、首先介绍决策树分类方法。
决策树是一个类似于流程图的树结构,其中每个内部节点表示在一个属性上的测试,每个分枝代表一个测试输出,每个叶子节点代表一个类别。树的最顶层节点是根节点,每个内部节点可以有多个分枝,为了简便,假设每个内部节点只包含两个分枝,如图1所示的二元决策树模型。图中,方框内的符号Ai代表分类的属性,旁边的数值为分类的最优阈值,叶子节点为最终的分类结果。
分类时,一个未知类别的样本从根节点开始,逐层下降直到到达叶子结点。在分类路径中的每个内部节点,将样本相应属性的值与该内部节点的最优阈值进行比较,决定样本的分类是向哪个分枝传播。当样本到达叶子节点时,该样本就被分类为该叶子节点所标识的类别。需要说明的是决策树分类方法比支持向量机分类方法的分类准确率低、应用范围窄。
2、再介绍分布式决策树分类方法。
从图1可以看出来,从根节点到叶子节点的分类路径包含一系列的线性分类(不等式),可以表示成一个IF-THEN规则。每个IF-THEN规则包含一系列线性分类条件和一个类别标号。显然,一个决策树可以分解为一系列的IF-THEN规则。按照如下步骤对规则进行重新组织1)如果一个属性出现在一个规则的多个线性分类条件中,将这些线性分类条件合并为一个条件;2)将各个属性的线性分类条件按照相同的顺序进行排列,使得在所有IF-THEN规则中,出现次数多的线性分类条件排在前面,出现次数少的排在后面。对图1所示的决策树重新组织后的IF-THEN规则如表1所示。

表1 决策树重新组织后的IF-THEN规则 从表1可以看出 1)所有的线性分类条件可以按照属性出现的顺序逐个的执行。比如,将表1所示规则集合的分类条件执行顺序设为A3→A1→A2; 2)对于一个测试样本来说,只有一个IF-THEN规则是正确的; 3)如果分类一个测试样本不需要所有属性,则分类过程可以在中途就结束了。
明显地,可以将一个决策树的规则集合按照属性垂直划分成多个线性分类条件组。假设一个线性分类条件组只和一个传感器节点产生的属性有关,那么,当把所有线性分类条件组分配到各个传感器节点上时,通过顺序访问所有传感器节点,就可以分布式的完成决策树的分类操作。
当决定了各个传感器节点的访问顺序时,需要进一步修改IF-THEN规则集合,因为不是每个规则都包含相同的属性。如果一个规则不包含某个属性,而该属性又出现在传感器节点访问顺序的中间,就在该规则中添加一个恒为“真”的不等式。比如,在表1中,属性A1不包含在规则1中,但A1包含在访问顺序中间,就在规则1中添加一个不等式-∞<A1<+∞。然而,如果这个属性不是在访问顺序的中间,比如,规则6中的属性A2和A3,则规则不需要修改。
图2所示为三个线性分类条件组在三个传感器节点上的布置情况。传感器节点1包含了与属性A3有关的线性分类条件组,传感器节点2包含了与属性A1有关的线性分类条件组,所有与属性A2有关的线性分类条件组布置在传感器节点3中。传感器节点0是一个管理节点,用于触发分类过程,并接收分类结果。一般的,分类过程只是在系统需要的时候才执行,所以采用了由传感器节点0来触发分类过程,而不是由传感器节点1自动开始。在分类过程中,如果在访问中途就得到了分类结果,则传感器节点直接把分类结果传给管理节点,同时分类过程结束。
3、下面介绍基于移动代理的分布式决策树分类方法的实现。
现有技术中采用移动代理技术来实现分布式决策树分类过程。移动代理是一个可以在节点间移动的程序和数据的结构,它的数据结构包括标识、时间标签、规则向量和访问顺序。标识用于唯一的识别每一个移动代理;时间标签表示分类过程的开始时间,在整个分类过程中,使用到的各节点的数据都需要和该时间标签一致;规则向量中的每一项代表该规则的条件部分是否为“真”,0代表该规则的条件部分为“假”,1代表为“真”,初始值都为1;访问顺序决定了移动代理访问各个节点的先后顺序。
在每个传感器节点上,存储了另外一个数据结构,包含规则编号、不等式和类标号。规则编号唯一的识别一个规则;不等式是该传感器节点所对应属性的操作条件;如果一个规则在该传感器节点结束,则类标号表示分类的结果,否则,类标号为“空”。表2描述了上面例子中三个传感器节点的数据结构。

表2 上述例子中三个节点存储的数据结构 当一个分布式决策树分类方法开始时,管理节点发送一个移动代理到访问顺序中的第一传感器节点,时间标签为t。该传感器节点计算t时刻的属性值,对该属性对应的线性分类条件组中的所有不等式进行计算,如果某个不等式结果为“假”,则将规则向量中的对应项由1改为0,否则不变;如果一个不等式结果为“真”,并且该规则对应的类标号不为“空”,则将类标号作为分类结果发送到管理节点,分类结束,否则,该传感器节点将更新后的移动代理发送到访问顺序中的下一个节点,在下一个传感器节点上再执行上面的操作,直到得到分类结果为止。
现有的分布式决策树分类方法主要有下面三个缺点 1)分布式决策树分类方法可以获得和集中式决策树分类方法完全一致的分类结果。然而,分布式决策树方法所依据的决策树分类方法是一种贪婪学习方法,它更适合离散属性值的、可以表述为规则的分类问题。相对于近些年出现的基于统计学习理论的支持向量机等分类方法来说,它的应用范围和准确率都不及后者。
2)分布式决策树分类方法的初始化过程比较复杂,难于做到系统的自动处理。
3)在决定分布式决策树分类方法的访问顺序时,采用的策略可以使得分类尽量早的结束,尽量少的访问节点。但是,这种访问顺序的决定方法没有考虑到各个传感器节点在空间中的物理位置,当不是任何两个节点之间都能通信的情况下,这个访问顺序就可能无效。
可见,现有技术中,集中式支持向量机分类方法虽然具有准确率高的特点,但存在传感器节点间的能量消耗不均衡,使单个传感器节点能量耗尽而导致系统无效等缺点,分布式决策树分类方法虽然具有平衡传感器节点间能量消耗的特点,确因为基于决策树分布原理而具有存在准确率低等缺点。


发明内容
本发明实施例提供一种基于无线传感器网络的数据分类方法,该方法能够提高数据分类的准确率,平衡传感器节点间的能量消耗。
本发明实施例提供一种基于传感器网络的数据分类系统,该系统能够提高数据分类的准确率,平衡传感器节点间的能量消耗。
本发明实施例提供一种基于无线传感器网络的数据分类的管理节点,该管理节点能够提高数据分类的准确率,平衡传感器节点间的能量消耗。
一种基于传感器网络的数据分类方法,该方法根据训练样本得到与传感器节点对应的属性累加参数,发送给对应的传感器节点;该方法还包括 管理节点发送移动代理给访问顺序中的第一传感器节点; 管理节点接收第一传感器节点发送的携带累积结果的移动代理,根据累积结果得到测试样本的类别;所述累积结果的得到包括接收移动代理的第一传感器节点对采集的属性值与该传感器节点的属性累加参数相乘,将得到的乘积与移动代理携带的累积值求和,用求和值更新累积值,将更新后的累积值作为所述累加结果。
一种基于传感器网络的数据分类系统,该系统包括传感器节点、中心节点和管理节点; 所述传感器节点,用于接收中心节点传送的属性累加参数,接收管理节点传送的移动代理,将属性值与属性累加参数相乘,用相乘的结果与移动代理携带的累积值累加,用累加结果更新累积值,携带于移动代理中传送给移动代理携带的访问顺序包含的下一传感器节点,直到访问顺序表示的传感器节点为最后一个传感器节点,将累积值作为最后的累积结果,携带于移动代理中传送给管理节点; 所述中心节点,用于对训练样本进行训练,得到与各个传感器节点分别对应的属性累加参数,将属性累加参数传送给对应的传感器节点; 所述管理节点,用于将移动代理传送给移动代理携带的访问顺序中的第一传感器节点,接收传感器节点传送的移动代理,根据移动代理携带的累积结果得到测试样本的分类。
一种基于无线传感器网络的数据分类的管理节点,该管理节点包括移动代理初始化模块和类别确定模块; 所述移动代理初始化模块,用于对移动代理携带的时间标识、累积值和访问顺序进行初始化后,发送给移动代理携带的访问顺序表示的第一传感器节点; 所述分类确定模块,用于接收传感器节点传送的移动代理,根据移动代理携带的累积结果得到测试样本的分类。
从上述方案可以看出,本发明实施例基于支持向量机分类原理,将属性累加参数发送给对应的各个传感器节点,管理节点发送移动代理给传感器节点,将所有传感器节点计算得到的乘积通过移动代理累积求和,管理节点根据累积结果得到测试样本的分类。本发明实施例采用了分布式的数据分类方法,将分类过程分散到各个传感器节点,从而平衡了各个传感器节点间的能量消耗。并且,本发明实施例采用了基于支持向量机分类原理,提高了数据分类的准确率。



图1为现有技术中二元决策树模型; 图2为现有技术中线性分类条件组在各传感器节点上的布置情况; 图3为现有技术中最优分类面示意图; 图4为本发明实施例基于传感器网络的数据分类方法的示例性流程图; 图5为本发明实施例基于传感器网络的数据分类方法的流程图例一; 图6为图5中步骤501的具体流程图; 图7为本发明实施例基于传感器网络的数据分类系统的结构示意图; 图8(a)为每一次分类过程中,传输总路径长度与传感器节点个数之间的关系示意图; 图8(b)为每一次分类过程中,总能量消耗与传感器节点个数之间的关系示意图。

具体实施例方式 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
这里,将本发明实施例的数据分类方法称为分布式支持向量机分类方法,该方法基于支持向量机分类原理,下面首先介绍线性支持向量机分类方法和近似线性支持向量机分类方法。
1、线性支持向量机分类方法。
支持向量机方法是从线性可分的情况下的最优分类面提出的。图3为现有技术中二维两类线性可分情况下,最优分类面的示意图。图中实心点和空心点表示了两类训练样本,这两类训练样本是线性可分的,H为把两类训练样本没有错误地分开的分类面。H1和H2分别为过某一类样本中离分类面最近的点,且平行于分类面的直线。H1和H2之间的距离叫做两类的分类间隔。所谓最优分类面就是要求分类面不但能将两类无错误的分开,且要使两类的分类间隔最大的直线。要得到最优分类面也就是求解最优分类函数,下面介绍其求解过程。
设线性可分的训练样本的集合为(xi,yi),i=1,2,…,n,i表示训练样本的数目。xi∈Rd,Rd表示d维实数空间;yi∈{+1,-1}是类别标号。d维空间中线性判别函数的一般形式为g(x)=w·x+b,分类面方程为 w·x+b=0 (1) 将判别函数归一化,使两类的所有训练样本都满足|g(x)≥1|,即离分类面最近的样本的|g(x)=1|,这样分类间隔就等于2/‖w‖(等价于使‖w‖2最小)。要求分类面对所有训练样本都能够正确分类,则需要满足下面(2)式的约束条件 yi[(w·xi)+b]-1≥0,i=1,2,…,n (2) 因此,满足(2)式的约束条件且使‖w‖2最小的分类面就是最优分类面。过两类训练样本中离分类面最近的点且平行于最优分类面的超平面H1、H2上的训练样本就是使(2)中等号成立的那些训练样本,它们叫做支持向量,如图3中圆圈标出的点所示。
求解最优分类面,也就是在(2)成立的条件下求解下面(3)式所示函数的最小值 为求解(3)式,可以定义如下的拉格郎日(Lagrange)函数 其中,αi为Lagrange系数,且αi>0。要求解(3)式,也就是对w和b求Lagrange函数的极小值。
设求解得到的αi的最优解为

w的最优解为w*,b的最优解为b*,则得到最优分类函数为 (5)式即为线性可分的支持向量机分类方法。(5)式中,

w*和b*为常数,xi、yi表示取值为i=1,2,…,n的训练样本。x是测试样本,f(x)是测试样本的类别标号。将测试样本x代入(5),由于

w*和b*为常数,xi和yi为已知数,便可计算得到测试样本的类别标号f(x)。
2、近似线性支持向量机分类方法。
当训练样本线性不可分时,不是所有的训练样本都能满足约束条件(2)式,此时,可以对第i个训练样本引入松弛变量ξi≥0,把约束条件放松为yi[(w·xi)+b]+ξi≥1。这样,就会有两个目标1)仍然希望间隔2/‖w‖足够大;2)同时希望错划程度

尽可能小。为了把这两个目标综合为一个目标,可以引入一个惩罚参数C作为综合两个目标的权重,即极小化目标函数

这样,求解得到近似线性可分的支持向量机分类方法,包括如下的过程 1)设训练样本集为(xi,yi),其中,i=1,2,…,n,xi∈Rd,yi∈{+1,-1}是类别标号; 2)选择合适的惩罚参数C,且C>0,构造并求解最优化问题 使得0≤αi≤C,i=1,…,n,得到最优解α* 3)计算仍选

计算得到b的最优解b* 4)构造分划超平面w*·x+b*=0,由此求得最优分类函数 (7)式即为近似线性可分的支持向量机分类方法。(7)式中,


和b*为常数,xi、yi表示取值为i=1,2,…,n的训练样本。x是测试样本,f(x)是测试样本的类别标号。将测试样本x代入(7)式,由于

w*和b*为常数,xi、yi为已知数,通过(7)式便可计算得到测试样本的类别标号f(x)。上述得到的(5)和(7)又称为决策函数。
根据上面的分析,下面介绍本发明实施例的分布式支持向量机分类方法。从(5)和(7)可以看出,当训练样本线性可分或者近似线性可分时,求得的决策函数具有相同的表达形式。因为xi和x都是d维向量,为了便于区分,本发明实施例把它们分别表示为xi=[xi(1)xi(2)…xi(d)]和x=[x(1)x(2)…x(d)],于是 当支持向量机分类方法训练完成后

b*均为已知的,而(xi,yi)为训练样本,显然




都是常数,这里将其称为属性累加参数,将b*称为分类域值。因此,决策函数(5)和(7)都可以通过检测样本x的各个分量与对应常数的乘积,也就是测试样本的各个属性值与对应属性累加参数的乘积,再加上b*后求解符号函数得到,根据符号函数的结果得到对应的类别。
根据前述的理论,下面介绍本发明实施例基于传感器网络的数据分类方法的具体方案的流程图。参见图4,为本发明实施例基于传感器网络的数据分类方法的示例性流程图,该方法首先根据训练样本得到与各个传感器节点对应的属性累加参数,将所述属性累加参数发送给各个传感器节点,该方法还包括 步骤401,管理节点发送移动代理给访问顺序中的第一传感器节点; 步骤402,管理节点接收第一传感器节点发送的携带累积结果的移动代理,根据累积结果得到测试样本的类别;所述累积结果的得到包括接收移动代理的第一传感器节点对采集的属性值与该传感器节点的属性累加参数相乘,将得到的乘积与移动代理携带的累积值求和,用求和值更新累积值,将更新后的累积值作为所述累加结果。
所述将更新后的累积值作为所述累加结果之前,该方法包括 根据移动代理携带的访问顺序判断第一传感器节点是否为最后一个传感器节点,若是最后一个传感器节点,则执行所述将更新后的累积值作为所述累加结果的步骤; 若不是最后一个传感器节点,则第一传感器节点发送携带更新累积值后的移动代理给所述访问顺序中的下一传感器节点;接收移动代理的传感器节点对采集的属性值与该传感器节点的属性累加参数相乘,将得到的乘积与移动代理携带的累积值求和,用求和值更新累积值,根据移动代理携带的访问顺序判断当前传感器节点是否为最后一个传感器节点,若是最后一个传感器节点,则将更新后的累积值作为所述累积结果,若不是最后一个传感器节点,则发送携带更新累积值后的移动代理给所述访问顺序中的下一传感器节点,返回所述接收移动代理的传感器节点对采集的属性值与该传感器节点的属性累加参数相乘的步骤。
本发明实施例中根据训练样本得到属性累加参数的步骤,可以在传感器网络中的处理节点实现,也可以由传感器网络中的处理节点从各传感器节点收集所有训练数据后传送给个人计算机(PC,Personal Computer),在PC上实现,这里将实现该步骤的处理节点、PC统一称为中心节点。根据训练样本得到属性累加参数的步骤还可以在管理节点实现。
参见图5,为本发明实施例基于传感器网络的数据分类方法的流程图例一,该方法包括以下步骤 步骤501,进行初始化。
初始化的具体过程参见图6所示的流程,包括以下步骤 步骤601,从各个传感器节点收集各个类别的训练数据。
步骤602,根据训练数据,提取各个属性值,为每个属性组添加类别标号,组成各类别的训练样本。
步骤603,根据训练样本,训练支持向量机分类模型,得到属性累加参数和分类域值。
所述属性累加参数为与各个传感器节点分别对应的所有属性累加参数。对于一个支持向量机分类模型,所述分类域值为一个。
所述训练支持向量机分类模型的过程参见前述得到公式(5)、(7)的过程。所述训练包括基于核函数实现的训练。
在公式(5)和(7)中决策函数通过xi与x的内积表示,内积函数适用于训练样本为R维空间中线性可分或近似线性可分的情况,对于训练样本为R维空间中线性不可分的情况,可以设法通过非线性变换转化成另一个空间中的线性问题。在支持向量机理论中,该转换采用核函数来实现,其定义为 定义核函数(或者正定核函数) 设X是Rd中的一个子集,称定义在X×X上的函数K(xi,x)是核函数,如果存在从X到某一个Hilbert空间H的映射 ΦX→H,x→Φ(x) (9) 使得 K(xi,x)=(Φ(xi)·Φ(x)) (10) 其中,(·)表示H中的内积。
当需要利用核函数对样本空间进行变换时,需要利用核函数K(xi,x)取代线性空间中使用的(xi·x)。
对于核函数,常用的有下面几种 1)线性核K(xi,x)=(xi·x); 2)多项式核K(xi,x)=((xi·x)+coef)deg; 3)径向基函数核 4)Sigmoid核K(xi,x)=tanh(gamma×(xi·x)+coef) 其中,gamma和coef为核函数对应的参数。
可以看出,前面的描述主要集中在线性核函数中,对于其它的核函数,如果也可以分解为每个属性与对应属性累加参数的运算,那么,也可以将基于这些核函数的支持向量机分类方法改进为分布式的实施方式。
从核函数的表示形式可以看出,多项式核和Sigmoid核函数因为涉及到指数和三角函数运算,不太容易分解,但对于非常常用的径向基函数核,可以进行如下的分析 当利用核函数取代决策函数中的(xi·x)时,决策函数可以表示为 从式(11)可以看出,对于累积项中的每一项当相应的参数确定以后,可以通过d个传感器节点各自计算得到的



的乘积计算得到。那么,每一项都可以利用分布式的计算得到。对于所有的n项,可以通过如下的方式 在分类过程中,第1个传感器节点根据存储的参数和该节点的属性值x(1),计算得到向量类似的,第j个节点计算得到最后一个节点(第d个)计算得到利用移动代理巡游各个节点,移动代理的数据项的初始值为每访问一个节点,移动代理的数据项的每一维与各个节点计算得到的向量对应的每一维相乘。当访问完所有节点,将n维数据累加在一起,再加上b*,就可求得f(x)的值,进而求得x所属的类别。
需要指出的是 1)由于

中,只有对应支持向量的项才不为0,其余的所有的

都为0,而一般支持向量只占训练样本中的很少一部分,因此,在上面的实施过程中,所有为0的

都可以忽略,从而整个向量的维度可以大大减小; 2)根据一类对余类方法或成对分类方法,基于径向基函数核的支持向量机分类方法也可以扩展到多类分类,实现方法与线性核的方法基本一致。
当然,能够运用到支持向量机分类方法中的核函数远不止本发明实施例列举的这些。对于其它可能用到的核函数,只要能将不同属性按照本发明实施例中类似的分布式方法应用于决策函数计算的,都可以改进为分布式的分类方法。
步骤604,将属性累加参数发送给与属性累加参数对应的传感器节点,传感器节点保存属性累加参数。
根据训练的模型,得到

和分类域值b*,根据

和训练样本,便可计算得到属性累加参数



步骤605,将分类域值发送给管理节点,管理节点保存分类域值。
本步骤还可以为将分类域值发送给某一传感器节点,该传感器节点保存分类域值。所述分类域值用于步骤504中结合求和结果,以得到测试样本的类别。
步骤604和605可无序执行。
步骤606,初始化移动代理。
移动代理是一个可以在传感器节点间移动的程序和数据的结构,它的数据结构包括时间标签、累积值和访问顺序。时间标签表示分类过程的开始时间,在整个分类过程中,使用到的各传感器节点的数据都需要和该时间标签一致。
累积值用于累加各传感器节点计算得到的属性累加参数与属性值的乘积。当分类的类别为两类时,发送给各个传感器节点的属性累加参数为一个,相应地,只需对一个累积值进行初始化。当分类为两类以上时,发送给各个传感器节点的属性累加参数为两个以上,与移动代理携带的累积值个数相同,具体描述参见后面对类别为两类以上情况进行数据分类的描述。对分类为两类以上的所有累积值进行初始化,将累积值与发送给各个传感器节点的属性累加参数成对应顺序排列,之后,各个传感器节点将属性值与该传感器节点的属性累加参数相乘,将得到的乘积按照顺序更新移动代理携带的对应的累积值。
访问顺序决定了移动代理访问各个节点的先后顺序,访问顺序可以是随意决定的,也可以是按照一定的顺序进行的,如采用旅行商问题决定。旅行商问题是一个经典的图论问题。设有n个城市,用Ci,i=1,2,...,n表示,城市Ci之间的距离为dij,i,j=1,2,...,n,设所有城市间两两连通,旅行商需要跑遍n个城市去推销他的商品。旅行商问题就是寻找让旅行商从某个城市出发,遍访每个城市一次且恰好一次的一条回路,且要求其路径总长度为最短。该旅行商问题为现有公知的一种优化技术,这里不进行过多描述。
可选地,移动代理还包括标识,标识用于唯一的识别每一个移动代理。
采用旅行商问题的求解方法来确定移动代理访问各个传感器节点的顺序,使得访问路径总长度最小。也可以采用其它一些启发式的方法,如每次移动代理总是由一个传感器节点发送给距离该传感器节点最近的还没有访问过的另外一个传感器节点。无论采用什么方法,唯一的目的就是使移动代理能够访问到所有节点,同时使访问路径尽可能的短。
步骤502,管理节点向移动代理携带的访问顺序中的第一传感器节点发送移动代理。
步骤503,接收移动代理的传感器节点将采集的属性值与属性累加参数求乘积,将该乘积与移动代理携带的累积值求和,用求和值更新累积值,根据移动代理携带的访问顺序判断当前传感器节点是否为最后一个传感器节点,若是,则执行步骤504;否则,执行步骤505。
所述采集的属性值为与时间标识对应的属性值。
步骤504,将更新后的累积值作为累积结果,发送携带所述累积结果的移动代理给管理节点,管理节点对累积结果和分类域值进行求和,根据求和结果得到测试样本的类别。
若步骤605为将分类域值发送给任一传感器节点,该传感器节点保存分类域值,相应地,步骤504中用于求和的分类域值的得到方法为保存分类域值的传感器节点接收移动代理,移动代理从该传感器节点将保存的分类域值携带给管理节点。
步骤505,传感器节点将携带更新累积值后的移动代理传送给所述访问顺序中的下一传感器节点,继续503。
下面将分别针对分类为两类和大于两类的情况,对图5所示的流程进行具体说明。
对于分类为两类的情况,步骤604所述传送给各个传感器节点的属性累加参数为一个,步骤503中每个传感器节点进行属性累加参数和传感器节点采集的属性相乘时也只进行一次。步骤504所述根据求和结果得到测试样本的类别具体为对求和结果进行求符号,与得到的符号对应的类别即为测试样本的类别。
前述是假设分类的类别为两类的情况,即y∈{+1,-1}。然而,在实际问题中,很多的分类问题涉及到两个以上的分类类别。根据支持向量机相关理论,可以将两类分类方法扩展到多类分类方法,方法可采用下面两种一类对余类方法和成对分类方法。
首先介绍一类对余类的数据分类方法原理。一类对余类的数据分类方法基于分类为两类的数据分布思路。具体地 设已知训练样本集为(xi,yi),i=1,2,…,n,xi∈Rd,yi∈{1,2,…,M}是类别标号,M为自然数; 对j=1,2,…,M进行如下运算把第j类看作正类,把其余的M-1类看作负类,用两类支持向量机分类方法求得决策函数如下 fj(x)=sgn(gj(x)) (12) 最后根据gj(x)判定输入的x属于第J类,将g1(x),g2(x),…,gM(x)中最大者对应的上标J作为该测试样本的类别。
具体地,在图5所示的流程中,步骤603进行训练时,需要训练M个两类支持向量机分类方法,得到与每个传感器节点对应的M个属性累加参数,以及M个分类域值。相应地,步骤604中将M个属性累加参数发送给对应的传感器节点,各传感器节点将保存与之对应的M个属性累加参数。步骤605中发送给管理节点的分类域值也为M个。步骤606初始化移动代理时,需要对M个累积值进行初始化。
步骤503中求乘积时,是将传感器节点的属性值与该传感器节点保存的M个属性累加参数分别相乘,分别得到M个乘积。
步骤503所述的累积结果、累积值都为M个;步骤504所述对所述累积结果和所述分类域值进行求和,根据求和结果得到测试样本的类别具体为 将M个累加结果与对应的M个分类域值分别求和,得到M个求和结果,对M个求和结果进行判断,将最大值的求和结果对应的类别作为测试样本的别类。
下面对成对分类的数据分类方法进行说明。成对分类方法也是基于两类分类原理。仍然假设一个M类的分类问题,从其中抽取第i类和第j类的训练样本组成一个两类分类问题。显然,一共可以有(M-1)M/2个这样的两类分类问题。对于一个测试样本x,将其输入到所有的(M-1)M/2个两类分类方法中,如果某个一类分类方法判定x属于第i类,则第i类获得一票。最后,得票数最多的类别就是最终判定的x所属的类别。
相应地,在图5的流程中,步骤603进行训练时,需要训练(M-1)M/2个两类支持向量机分类方法,得到与每个传感器节点对应的(M-1)M/2个属性累加参数,以及(M-1)M/2个分类域值。相应地,步骤604中将(M-1)M/2个属性累加参数发送给对应的传感器节点,各传感器节点将保存与之对应的(M-1)M/2个属性累加参数。步骤605中发送给管理节点的分类域值也为(M-1)M/2个。步骤606初始化移动代理时,需要对(M-1)M/2个累积值进行初始化。
步骤503中求乘积时,是将传感器节点的属性值与该传感器节点保存的(M-1)M/2个属性累加参数分别相乘,分别得到(M-1)M/2个乘积。
步骤503所述的累积结果、累积值都为(M-1)M/2个;步骤504所述对所述累积结果和所述分类域值进行求和,根据求和结果得到测试样本的类别具体为 将所述(M-1)M/2个累积结果和(M-1)M/2个分类域值分别求和,得到(M-1)M/2个求和结果,根据该(M-1)M/2个求和结果判断出相应的(M-1)M/2个类别,将(M-1)M/2个类别中数目最多的类别作为测试样本的类别。
从上面关于一类对余类的数据分类方法和成对分类的数据分类方法可以看出 1)对于M类的分类问题,如果采用一类对余类方法,需要训练M个两类支持向量机分类方法,而对于成对分类方法,需要训练(M-1)M/2个两类支持向量机分类方法,对于分布式的数据分类方法来说,采用一类对余类方法可以减少更多的存储数据和计算量; 2)当采用分布式的两类支持向量机分类方法来实现分布式的多类分类问题时,假设一共需要M个两类支持向量机分类方法,需要在各个传感器节点存储有关的M个两类支持向量机分类方法的有关参数。其实,只是将一个一维的参数扩展成M维的参数,每一维对应一个两类支持向量机分类方法;同时,将移动代理的累积结果也扩展为M维。可以看出,对于用多个两类支持向量机分类方法实现的多类支持向量机分类方法,移动代理也只需要巡游一次所有有关节点,只是在每个节点,需要计算所有M个两类支持向量机分类方法的累积结果; 3)当采用一类对余类方法时,当所有的gj(x)都得到时,比较的是它们的大小,并选取最大值所对应的上标号作为分类结果;当采用成对分类方法时,需要统计每一个两类分类中x具体属于哪一类。对于最终的累积结果的处理方式,两种方法略有不同。
参见图7,为本发明实施例基于传感器网络的数据分类系统,该系统包括传感器节点、管理节点和中心节点。设所述传感器节点为n个。
传感器节点,用于接收中心节点传送的属性累加参数,接收管理节点传送的移动代理,将属性值与属性累加参数相乘,用相乘的结果与移动代理携带的累积值累加,用累加结果更新累积值,携带于移动代理中传送给移动代理携带的访问顺序包含的下一传感器节点,直到访问顺序表示的传感器节点为最后一个传感器节点,将累积值作为最后的累积结果,携带于移动代理中传送给管理节点。
所述中心节点,用于对训练样本进行训练,得到与各个传感器节点分别对应的属性累加参数,将属性累加参数传送给对应的传感器节点。可选地,所述中心节点设置于管理节点内。
所述管理节点,将移动代理传送给移动代理携带的访问顺序中的第一传感器节点,接收传感器节点传送的移动代理,根据移动代理携带的累积结果得到测试样本的分类。管理节点可以包括移动代理初始化模块和类别确定模块。
所述移动代理初始化模块,用于对移动代理携带的时间标识、累积值和访问顺序进行初始化后,发送给移动代理携带的访问顺序表示的第一传感器节点。
所述分类确定模块,用于接收访问顺序中表示的最后一个传感器节点传送的移动代理,根据移动代理携带的累积结果得到测试样本的分类。该分类确定模块可以包括接收子模块和分类确定子模块,所述接收子模块用于接收访问顺序中表示的最后一个传感器节点传送的移动代理,传送给分类确定子模块。所述分类确定子模块根据分类类别的不同,分类确定模块具有不同的情况。
若分类类别为两类,所述分类确定子模块用于对累积结果和由中心节点对训练样本进行训练得到的分类域值求和,得到求和结果,对所述求和结果进行求符号,与得到的符号对应的类别为测试样本的类别。
若数据分类类别为两类以上,所述分类确定子模块用于对M个累积结果和由中心节点对训练样本进行训练得到的M个分类域值分别对应求和,得到M个求和结果,将M个求和结果中的最大值对应的类别作为测试样本的类别,其中M为自然数,是训练样本的类别数目。
若数据分类类别为两类以上,所述分类确定子模块用于将(M-1)M/2个累积结果和由中心节点对训练样本进行训练得到的(M-1)M/2个分类域值分别对应求和,得到(M-1)M/2个求和结果,根据该(M-1)M/2个求和结果判断出相应的(M-1)M/2个类别,将(M-1)M/2个类别中数目最多的类别作为测试样本的类别,其中M为自然数,是训练样本的类别数目。
与现有技术的集中式分类方法进行比较,本发明实施例分布式支持向量机分类方案具有以下优点 1)分布式支持向量机分类方法因为不像现有技术的集中式分类方法那样需要传输数据到处理节点,每个属性都是在其对应的传感器节点上计算,从而降低了系统所需的带宽;另外,由于本发明实施例的分布式支持向量机分类方法是串行执行的,而非并行执行,这样,进一步降低带宽需求。
2)分布式支持向量机分类方法将参数,包括属性累加参数和分类域值等都分散存放在各个传感器节点,各个传感器节点计算自己的属性值,以及属性值与属性累加参数的乘积,平衡了各个传感器节点之间的存储需求和计算消耗。
3)本发明实施例采用的路径优化方法尽可能的减少了数据传输距离,减少了节点能量消耗。
4)计算、传输优化的同时,分布式支持向量机分类方法没有现有技术中负责大多数计算、传输的传感器节点,这样,避免了个别传感器节点负责大多数的计算、传输,平衡了节点间的能量消耗。在同质的传感器网络系统中,避免了因单个传感器节点能量耗尽而使系统无效。
与现有技术中的分布式决策树分类方法相比,本发明实施例的分布式支持向量机分类方法具有更简单的初始化过程、更高的分类准确率,和更广的应用范围。具体地,有以下优点 (1)解决了小样本情况下的学习问题;(2)提高了泛化性能;(3)解决了高维问题;(4)解决了非线性问题;(5)避免了神经网络结构选择和局部极小点问题。
下面,主要定量的探讨集中式的支持向量机分类算法(CentralizedSupport Vector Machine Classification,CSVMC)和分布式的支持向量机分类算法(Distributed Support Vector Machine Classification,DSVMC)在传输能量消耗方面的性能。在其它方面的能量消耗,如计算等,因为相对非常小,在分析中被忽略了。
假设有m个传感器节点,其中一个传感器节点在CSVMC中作为处理节点,在DSVMC中作为管理节点,剩余的m-1个传感器节点是属性节点,每个传感器节点产生一个属性。CSVMC中的处理节点只接收其它传感器节点发来的属性消息,集中的计算分类结果;DSVMC中的管理节点既需要发送移动代理,还需要接收移动代理,完成最后的分类步骤。
1、能量消耗模型 本发明实施例采用的能量消耗模型中,能量消耗包括两个部分发送能量消耗和接收能量消耗。发送能量用于无线电发送机的工作和能量放大器的工作,接收能量用于无线电接收机的工作。在自由空间模型下,为了传输l位(bit)的消息到距离dis的地方,需要消耗能量 ETx(l,dis)=ETx-elec(l)+ETx-amp(l,dis)=lEelec+lεfsdis2(14) 为了接收这个消息,需要消耗能量 ERx(l)=ERx-elec(l)=lEelec (15) 其中,Eelec是电磁参数,εfs是放大器参数,分别设置为Eelec=50nJ/bit,εfs=10pJ/bit/m2。
2、模拟实验和结果 设传感器区域大小为100m×100m,CSVMC的处理节点和DSVMC的管理节点都位于区域中心(50,50),其它的所有传感器节点随机的位于区域的其它位置。假设CSVMC和DSVMC传输的数据包大小都为50字节(Byte),计算这两种方法在总传输距离、总能量消耗和单个节点的最大能量消耗三个方面的性能。其中,在DSVMC中,基于模拟退火方法的旅行商问题求解方法被用于确定节点访问顺序。每个方法实验重复500次,取平均值作为实验结果。
图8所示为对每一次分类过程,传输总路径长度和总能量消耗与传感器节点个数之间的关系。从图8(a)看到,当传感器节点数目非常小时,DSVMC的总传输路径长度比CSVMC稍微大一些,这是因为在DSVMC中,管理节点需要发送和接收移动代理,而CSVMC的处理节点只需要接收数据,所以前者的多一次传输使得传输距离稍微大一点;但是,随着节点数据的增加,CSVMC的总传输路径长度增加非常快,与DSVMC相比,集中式方式的总传输距离要大得多,这证实了旅行商问题求解的最优访问路径的优势。在图8(b)中,两种方法的总能量消耗差异比较小,并没有明显反应出二者在传输距离上的差异,这主要是参数Eelec比εfs要大得多,使得无线电收发机消耗的能量占据了绝大部分,而放大能量被低估了。
图8传输总路径长度(a)和总能量消耗(b)与传感器节点个数之间的关系对于单个节点的最大能量消耗,在CSVMC中,处理节点接收所有的数据包,消耗最多能量,大小为(m-1)·l·Eelec;在DSVMC中,每个节点接收一次移动代理,发送一次移动代理。传输距离最大的节点消耗能量最多,为表3所示为CSVMC和DSVMC方法在一次分类过程中单个节点的最大能量消耗。
表3 CSVMC和DSVMC方法在一次分类过程中单个节点的最大能量消耗(×10-4焦耳) 从表3可以看出,在CSVMC中,单个节点的最大能量消耗呈快速增长,而在DSVMC中,单个节点的最大能量消耗增长很缓慢。当有50个传感器节点时,前者几乎是后者的20倍。对于同质网络,也就是说,网络中每个传感器节点都是一样的,那么由于处理节点比其它所有节点消耗的能量要大得多,使得集中式方式的网络系统将因为处理节点能量很快消耗完毕而失效。这也证明了本发明实施例分布式支持向量机分类方案的有效性。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种基于传感器网络的数据分类方法,其特征在于,根据训练样本得到与传感器节点对应的属性累加参数,发送给对应的传感器节点;该方法还包括
管理节点发送移动代理给访问顺序中的第一传感器节点;
管理节点接收第一传感器节点发送的携带累积结果的移动代理,根据累积结果得到测试样本的类别;所述累积结果的得到包括接收移动代理的第一传感器节点对采集的属性值与该传感器节点的属性累加参数相乘,将得到的乘积与移动代理携带的累积值求和,用求和值更新累积值,将更新后的累积值作为所述累加结果。
2、如权利要求1所述的方法,其特征在于,所述将更新后的累积值作为所述累加结果之前,该方法包括
根据移动代理携带的访问顺序判断第一传感器节点是否为最后一个传感器节点,若是最后一个传感器节点,则执行所述将更新后的累积值作为所述累加结果的步骤;
若不是最后一个传感器节点,则第一传感器节点发送携带更新累积值后的移动代理给所述访问顺序中的下一传感器节点;接收移动代理的传感器节点对采集的属性值与该传感器节点的属性累加参数相乘,将得到的乘积与移动代理携带的累积值求和,用求和值更新累积值,根据移动代理携带的访问顺序判断当前传感器节点是否为最后一个传感器节点,若是最后一个传感器节点,则将更新后的累积值作为所述累积结果,若不是最后一个传感器节点,则发送携带更新累积值后的移动代理给所述访问顺序中的下一传感器节点,返回所述接收移动代理的传感器节点对采集的属性值与该传感器节点的属性累加参数相乘的步骤。
3、如权利要求1所述的方法,其特征在于,所述根据训练样本得到与传感器节点对应的属性累加参数的方法包括
从各个传感器节点收集与类别对应的训练数据,根据训练数据得到训练样本,所述训练样本包含类别,以及与类别对应的属性值;
对训练样本进行训练,得到与各个传感器节点分别对应的属性累加参数。
4、如权利要求3所述的方法,其特征在于,所述对训练样本进行训练的方法包括
基于核函数实现对训练样本进行训练。
5、如权利要求1所述的方法,其特征在于,所述管理节点发送移动代理给访问顺序中的第一传感器节点之前,该方法包括
根据各个传感器节点的位置信息,确定给各个传感器节点发送移动代理的所述访问顺序。
6、如权利要求5所述的方法,其特征在于,所述确定给各个传感器节点发送移动代理的所述访问顺序的方法包括
采用旅行商问题的实现原则确定访问顺序。
7、如权利要求1所述的方法,其特征在于,所述移动代理还携带时间标签;
所述对采集的属性与该传感器节点的属性累加参数相乘的方法包括将与移动代理携带的所述时间标签对应时刻采集的属性,与该传感器节点的属性累加参数相乘。
8、如权利要求3所述的方法,其特征在于,所述对训练样本进行训练时,还得到分类域值,将所述分类域值发送给管理节点;
所述管理节点根据累积结果得到测试样本的类别的方法包括管理节点对所述累积结果和所述分类域值进行求和,根据求和结果得到测试样本的类别。
9、如权利要求8所述的方法,其特征在于,所述训练样本的类别为两类,
所述根据求和结果得到测试样本的类别的方法包括
对所述求和结果进行求符号,与得到的符号对应的类别为测试样本的类别。
10、如权利要求8所述的方法,其特征在于,所述训练样本的类别大于两类,设为M类,M为自然数,将其中一类作正类,其余M-1类作负类,则所述训练样本为M组两类训练样本;
所述训练数据为M组,所述与各个传感器节点分别对应的属性累加参数为M个,发送给管理节点的所述分类域值为M个;
所述乘积值为M个,所述累加结果为M个;
所述管理节点对所述累积结果和所述分类域值进行求和,根据求和结果得到测试样本的类别的方法包括
管理节点将所述M个累积结果和M个分类域值分别对应求和,得到求和结果,将求和结果中的最大值对应的类别作为测试样本的类别。
11、如权利要求8所述的方法,其特征在于,所述训练样本的类别大于两类,设为M类时,M为自然数,将该M类进行两两组合,则所述训练样本为(M-1)M/2组两类训练样本;
所述训练数据为(M-1)M/2组,所述与各个传感器节点分别对应的属性累加参数为(M-1)M/2个,发送给管理节点的所述分类域值为(M-1)M/2个;
所述乘积值为(M-1)M/2个,所述累加结果为(M-1)M/2个;
所述管理节点对所述累积结果和所述分类域值进行求和,根据求和结果得到测试样本的类别的方法包括
管理节点将所述(M-1)M/2个累积结果和(M-1)M/2个分类域值分别求和,得到(M-1)M/2个求和结果,根据该(M-1)M/2个求和值判断出相应的(M-1)M/2个类别,将(M-1)M/2个类别中数目最多的类别作为测试样本的类别。
12、一种基于无线传感器网络的数据分类系统,其特征在于,该系统包括传感器节点、中心节点和管理节点;
所述传感器节点,用于接收中心节点传送的属性累加参数,接收管理节点传送的移动代理,将属性值与属性累加参数相乘,用相乘的结果与移动代理携带的累积值累加,用累加结果更新累积值,携带于移动代理中传送给移动代理携带的访问顺序包含的下一传感器节点,直到访问顺序表示的传感器节点为最后一个传感器节点,将累积值作为最后的累积结果,携带于移动代理中传送给管理节点;
所述中心节点,用于对训练样本进行训练,得到与各个传感器节点分别对应的属性累加参数,将属性累加参数传送给对应的传感器节点;
所述管理节点,用于将移动代理传送给移动代理携带的访问顺序中的第一传感器节点,接收传感器节点传送的移动代理,根据移动代理携带的累积结果得到测试样本的分类。
13、如权利要求12所述的系统,其特征在于,所述管理节点包括移动代理初始化模块和类别确定模块;
所述移动代理初始化模块,用于对移动代理携带的时间标识、累积值和访问顺序进行初始化后,发送给移动代理携带的访问顺序表示的第一传感器节点;
所述分类确定模块,用于接收传感器节点传送的移动代理,根据移动代理携带的累积结果得到测试样本的分类。
14、如权利要求13所述的系统,其特征在于,所述分类确定模块包括接收子模块和分类确定子模块;
所述接收子模块,用于接收传感器节点传送的移动代理,传送给分类确定子模块;
所述分类确定子模块,用于对累积结果和由中心节点对训练样本进行训练得到的分类域值求和,得到求和结果,对所述求和结果进行求符号,与得到的符号对应的类别为测试样本的类别。
15、如权利要求13所述的系统,其特征在于,所述分类确定模块包括接收子模块和分类确定子模块;
所述接收子模块,用于接收传感器节点传送的移动代理,传送给分类确定子模块;
所述分类确定子模块,用于对M个累积结果和由中心节点对训练样本进行训练得到的M个分类域值分别对应求和,得到M个求和结果,将M个求和结果中的最大值对应的类别作为测试样本的类别,其中M为自然数,是训练样本的类别数目。
16、如权利要求13所述的系统,其特征在于,所述分类确定模块包括接收子模块和分类确定子模块;
所述接收子模块,用于接收传感器节点传送的移动代理,传送给分类确定子模块;
所述分类确定子模块,用于将(M-1)M/2个累积结果和由中心节点对训练样本进行训练得到的(M-1)M/2个分类域值分别对应求和,得到(M-1)M/2个求和结果,根据该(M-1)M/2个求和结果判断出相应的(M-1)M/2个类别,将(M-1)M/2个类别中数目最多的类别作为测试样本的类别,其中M为自然数,是训练样本的类别数目。
17、如权利要求12所述的系统,其特征在于,所述中心节点设置于管理节点内。
18、一种基于无线传感器网络的数据分类的管理节点,其特征在于,该管理节点包括移动代理初始化模块和类别确定模块;
所述移动代理初始化模块,用于对移动代理携带的时间标识、累积值和访问顺序进行初始化后,发送给移动代理携带的访问顺序表示的第一传感器节点;
所述分类确定模块,用于接收传感器节点传送的移动代理,根据移动代理携带的累积结果得到测试样本的分类。
全文摘要
本发明实施例公开了一种基于无线传感器网络的数据分类方法,该方法根据训练样本得到与传感器节点对应的属性累加参数,发送给对应的传感器节点;该方法还包括管理节点发送移动代理给访问顺序中的第一传感器节点;管理节点接收第一传感器节点发送的携带累积结果的移动代理,根据累积结果得到测试样本的类别。本发明实施例还公开了一种基于无线传感器网络的数据分类系统和管理节点。本发明实施例的方案提高了无线传感器网络中数据分类的准确率,平衡了传感器节点间的能量消耗。
文档编号H04L12/54GK101388812SQ200710149578
公开日2009年3月18日 申请日期2007年9月12日 优先权日2007年9月12日
发明者王双全, 杰 杨, 翼 张 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1