欢迎访问一起赢论文辅导网
本站动态
联系我们

手机:153 2730 2358
邮箱:910330594@QQ.COM

Q Q:
910330594
网址:http://www.17winner.com
工作时间:
9:00-24:00  

硕士论文
当前位置:首页 > 硕士论文
无线传感器网络通信负载状态识别方法的研究
来源:一起赢论文网     日期:2015-04-27     浏览数:1084     【 字体:

 摘   要   在无线传感器网络数据传输过程中, 网络的通信状态是一个重要的研究点. 当网络吞吐率过载时, 需要调整网络通信策略以保证传感网的整体性能, 因此首先需要对网络的传输状态进行识别. 设计并实现了一种能够实时在线识别传感器网络数据通信状态的机制, 能够对网络正常、 过载的传输状态进行准确判断, 以支持网络通信策略的调整. 首先通过实验获得网络传输过程中的基础性能参数, 并对这些参数与网络通信负载状态的相关性进行分析, 选择吞吐率作为网络负载状态的分类标准, 建立基于支持向量机模型(s u p p o r t  v e c t o r  m a c h i n e s , S VM ) 的网络通信负载状态识别模型, 并根据实测数据确定该模型在模拟环境中的参数 . 实际测试表明, 该判别模型的准确率可达到 9 1 . 2 8% , 能够对网络通信负载状态进行有效识别.

关键词   无线传感器网络; 负载状态; 分类识别; N S 2 ; 支持向量机
    目前无线传感器网络( w i r e l e s s  s e n s o r  n e t w o r k ,WS N ) 系统[ 1 ] 大多工作在2 . 4GH z的通信频段, 系统所使用的底层通信技术基于8 0 2. 1 5. 4标准. 随着无线传感器网络的飞速发展, 其规模和通信数据量也急剧提升. 无线传感器网络系统中往往存在大量的传感节点, 即使网络没有受到其他如 W i F i 、 蓝牙等信号的干扰, 大量节点同时进行无线数据通信时,也有可能造成系统网络内部的数据干扰与冲突, 导致网络通信性能的下降. 为了解决网络内部节点相互之间的干扰问题, 目前可以采用诸如跳频通信、 时分复用、 多信道等传输控制机制, 从而保证网络的系统性能稳定. 为了能够高效利用信道传输控制机制,在网络负载较低时减少控制机制的操作, 在网络负载较重时加强控制机制的调控, 就需首先对网络负载的状态进行有效地判断识别, 从而指导后续的网络行为控制操作.
