机器学习在无线传感器网络中具体的应用

1、分簇算法(LEACH)
1.1 无线传感器网络中节点间数据传输的能量消耗模型:

发送: ETx(L,d)=L(Eelec+amp),
接收: ERx(L)=L(Eelec+EDA)

L 为传输的数据长度(单位:bit)
d 为两个节点间的距离
Eelec 为每比特数据传输所耗能量
EDA 为数据聚合压缩所耗能量

amp 为功率放大器的能量消耗,有

amp={fsd2,mpd4,when dd0when d>d0

fs mp 是不同通信方式的能量参数
d0 是区分两种通信方式的阈值。

2、结合ML(k-means分簇算法)
2.1 k-means算法: 将给定的样本集D = {x1,x2,…,xm} 划分为 k 个簇 C = {C1,C2,…,Ck} ,随机选k个初始均值向量,然后求各样本到均值向量的距离,根据最近的距离确定样本应分为哪个簇,分好后重新计算新簇的均值向量,重复上述步骤进行迭代,最终收敛的结果是均值向量不再发生变化,也就是样本的分簇结果不再发生变化。
2.2 在无线传感器网络(WSNs)中,分簇可以使得节点通信的能耗降低从而提高整个网络的生存周期。对于一个无线传感器节点来说,它一方面有监测数据的任务,另一方面还要与其他节点进行数据交互。每一个节点监测数据所消耗的能量可以认为是相同,我们想要减少能量消耗显然可以在数据交互这一块进行。根据无线传感器节点间的数据传输能耗模型,节点的能耗对于距离是非常敏感的,所以我们可以尽可能的减小网络总体的通信距离来减小通信产生的能量消耗。根据WSNs拓扑结构的特点我们可以结合k-means算法对节点进行分簇,分类属性为二维空间坐标。
2.3 SECA算法
主要思想是使用 k_means算法对节点分簇达到最小化通信能耗的目标。
具体见另一篇文章:无线传感器网络SECA 算法

你可能感兴趣的:(WSNs)