1.一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,包括以下步骤:S1、锚节点向网络中的节点广播自身的锚节点信息,节点收集所有锚节点信息,所述节点包括未知节点和锚节点;
S2、锚节点将自身收集到的锚节点信息分别构建跳数向量和距离向量,并将所述跳数向量和距离向量发送到选定的sink节点,所述sink节点为网络中计算资源最强的锚节点;
S3、sink节点将接收到的跳数向量和距离向量作为训练数据训练堆栈自编码器得到距离估计模型,并将所述距离估计模型发送给网络中的未知节点;
S4、未知节点将收集到的锚节点信息输入到距离估计模型中,距离估计模型的输出为未知节点到达锚节点的距离估计向量;
S5、未知节点根据所述距离估计向量构建目标函数,将目标函数的最小值对应的解作为自身坐标。
2.根据权利要求1所述的一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,所述锚节点信息具体为包含锚节点的ID信息、位置信息和跳数信息的message数据包。
3.根据权利要求2所述的一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,所述节点收集所有锚节点信息还包括:S11、节点在内存中建立并维护一个锚节点信息表AT,用于保存收集到的锚节点信息;
S12、节点接收到锚节点发送的锚节点信息后,检查该锚节点信息中的ID信息是否存储于所述节点所维护的锚节点信息表AT中并完成message数据包的转发。
4.根据权利要求3所述的一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,所述锚节点将自身收集到的锚节点信息分别构建跳数向量和距离向量的构建方式具体为:所述网络中存在Na个锚节点,锚节点的ID信息为1~Na,跳数向量和距离向量的维度均为Na,则锚节点i的跳数向量为 距离向量为其中锚节点i的跳数向量hi为从其锚节点信息表AT中获得的跳数信息,每个元素表示锚节点i到ID信息对应的锚节点的最小跳数;距离向量di表示锚节点i与ID信息为1~Na的锚节点之间的欧式距离,根据锚节点信息表AT中保存的锚节点的位置信息由公式计得,其中xi为锚节点i位置信息中的横坐标,yi为锚节点i位置信息中的纵坐标,xj为锚节点j位置信息中的横坐标,yj为锚节点j位置信息中的纵坐标。
5.根据权利要求1所述的一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,所述sink节点自身收集网络中的锚节点信息,并根据锚节点信息分别构建跳数向量和距离向量。
6.根据权利要求5所述的一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,所述sink节点量接收到的跳数向量和距离向量作为训练数据训练堆栈自编码器的具体步骤为:S31、将自身构建的跳数向量和接收到的跳数向量形成跳数矩阵,将自身构建的距离向量和接收到的距离向量形成距离矩阵;
S32、以跳数矩阵为训练数据训练堆栈自编码器的第一个自编码器,根据第一个自编码器的输出采用梯度下降法获得第一编码权值和第一编码偏置;
S33、根据公式P=f(W1·H+b1)获得第二个自编码器的训练数据P并训练堆栈自编码器的第二个自编码器,根据第二个自编码器的输出采用梯度下降法获得第二编码权值和第二编码偏置,其中W1为第一编码权值,H为跳数矩阵,b1为第一编码偏置;
S34、在堆栈自编码器上添加一个线性预测层,以跳数矩阵和距离矩阵为训练数据进行有监督训练,通过反向传播和梯度下降法获得线性预测层的权值矩阵、偏置向量和距离估计模型。
7.根据权利要求2所述的一种基于堆栈自编码器的无线网络传感器非测距定位方法,其特征在于,所述未知节点将收集到的锚节点信息输入到距离估计模型中,距离估计模型的输出为未知节点到达锚节点的距离估计向量具体为:未知节点将收集到的每个锚节点的跳数信息构建跳数向量并将跳数向量输入到距离估计模型中,距离估计模型的输出向量即为未知节点到达每个锚节点的距离估计向量。
8.根据权利要求7所述的一种基于堆栈自编码器的无线网络传感器非测距定位方法,其特征在于,所述未知节点根据所述距离估计向量构建目标函数,将目标函数的最小值对应的解作为自身坐标具体为:未知节点k根据获得距离估计向量 构建目标函数为ek的最小值所对应的解 即作为未知节点的估计坐标,其中(xi,yi)为锚节点i的位置信息, hk表示将未知节
点k收集的锚节点数据并建构的跳数向量, 表示将跳数向量hk输入距离估计模型得到的距离估计向量, 表示锚节点i在未知节点k坐标计算过程中的权重,其中hki表示未知节点k收集的锚节点i的跳数信息,max(hk)表示未知节点k跳数向量的最大跳数。
9.根据权利要求3所述的一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,所述节点接收到锚节点发送的锚节点信息后,检查该锚节点信息中的ID信息是否存储于其所维护的锚节点信息表AT中并完成message数据包的转发具体包括以下判断步骤:S121、节点判断所述message数据包中的ID信息是否存在于该节点所维护的锚节点信息表AT中,存在则执行步骤S122,不存在则将所述message数据包中的ID信息、位置信息和跳数信息保存到其锚节点信息表AT中并执行步骤S123;
S122、节点判断所述message数据包中的跳数信息是否小于锚节点信息表中对应于该ID信息的message数据包中的跳数信息,是则更新锚节点信息表中对应于该ID信息的message数据包中的跳数信息,并执行步骤S123,否则执行步骤S124;
S123、节点将所述message数据包中的跳数信息加一后转发给该节点的邻居节点,当节点接收到所有锚节点发送的message数据包后,结束message数据包的转发;
S124、节点将所述message数据包丢弃。
10.根据权利要求3所述的一种基于堆栈自编码器的无线传感器网络非测距定位方法,其特征在于,所述锚节点信息表AT的长度等于网络中锚节点的数量。