无线传感器网络通信负载状态判别的研究主要面临以下2个方面的挑战:1 ) 网络通信性能由哪些指标决定, 以及如何对传感器网络的通信过载进行合理定义区分;2 ) 如何准确判别传感器网络当前的通信负载情况. 针对以上问题, 本文首先使用仿真工具N S 2进行了传感器网络节点通信的实验模拟, 分析网络中不同状态参数对网络通信性能的影响, 然后提出采用支持向量机(s u p p o r t  v e c t o r  m a c h i n e s , S VM )模型对网络通信负载状况进行判别, 从而可以在后续研究中对网络通信策略的调整进行有效指导.
本文的主要贡献如下:1 ) 模拟测试网络在不同状态参数下的通信情况, 分析状态参数对网络通信性能的影响;2 ) 基于实验分析数据, 建立对网络通信负载状况进行判别的 S VM 判别模型, 根据状态参数判别网络当前通信是否为过载状态;3 ) 通过实验验证了所建立的S VM 模型的准确有效性.
    1  相关工作
    目前关于网络通信负载状态识别方面的研究,大多是基于发送或处理数据包的时间信息以及硬件存储空间的相关信息来进行分析的. 网络正常通信时, 数据包的发送和处理时间比较短, 数据缓存区比较空闲; 而如果网络发生通信过载, 节点需要较长的时间来处理数据包, 数据缓存区也会变得拥挤.文献[2 ] 提出了一种基于预测上传或下发数据包的时间长短的方法来判断网络传输的拥塞状态,根据网络拥塞状态的判断来调整网络的数据传输速率. 该方法中, 如果成功传输1个数据包的时间较短, 则会使判断网络状态操作过于频繁而降低系统传输效率; 如果成功传输数据包的时间较长, 则说明网络拥塞状态比较严重而使网络传输性能降低. 文献[3 ] 提出了一种基于数据包在网络内部到达时间和介质访问控制( m e d i a  a c c e s s  c o n t r o l , MA C ) 层的数据包服务时间的比值方法来判断网络传输状态,识别网络是否发生拥塞的状态, 并根据网络的长期和短期拥塞状态分别对网络的 Q o S控制进行自适应的调整. 文献[4 ] 通过数据包到达 MA C层, 并传输至下一跳节点的速率与节点完成整个数据包的接收和转发的速率的比值来判断节点传输的拥塞状况. 文献[5 ] 提出了一种能够感知网络传输状态的MA C协议, 该文献中针对信道传输数据量的增加而使数据包的传输退避时间增加的现象, 采用数据包长与信道传输速率的比值获得数据传输延迟, 并根据信道的衰落情况以及数据包处理时间获得数据包的综合延迟, 当网络数据包实际的传输延迟大于该分析的延迟时, 判断该网络会发生拥塞的状况. 文献[6 ] 提出的C O D A方法采用基于接收端的节点状态判断网络传输状况, 结合节点数据包缓存的长度以及信道的负载来判断网络拥塞状况, 该方法能够处理网络的瞬时拥塞和持续的拥塞状态. 文献[7] 提出的E C O D A方法是对文献[6 ] 的加强改进, 将接收数据包的缓存区划分为3个状态: 接受状态、 过滤状态和拒绝状态, 不同的状态反映出不同的信道拥塞状况. 如果缓存区的数据包较少, 则网络拥塞状况不严重, 节点处于接受状态, 能够正常接收数据包; 如果网络拥塞状况严重, 则缓存区的数据包较多, 节点处于拒绝状态, 此时节点会拒绝接收大部分数据包,从而保证网络中的传输瓶颈不会产生数据拥塞.上述文献主要通过传输时间、 存储空间等信息的关系对网络负载状态识别进行判断, 判断的结果大多是采用主观的阈值来进行比较, 没有分析出网络的确定传输状态是否达到饱和, 而且上述文献都是针对单个网络节点的传输状况进行分析, 对于网络区域的传输状态还缺少整体的分析. 本文对网络的负载状态与基本传输参数的相关关系进行了分析,建立了以网络基本传输参数为输入参数的S VM 判别模型, 能实时准确地对网络通信负载状态进行识别, 并且分析的结果是针对网络局部区域内的多个节点, 能够更有效地获得网络整体的负载性能.
    2 W S N 传输参数与通信性能分析
    2. 1  实验环境的建立为了获得网络通信负载状态判别的依据, 首先需要进行实验数据的测试与分析. 在本节我们通过仿真工具 N S 2[ 8 ] 进行仿真测试分析, 获得测试数据.由于不考虑外界环境的干扰因素, 同时考虑到测试结果需要具有通用性和代表性, 采用星形拓扑结构的网络进行仿真分析. 采用 N S 2分析测试过程的星形结构网络如图1所示:在本节的仿真环境设置中, 主要考虑网络中最重要的2个性能指标: 吞吐率( T h r o u g h p u t ) 和收包率( P R R ) , 其中又将收包率细分为应用层的收包率(A g t P R R) 和MA C层的收包率( M a c P R R ). 仿真实验主要设置的网络参数限定在节点数量( N o d e s ) 、数据包长( P k t L e n g t h ) 、 数据包发送速率(R a t e ) , 因为这些参数已经限定了一种网络通信环境, 即对应了一定的 T h r o u g h p u t 和 P R R . 在测试的过程中,我们通过对不同仿真环境的设置, 使3个参数之间互相独立 .在测试中我们选取不同的数据包长度 P k t L e n g t h ,由于采用的8 0 2. 1 5. 4MA C协议为基础协议, MA C层最大数据包的长度为 1 2 8 B , 因此在应用层设置数据包的长度从1 0~1 0 0B以1 0B为步长变化. 不同的节点发送速率 R a t e 与不同的节点数量 N o d e s 有比较密切的关系, 我们计算网络的吞吐率采用普通的8 0 2. 1 5. 4射频芯片, 如C C 2 4 2 0 , 物理层的传输速率为2 5 0 k b p s ; 而通过实验测得的数据即使是在只有1个节点发送数据的情况下, 由于芯片处理的开销、 网络协议的开销等, 速率只能达到1 4 0 k b p s左右, 约为1 7 . 5k b p s . 如果1个节点发送的 MA C 层数据包长度为1 2 8 B , 那么对于在1个网络簇内的簇头节点, 每秒钟也只能接收到1 3 0个左右的数据包.这是点对点传输的情况, 而如果存在多点向1个点发送数据的情况, 那么数据接收节点每秒所能收到的数据包的数量会远远低于1 3 0个, 实际情况的测试也证明了这个推论. 因此, 我们在设置节点发包速率与节点数量时, 采用了2组不同的对应关系: 节点数量从1~1 5个以1为步长进行递增, 此时所对应的发包速率为从4~2 0 0p p s以4p p s为步长递增;节点数量从1~5 0个以1为步长进行递增, 此时所对应的发包速率为从0 . 1~1 p p s以0 . 1 p p s为步长递增. 本节测试的参数配置如表1所示:
    2. 2  单节点数据发送的情况首先, 测试只有1个节点发送数据的情况. 在只有1个节点发送数据的情况下, 发送节点不会受到来自其他节点的干扰, 因此网络的性能可以接近较为理想的状态. 节点发送数据的记录情况如图2所示.在图 2 中, 应用层数据包长从 1 0~1 0 0B 以1 0B 递增变化, 由于发送数据的节点只有1个, 数据包的发送速率可以尽快 . 因此, 在每个数据包长设置下可以将数据包发送速率设为4~2 0 0 p p s , 按 4 p p s递增变化, 在每个参数设置的情况下进行4 0 s 的数据发送测试, 得到(1 0 0 ? 1 0 ) × ( 2 0 0 ? 4 ) =5 0 0个点的数据绘制曲线. 从图2可以看出, 在网络通信量未达到饱和时, 接收节点的吞吐率 T h r o u g h p u t 几乎严格与数据的包长 P k t L e n g t h 、 节点的数量 R a t e 成正比例变化, 收包的数量在发包速率较低的情况下几乎与 P k t L e n g t h 无关、 与 R a t e 几乎成正比. 无论是在应用层还是在 MA C层, 接收节点的收包率都近似为1 0 0%. 在这种情况下, 节点的各数据包之间不发生任何关系, 没有任何相互影响.随着 P k t L e n g t h 和 R a t e 的增加, 图形开始发生一些变化:1)在图2(a ) 中, 随着 P k t L e n g t h 的增加, 节点的吞吐 率 逐 步 增 加. 在 每 个 P k t L e n g t h 中, 随 着R a t e 的增加, T h r o u g h p u t 也随之增加. 但当信道逐渐达到饱和状态时, T h r o u g h p u t 不再变化. 在不同的 P k t L e n g t h 下, 节点达到的饱和 T h r o u g h p u t 有所差异,R a t e 越高所能达到的 T h r o u g h p u t 也越高.2)在图2(b ) 中, P k t L e n g t h 越长, 能够达到吞吐率饱和状态时节点的发送速率越低, 接收节点收到包的数量就越少; 吞吐率饱和对应为接收收包数不再变化, 而应用层的收包率随速率的升高而降低.3)在图2(c ) 中, 节点的应用层可以设置不同的发送速率, 然而由于物理层速率的限制, 当包长达到一定程度并由于物理层发送速率限制而导致发包速率不能无限上升, 当发包速率达到一定程度时便会产生丢包的现象 .4)在图2(d ) 中, 在只有1个节点发送数据的情况下, MA C层的收包率自始至终接近1 0 0%, 几乎没有丢包的现象产生.从图2中我们可以得出以下5点结论:1 )当信道容量接近饱和状态时, 无论如何设置网络参数, 网络吞吐率不会再上升;2 )越长的数据包对信道的占用越充分, 由于发送数据包之间有时间空隙, 越长的数据包对应时间空隙所占的比重越小;3 )数据包越长, 发送1个包的时间也越长, 达到信道饱和时, 单位时间能发送的数据包数就越少,意味着发送速率的降低和接收收包数的降低;4 )吞吐率达到饱和时, 即便设定再高的发送速率, 由于物理限制, 多余的包也不会发送到物理信道中, 而是在由上层向下层传递过程中丢弃, 引发应用层的收包率下降, 而接收的收包数维持稳定不再变化;5 )由于信道中只有1个节点发送数据包, 只要节点将数据包放到物理链路, 几乎都能无误传递到接收节点, MA C 层的收包率始终在1 0 0%附近.
    2. 3  多节点数据发送的情况下面进行多个节点发送数据情况的测试. 在该实验中, 节点的数量从1~1 5个进行变化, 实验参数的配置情况如表1所示. 为了进行对比, 我们只选取能够描述网络性能变化特征的2个具有典型代表性的数据测试点来进行说明. 在这里, 我们选取3个数据发送点以及8个数据发送点的情况进行说明.首先, 对 节 点 的 吞 吐 率 变 化 情 况 进 行 比 较.图3(a ) ( b ) 分别是3个和8个数据发送点的接收节点接收数据吞吐率的情况. 在仅有1个发送节点时,通信链路达到饱和对信道的占用是最充分的, 增加节点之后会引起更多的冲突退避和隐藏终端碰撞,系统所能达到的饱和吞吐率不会超过单节点时的情况. 如果节点的数目较少, 不会或者很少会发生冲突退避以及隐藏终端导致数据丢失的现象, 如图3 ( a )所示; 如果当节点数量增加, 节点的吞吐率就会有明显的降低, 并且当数据包长增加时, 信道的饱和状态也来得较早, 如图3 ( b ) 所示.纵坐标在不同数据发送点下的接收节点收包数量的变化情况如图4所示. 由于数据冲突的原因, 节点的收包数量随着节点数量的增加而明显下降, 并且在不同情况下, 随着发包频率的增加, 在节点数量较少的情况下, 收包数量与发包数量几乎保持正比的形状. 如果节点数量较多, 收包数量与发包数量的图形则看不出正比关系, 说明随着节点密度的增加,节点收包数量很快衰减, 不能正常随着发包数量增加而增加.图5示出应用层数据包投递率的情况. 从图中可以明显看出, 节点数量的增加使应用层能够成功向 MA C层投递数据包的成功率降低, 主要是由于网络节点之间的数据干扰使节点 MA C层的吞吐率严重降低, 导致应用层的数据包不能全部发送出去,当 MA C层所控制的多次重发失败之后, 数据包也会被丢弃.图6示出发送数据节点的 MA C 层数据发送成功率. 当网内节点数量较少时, 由于干扰较少, MA C层的数据发送成功率还能保持在较高的水平. 由于节点间数据冲突次数变多, MA C 层数据包的成功投递率也会有所降低, 平均降至4 0%.我们设置同样的参数对1~1 5个发送节点情况都作了仿真, 在这种相对较高速率的仿真中, 网络的性能随节点数的增加越来越差, 即网络的性能因为受到网内节点干扰而降低. 在网络中, 吞吐率指标属于受到芯片的物理限制, 这种物理限制只能通过提升硬件性能来进一步改善. 而在面向环境信息采集类的传感器网络应用系统中, 因为节点所处环境参数变化一般比较缓慢, 节点数据发送速率比较低, 甚至几分钟发送1个数据包的情况也很常见. 仿真实验表明, 在低速率环境中节点数的增加同样会引起网络性能的下降, 而这是可以通过调整发送策略来进行改善的. 本文主要针对这种情况进行仿真测试.
    2. 4  节点数量连续变化的情况本节实验按照表1所示的数据发送点数量连续变化的情况来进行网络参数的配置. 设定发送节点数量从1 ~ 5 0以1递增变化, 应用层数据包长从1 0 ~1 0 0B以1 0B递增变化, 数据包发送速率从0 . 1~1 p p s按0 . 1 p p s递增变化, 每次模拟4 0 s的发送情况. 将其所有情况的数据吞吐率集中在1张图中进行显示, 如图7所示. 从图中可以看出, 网络吞吐率随发送节点数的增加有明显的先增加后减少的趋势.为了更清晰地了解网络吞吐率随节点变化的规律, 我们需要对每对 P k t L e n g t h 和 R a t e 组合找到吞吐率峰值节点数. 如 P k t L e n g t h =5 0B , R a t e =0 . 5 p p s时, 对其进行随节点数量变化的吞吐率统计, 得到的结果如图8所示. 从图8能明显看出, 随节点数的增加, 网络吞吐率先迅速升高然后缓慢下降.改变 P k t L e n g t h 和 R a t e 的组合, 曲线大体走势类似, 只是在小数据包低速率时, 吞吐率峰值来得较晚, 而大数据包高速率时, 峰值来得较早. 可以推测,在吞吐率最高点以前, 发送节点相互之间干扰很小,节点能够充分地使用网络信道; 而在吞吐率达到最高点以后, 发送节点之间影响逐渐增大, 原本应该逐渐升高的吞吐率却因为干扰越来越严重而逐渐降低, 体现为系统通信过载.为了判断 P k t L e n g t h 和 R a t e 对网络性能的影响, 我们分别选取2个普通情况下的节点数:8和2 0 , 统计 P k t L e n g t h 和 R a t e 这2个参数对 T h r o u g h p u t的影响. 统计的结果如图9和图1 0所示:从图9 、 图1 0可以看出, 当节点数为8时, 吞吐率基本能与 P k t L e n g t h , R a t e 成正比增加, 扰动较小, 节点之间相互影响较小, 并且节点的吞吐率还没有达到饱和的情况. 这是因为所采用的 R a t e 比较小, 还不足以使接收节点的数据接收达到物理层的限制. 因此可以推断, 在不同的 P k t L e n g t h 和 R a t e组合下, 节点数8基本都在类似图8中吞吐率随节点数量变化的曲线峰值的左侧, 也就是节点一直没有达到饱和状态, 节点的通信属于未过载状态; 当节点数为2 0时, 曲线在小数据包低速率时正比增长较显著, 而在大数据包高速率时曲线的波动情况比较严重, 吞吐率提升减慢, 可推断出当节点数为2 0时,小数据包低速率对应吞吐率曲线的峰值左侧部分,此时网络通信未过载, 而大数据包高速率对应吞吐率曲线的右侧部分, 此时网络通信过载. 
因此, 在判断网络负载状态时, 不同通信情况对应的节点数、 发包速率以及包长等参数均不尽相同, 从而也能够说明选择吞吐率最高点作为分类标准是合理的.选择吞吐率作为网络通信负载状态的判别标准, 我们需要对每对 P k t L e n g t h 和 R a t e 组合找到吞吐率峰值节点数, 由于随机性导致的曲线相邻点起伏较大, 选出的峰值不具有代表性. 我们对每组数据都进行加权滑动平均, 在滑动平均后的数据中找出各峰值节点数. 如 P k t L e n g t h =5 0B , R a t e =0 . 5 p p s时, 加权滑动平均后不同节点数量的吞吐率曲线如图1 1所示:根据前面提到的内容, 我们的网络参数主要包括节点数量( N o d e s ) 、 数据包长(P k t L e n g t h ) 、 数据包发送速率(R a t e ) . 因为这些参数能够限定1个通信系统主动设置的通信状态参数, 即对应一定的T h r o u g h p u t 和 P R R , 而且3个参数之间是互相独立. 通过这3个参数对当前网络是否通信过载进行判断分类, 若在 P k t L e n g t h 和 R a t e 下的 N o d e s 小于峰值处节点数, 将其标记为未过载, 反之则将其标记为过载, 故我们的样本数据包括3个属性和1个标签, 标记结果如图1 2所示. 通过这些数据, 我们可以在其之上建立一定的分类识别模型, 并求得模型参数, 通过建立的模型能够在应用中随时判断网络节点所处的工作环境及状态, 为调整网络通信策略提供依据.
    3  网络通信负载状态的判别模型
根据第2节的结果, 我们能够得出在1个传感器网络的星型簇内数据采集节点向接收节点发送数据, 可以用网络的吞吐率来作为网络通信负载状态的判别依据. 将网络负载情况与节点数量、 节点发包速率以及发包长度之间的关系通过图1 2进行表示,我们能够观察到在图形左边的区域内网络的通信均为未达到饱和状态, 图形右边的区域内是网路通信出现过载的状态. 在本节中, 我们将根据网络运行状态参数, 对网络通信负载状况进行识别. 如果网络已进入通信过载状态, 说明网络中的节点数量已经较多, 密集程度较大, 或者节点的发包频率较高, 网络应该进行通信策略的调整.为了能够识别网络的通信负载状态, 我们采用数据挖掘中的分类方法来进行识别.
 数据挖掘中常用的分类方法 [9 - 1 0 ] 包括决策树、 朴素贝叶斯、 人工神经网络、k 近邻方法、 B a g g i n g 和 B o o s t i n g 方法、 支持向量机、 空间向量模型、 线性回归、 广义线性模型、对数线性回归、 泊松回归、 回归树、l o g i s t i c 回归等.其中, 决策树、 朴素贝叶斯、 人工神经网络等分类方法的测试集必须是训练集中已有的项目, 属性值应当是离散的, 或者能对连续属性进行区域划分离散化, 而我们的3个参数很难制定划分的标准, 因此这3 种分类方法不适合我们的要求; 空间向量模型更适合于专业文献的文本分类; 线性回归、 对数线性回归、l o g i s t i c回归等方法则是基本假定全体数据集满足线性或变种的线性分布, 在本节的数据中, 我们并没有获得类似的知识; 而支持向量机既可以作为线性分类模型, 也可以扩展为非线性分类模型, 它最大化决策边界的边缘, 分类结果具有全局最优性, 即使是小样本也可以获得较好的分类效果. 
    因此, 在本文中选用支持向量机分类方法对网络是否过载进行判别分类.支持向量机方法是V a p n i k等人在1 9 9 5年提出的一种监督式学习方法 [1 1 - 1 2 ] , 最初是对线性分类器提出的一种设计最佳准则, 后来扩展到线性不可分的情况, 甚至是扩展到非线性函数中. 支持向量机方法是在统计学习理论( V C维理论) 和结构风险最小原理基础上, 根据有限的样本信息在模型的复杂性( 即对特定训练样本的学习精度) 和学习能力( 即无错误地识别任意样本的能力) 之间寻求最佳折衷, 以求获得最好的推广能力 [1 3 ] .
支持向量机的主要思想包括2点:1 ) 对分类目标的线性可分性进行分析, 如果分类目标属于线性不可分, 则使用非线性映射算法, 将输入的低维线性不可分的样本转化到线性可分的高维特征空间, 在高维线性可分空间使用线性算法进行分析;2 ) S VM基于结构风险最小化理论, 在特征空间中构建最优分割超平面, 使学习器能够得到全局最优化, 并在整个样本空间的期望风险以某个概率满足一定上界.F i g . 1 3 T h e  h y p e r p l a n e  s c h e m a t i c  f o r  c l a s s i f i c a t i o n  a n dr e c o g n i t i o n .图1 3用于分类识别的超平面示意图根据图1 2 , 将所有网络的吞吐率达到饱和状态的点组成1个超平面, 这个超平面到其他所有点中最小的1个距离能够有最大值, 该值越大说明所找到的超平面越理想. 在本节中, 我们采用支持向量机的方法来识别这个超平面. 为方便说明, 仅考虑 N o d e s和 P k t L e n g t h 参数, 简化出较为直观的二维示意图, 如图1 3所示:图1 3中, 变量 x 代表网络通信状态参数, 它的2个分量 x1 和 x 2 轴分别代表: N o d e s 和 P k t L e n g t h .图中每个点代表1个通信状态, 使用二元组(x 1 , x 2 )表示, 例如图中点 A ( 4 0 , 5 0 ) 表示 A 状态的节点数为4 0 , 数据包长为5 0B ; 点B ( 1 0 , 2 0 ) 状态的节点数为1 0 , 数据包长为2 0B.f ( x ) =0代表分类超平面,为了识别出这个超平面, 即支持向量机中的分类函数, 我们可以将其表示为f ( x ) = wTx + b ,(1 )它由法向量 w 和截距 b 决定. 如果 f ( x ) =0 , 那么 x是位于超平面上的点. 设 y 为通信状态点是否过载的标记, 根据吞吐率标记样本点的通信过载状态选择超平面, 使位于超平面右上方的点 f ( x ) <0 , 如点A , 表示该状态下的信道通信过载, 对应 y为-1 ; 位于超平面左下方的点 f ( x ) >0 , 如点 B , 表示该状态下的信道通信未过载, 对应 y 为1. 对于点 x , 它到超平面的几何间隔为γ = wTx + bw= f (x )w.(2 )一般而言,1个点距离超平面的远近可以表示为分类的准确程度,f ( x ) >0的点离超平面 f ( x ) =0越远, 通信过载越严重, 分类越准确. 对于包含 n个点的通信状态样本集, 可以很自然地定义它们到超平面的距离为几何间隔最小的那个, 为了使分类的准确性高, 我们希望超平面的选择能够最大化这个距离值. 因此, 寻找通信饱和状态的超平面问题转化为1个最优化求解的问题, 目标函数定义为m a x ( γ~ ) ,s . t .y i ( wTx i + b )w≥ γ~ ,i =1 , 2 , 3 , …, n ,(3 )令 f ( x~ )=1 , 则上述目标函数转化为m a x1( )w, s . t . yi ( wTx i + b ) ≥1 ,i =1 , 2 , 3 , …, n ,(4 )通过求解这个问题, 就可以找到识别通信状态是否过载的分类器. 原问题可以转化为等价问题:m i n12w( )2, s . t . yi ( wTx i + b ) ≥1 ,i =1 , 2 , 3 , …, n .(5 )   通过添加拉格朗日乘值 a 和对偶问题转化, 以及求 w , b 偏导为0时 a 的极大, 可以求得通信负载状态的分类超平面, 得到 w =∑ni =1a i y i x i 及对应的分类函数:f ( x ) =∑ni =1a i y i x ( )iTx + b =∑ni =1a i y i 〈 x i , x 〉 + b .(6 )   通信参数可能是非线性数据, 将数据映射到新空间, 一般会增加计算复杂性, 有时会引发维数灾难. 通常的做法是应用核函数展开定理, 不需要写出非线性映射的显示表达式, 而只是在低维空间进行计算, 某种程度上避免了维数灾难, 式(6 ) 变成:f ( x ) = ∑ni =1a i y i κ ( x i , x ) + b ,(7 )其中,κ ( x i , x ) 为核函数, a 由如下对偶问题求得:m a xa∑ni =1a i -12 ∑ni , j =1a i a j y i y j κ ( x i , x j( )) ,s . t . a i≥0, i =1 ,2 , 3 , …, n ,∑ni =1a i y i =0.(8 )   在式( 5 ) 中, w 2为目标函数, 我们希望其越小越好, 因而损失就必然是1个能使之变大的量, 因此引入松弛变量 ζ 和惩罚因子 c :m i n12w 2+ c ∑li =1ζ( )i,s . t . y i ( wTx i + b ) ≥1- ζ i ,i =1 , 2 , 3 , …, n ,ζ ≥0.(9 )我们使用开源软件 L I B S VM 完成以上计算过程, 就可以得到能够分类通信负载状态的超平面, 将某个时刻的通信参数 X 代入分类函数, 计算 f ( X )的值, 根据其正负即可判断网络是否通信过载.
    4  实验测试结果
    我们在实验中采用 L I B S VM 进行S VM 分类,L I B S VM 是通用的 S VM 工具包[ 1 4 ] , 该工 具包提供线性、 多项式、 径向基、S形函数等常用核函数, 能够用来解决 C - S VM , V - S VM 等分类问题、ε - S VR ,V - S VR等回归问题和 o n e - c l a s s - S VM 等分布估计问题.实验测试中, L I B S VM 的使用经过如下步骤:1 )按工具包格式准备数据集.对L I B S VM 使用的训练集合准备测试集文件中的每行 1 条数据, 数据的格式为[l a b e l ] [ i d x 1 ] : [ v a l 1 ] [ i d x 2 ] : [ v a l 2 ] [ i d x 3 ] : [ v a l 3 ] …,其中,l a b e l 是分类集, 在本实验中就是分类的种类;信道过载用 -1 表示, 信道没有过载用 1 表示; i d x是从1 开 始 的 整 数 序 号,v a l 是 训 练 或 测 试 的 数据值.在本实验中, 我们仿真实验并记录了5  0 0 0条数据, 以其中的 3  7 5 0 条作为训练集, 其余 1  2 5 0条作为测试集. 表2表示1条满足格式要求的样例记录.2 )交叉验证选择最佳参数 c 和 g .在实验中, 参数 v ( c r o s s  v a l i d a t i o n ) 没有特殊要求, 一般设为5 , 表示采用5 - f o l d  c r o s s  v a l i d a t i o n将训练数据分成5组进行交叉比对, 获得最优的惩罚因子参数 c ( c o s t ) 和用于R B F核函数的 g (g a mm a) , 经过实验分析得到最佳 c为2 0 4 8 , g为0 . 0 0 7   8 1 2 5. 程序分析的结果如图1 4所示:3 )对训练集建立S VM 模型.根据交叉验证选择使用最佳参数 c 和 g 对训练集建立S VM 模型 .其中,v =5 , S VM 类型选择为默认的C - S V C , 核函数为默认的R B F核. 生成的S VM模型参数如表3所示. 得到 S VM 模型的所有参数即得到通信负载状态的分类函数.4 )对测试集进行判别 .我们在实验中测试了5   0 0 0组数据, 每2组之间的3个参数都不完全相同. 进行预处理后, 以3 7 5 0组作为训练集, 使用 L I B S VM 库建立基于 R B F 核函数的 S VM 模型, 建立的模型标签为 1 的支持向量有1 6 0个, 标签为-1的支持向量有1 5 5个,b 为0 . 0 0 7   8 1 2  5 , 以1  2 5 0组作为测试集进行分类判别,最后获得的分类准确率为9 1 . 2 8% ( 1   1 4 1 ? 1   2 5 0 ) .T a b l e  3 S VM M o d e l  P a r a m e t e r s  G e n e r a t e d  b y   t h e  E x p e r i m e n t表 3  实验生成的 S VM 模型参数P a r a m e t e r s   V a l u e E x p l a n t i o ns v m _ t y p e   C _ S V C   T h e  T y p e  o f  S VMk e r n e l _ t y p e   R B F   T h e  T y p e  o f  K e r n e lg   0. 0 0 7   8 1 2   5 T h e  V a l u e  o f γ i n  R B Fn r _ c l a s s   2 T h e  N u m b e r  o f  C a t e g o r i e st o t a l _ s v   3 1 5 T h e  N u m b e r  o f  S u p p o r t  V e c t o r sr h o   3. 0 1 8   8 2 T h e  B i a s  T e r ml a b e l   1 , -1 T h e  L a b e l  o f  C l a s s i f i c a t i o nn r _ s v   1 6 0 , 1 5 5T h e  N u m b e r  o f  S u p p o r t  V e c t o r so f  E a c h  C l a s s   综合上述实验数据, 我们在对网络信道吞吐率的容量负载情况的判别准确率可以达到9 1 . 2 8%.通过对网络信道吞吐率容量负载情况的判别, 可以得知网络是否处于过载的状态, 从而可以在网络进入过载状态时调整网络节点的通信方式, 使网络的性能得到保证. 这将在我们以后的研究中进行探讨.
    5  结    论
    在无线传感器网络进行数据通信的过程中, 当网络内节点数量较少、 节点发送数据包频度较低时,数据冲突较少, 可以接近网络物理信道负载容量的理想值; 而随着网络节点数量的增加, 节点发送数据包频度的增加, 网络节点产生较多的数据冲突, 网络传输性能受到严重影响. 如何判断网络数据传输的负载状态是本文需要解决的关键问题. 本文首先分析了星型网络拓扑结构中数据发送节点向接收节点发送数据包的网络吞吐率、 收包率与发送数据的节点数量、 发送数据包的频率、 数据包长之间的关系,分析的内容包括单点、 多点数据发送以及 1~5 0个节点连续数据发送的情况. 我们将网络的吞吐率作为衡量网络性能的主要指标, 作为网络负载状态判别的依据. 本文采用了数据挖掘中的支持向量机分类识别算法作为识别网络负载状态的方法, 建立了基于支持向量机的分类识别模型, 并根据实验数据获得模型的参数值. 实验分析的数据表明, 通过该模型参数对网络负载状态的识别可以达到9 1 . 2 8%.由于算法计算量较大, 本文采用集中式的计算方式. 在后续的工作中, 我们将继续研究如何实现轻量级的自适应判别算法, 如何在传感器网络节点上实现分类判别, 以及针对不同程度的负载状态如何对网络通信进行调整.
    参 考 文 献[ 1 ] C u i  L i , J u  H a i l i n g , M i a o  Y o n g , e t  a l .O v e r v i e w  o f  w i r e l e s ss e n s o r  n e t w o r k s [ J ] .J o u r n a l  o f  C o m p u t e r  R e s e a r c h  a n dD e v e l o p m e n t , 2 0 0 5 , 4 2 ( 1 ) : 1 6 3 - 1 7 4 ( i n  C h i n e s e )( 崔莉,鞠海玲,苗勇,等 . 无线传感器网络研究进展[ J ] . 计算机研究与发展, 2 0 0 5 , 4 2 ( 1 ) : 1 6 3 - 1 7 4 )[ 2 ] S h e u  J  P , H u W K.H y b r i d  c o n g e s t i o n  c o n t r o l  p r o t o c o l  i nw i r e l e s s  s e n s o r  n e t w o r k s [ C ] ? ? P r o c  o f  V e h i c u l a r  T e c h n o l o g yC o n f . P i s c a t a w a y , N J : I E E E , 2 0 0 8 : 2 1 3 - 2 1 7[ 3 ] R a h m a n  M O , M o n o w a r  M M , H o n g   C  S.A Q o S  a d a p t i v ec o n g e s t i o n  c o n t r o l  i n  w i r e l e s s  s e n s o r  n e t w o r k [ C ] ? ? P r o c  o ft h e  1 0 t h  I n t  C o n f  o n  A d v a n c e d  C o mm u n i c a t i o n  T e c h n o l o g y .P i s c a t a w a y , N J : I E E E , 2 0 0 8 : 9 4 1 - 9 4 6[ 4 ] S r i d e v i  S , U s h a  M , L i t h u r i n  G  P  A. P r i o r i t y   b a s e dc o n g e s t i o n  c o n t r o l  f o r  h e t e r o g e n e o u s  t r a f f i c  i n  m u l t i p a t hw i r e l e s s  s e n s o r  n e t w o r k s [ C ] ? ? P r o c  o f  2 0 1 2I n t  C o n f  o nC o m p u t e r  C o mm u n i c a t i o n  a n d  I n f o r m a t i c s . P i s c a t a w a y , N J :I E E E , 2 0 1 2 : 1 - 5[ 5 ] L i a n g   L , G a o  D , Q i n  Y , e t  a l . A n  a d a p t i v e  c o n g e s t i o n - a w a r eMA C  p r o t o c o l  f o r  w i r e l e s s  s e n s o r  n e t w o r k s [ C ] ? ? P r o c  o f  t h e3 r d  I E E E  I n t  C o n f  o n  B r o a d b a n d  N e t w o r k  a n d  M u l t i m e d i aT e c h n o l o g y . P i s c a t a w a y , N J : I E E E , 2 0 1 0 : 1 0 7 4 - 1 0 7 8[ 6 ] W a n  C  Y , E i s e n m a n  S  B , C a m p b e l l  A T. C O D A :C o n g e s t i o n  d e t e c t i o n  a n d  a v o i d a n c e  i n  s e n s o r  n e t w o r k s [ C ] ? ?P r o c  o f  t h e  1 s t  I n t  C o n f  o n  E m b e d d e d  N e t w o r k e d  S e n s o rS y s t e m s .N e w Y o r k : A CM , 2 0 0 3 : 2 6 6 - 2 7 9[ 7 ] T a o  L  Q , Y u  F  Q. E C O D A : E n h a n c e d  c o n g e s t i o n  d e t e c t i o na n d  a v o i d a n c e  f o r  m u l t i p l e  c l a s s  o f  t r a f f i c  i n  s e n s o r  n e t w o r k s[ J ] . I E E E  T r a n s  o n  C o n s u m e r  E l e c t r o n i c s , 2 0 1 0 , 5 6 ( 3 ) :1 3 8 7 - 1 3 9 4[ 8 ] T h e  N e t w o r k  S i m u l a t o r - n s - 2 [ E B - O L ] . [ 2 0 1 3 - 0 3 - 0 8 ] .h t t p :? ? www. i s i . e d u ? n s n a m ? n s[ 9 ] M i t c h e l l  T M.M a c h i n e  L e a r n i n g [ M ] .N e w Y o r k : M c G r a wH i l l , 1 9 9 7[ 1 0 ] T a n  P  N , S t e i n b a c h  M , K u m a r  V.I n t r o d u c t i o n  t o  D a t aM i n i n g [ M ] . R e a d i n g , MA : A d d i s o n - W e s l e y , 2 0 0 7[ 1 1 ] C r i s t i a n i n i  N , S h a w e - T a y l o r  J .A n  I n t r o d u c t i o n  t o  S u p p o r tV e c t o r  M a c h i n e s  a n d  O t h e r  K e r n e l - B a s e d  L e a r n i n g   M e t h o d s[ M ] . O x f o r d  C i t y : C a m b r i d g e  U n i v e r s i t y   P r e s s , 2 0 0 0[ 1 2 ] S u p p o r t  v e c t o r  m a c h i n e [ E B - O L ] . ( 2 0 1 3 - 0 3 - 0 6 ) [ 2 0 1 3 - 0 3 -1 3 ] . h t t p s : ? ? e n. w i k i p e d i a . o r g ? w i k i ? S u p p o r t _ v e c t o r _ m a c h i n e[ 1 3 ] S VM [ E B - O L ] . [ 2 0 1 3 - 0 3 - 1 4 ] . h t t p :? ? b a i k e . b a i d u. c o m. c n ?v i e w ? 9 6 0 5 0 9. h t m[ 1 4 ] C h a n g   C  C , L i n  C  J .L I B S VM [ E B ? O L ] . [ 2 0 1 3 - 0 3 - 1 4 ] .h t t p : ? ? www. c s i e . n t u. e d u. t w ? ~c j l i n ? l i b s v m
 
[返回]
上一篇:基于特征子集区分度与支持向量机的特征选择算法
下一篇:迁移组概率学习机