当前位置:首页 期刊杂志

基于BP神经网络的智能认知频谱预测技术研究

时间:2024-05-22

迟文升,袁 亶,肖宗豪

(1.空军工程大学 装备管理与无人机工程学院,陕西 西安 710051;2.西安电子科技大学 机电工程学院,陕西 西安 710071;3.空军工程大学 研究生学院,陕西 西安 710051)

0 引言

随着技术的发展,无线电通信得以快速发展,然而由于频谱的不可再生性,导致无线电频谱越来越密集,通信资源也变得异常稀缺。为充分合理利用无线电频谱资源,频谱预测技术成为研究的热点。

频谱预测技术[1-3]是通过检测过去一段时间内频谱的使用情况来预测未来一段时间可能存在的空闲频谱和其所处的位置并对其进行利用。

现有频谱预测主要包括自回归频谱预测[4-5]、机器学习[6-8]、神经网络频谱预测[9-11]和马尔可夫模型频谱预测[12-14]。基于神经网络和基于马尔可夫的预测较准确,但收敛时间长,时效性差[15]。相较于其他频谱预测方法,神经网络可消除对参数设置和概率计算的需求[16],可利用构建的模型提前满足预定性能指标提高频谱效率和节约能源。

在利用认知无线电信道状况预测时,需提前知道授权的信道状态的各项特征,而在实际操作过程中,这是难以做到的。频谱预测技术能够使频谱接入更为有效,并增强在时域和空间域的频谱利用灵活性,通过研究频谱感知的结果来对接下来的时间段内的频谱利用情况进行一个预测,据此采用能够被使用的信道或停止对授权用户将要占用的信道的使用,这样就可以避免各用户之间发生冲突同时频谱的利用效率得以提高。频谱预测技术是通过检测过去一段时间内频谱的使用情况来预测未来一段时间可能存在的空闲频谱和其所处的位置并对其进行利用。探索基于BP神经网络的智能认知频谱预测技术是非常有益的。

BP(Back Propagation)神经网络[17-18]由 Rumelhart和McCelland为首的科学家小组在1986年提出,是一种按照误差反向传播算法来进行训练的多层前馈网络,也是当下被普遍使用的ANN模型之一。BP神经网络可以学习并存储大量的输入与输出之间存在的某种特定关系,而且不需提前预知描述此种关系的方程式。其采取最速下降法进行学习,由此通过反馈来不断地对整个网络的权值和阈值进行协调优化,最终使误差达到最小。BP神经网络模型由输入层(input layer)、隐含层(hide layer)和输出层(output layer)三个主要部分共同组成[19]。

BP是反向传递的意思。根据其定义“按误差反向传递算法训练的多层前馈网络”[20],可以对BP神经网络有个初步的了解:需要被传递的介质是误差,反向即通过后面层级的误差来推出前面层级的误差,整个传递是为了得到全部层级的估计误差。所以其基本思想就是,根据求得的输出与期望输出进行对比,从而获得后面层级的误差,再由此推出前面层级的误差,就这样经过多次反向传递便得到全部层级的误差。

图1所示为其仅含3层基本层级的简单拓扑结构。

图1 简单的3层拓扑结构

1 BP神经网络的频谱预测算法

BP神经网络可以学习并存储大量的输入与输出之间存在的某种特定关系,而且不需要提前知道描述其中存在的此种关系的方程式。整个网络通过激活函数来反映输入与输出两者存在的关系,以此来模拟各神经元之间的相互作用。激活函数需要满足处处可导的条件,常用Sigmoid函数作为激活函数,如图2所示。

其输入为:

式中,xi为输入信号,wi为第i输入信号的权值。

Sigmoid函数输出为:

对激活函数求导:

图2 S型激活函数

ANN学习的目的是通过对一个模型系统的学习,针对输入可以得到一个期望的输出;学习是通过针对一个输入向量来持续调整优化各神经元的连接权值的方式进行的;学习在本质上是为了对权值进行实时优化;学习的重点就是各神经元间连接权值的优化机制。

在对一个BP神经网络模型进行训练时,得需要一个训练集,其中包含输入和期望得到的输出,这样就可以得到一个此模型针对于此训练集的误差,然后,通过隐含层将此误差以一种特定形式一直反向传递到输入向量。此种特定形式如图3所示。

图3 传递的特定形式

也就是一种 “信号的正向传递-误差的反向传递”的过程,如图4所示。

图4 传递的过程

对于一个BP神经网络,先定义它的变量:

(1)输入向量:x=(x1,x2,…,xn);

(2)隐含层输入向量:hi=(hi1,hi2,…,hin);

(3)隐含层输出向量:ho=(ho1,ho2,…,hon);

(4)输出层输入向量:yi=(yi1,yi2,…,yin);

(5)输出层输出向量:yo=(yo1,yo2,…,yon);

(6)期望输出向量:do=(d1,d2,…,dn);

(7)输入层与中间层的连接权值:wih;

(8)隐含层与输出层的连接权值:who;

(9)隐含层各神经元的阈值:bh;

(10)输出层各神经元的阈值:bo;

(11)样本数据个数:k=1,2,…,m;

(12)激活函数:f(·);

(13)误差函数:

网络初始化:

用一个在(-1,1)区间范围内的随机数作为各神经元连接权值的初始值,设定网路各项参数,包括:最大训练次数M、学习函数e、训练的目标精确度ε。

选取第训练集中的第k个输入向量和与之相匹配的期望输出:

求出隐含层的各神经元的输入和输出:

根据所求到的输出与网络的期望输出,求出误差函数对输出层各神经元的偏数:

通过输出层各神经元的偏导数δo(k)和隐含层各神经元的输出对各神经元的连接权值who(k)进行相应的调整优化:

通过隐含层各神经元的偏导数δo(k)和输入层各神经元的输入对各神经元的连接权值wih(k)进行相应的调整优化:

计算全局误差:

通过对比看整个过程是否达到要求,若误差和学习次数都已达标就可以结束此算法了。

2 基于BP神经网络的频谱预测算法模型

2.1 建立BP神经网络的频谱预测算法模型及进行网络训练

如图5所示,建立基于BP神经网络的频谱预测算法模型主要有以下几个步骤:

首先,对BP神经网络系统模型参数(包括网络层数、各神经元个数、各训练参数等)进行设计。设定输入层的神经元个数为4,表示前4个时刻历史状态数据;设定输出层神经元个数为1。通常情况下,单个隐含层就可以实现任意维度的非线性映射关系,因此通常使用单层隐含层的网络系统模型,并且隐含层的节点个数选择为20个。设定最大训练次数为1 000,设定学习率为0.01,设定训练的目标精确度为0.000 1。

图5 建立的神经网络模型

在此,生成 500个仅含“0”和“1”的序列作为信道状态数据,其中,“1”代表占用状态,“0”代表占空状态。将前250个数据作为神经网络预测模型的训练数据,后250个数据作为预测验证数据。此数据集虽不能完全代表真实的频谱状态,但神经网络具有很强的学习和拟合能力,所以可以利用此数据集进行对预测模型的验证。

选取250个数据作为认知无线电信道状态预测模型的训练数据,将其中的前200个数据作为训练输入数据(即input_train),其中的后50个数据作为训练输出数据(即output_train)。BP神经网络的学习属于有监督学习,通过已知数据和对应的目标输出来进行网络训练,训练时使用随机值作为初始权值,输入学习样本得到网络的最优输出模型,然后使用最速下降法来调整网络各层权值,再由误差逐层逆向自适应修改各层网络之间权值使误差不断减小,直至网络收敛为止。

图6所示为BP神经网络预测模型在进行训练时的实际预测输出与期望输出的MATLAB仿真结果图,从图中可以看到训练过程中,其实际值与期望值的差距还是比较大的,有时候预测值甚至刚好与期望值相反,但是经过一定的训练之后,其预测准确度就会有所上升。

图6 BP网络训练时的预测输出与期望输出

2.2 利用BP神经网络的频谱预测算法模型进行预测

选取250个数据作为认知无线电信道状态预测模型的测试数据,将其中的前200个数据作为测试输入数据(即 input_test),其中的后 50个数据作为训练输出数据(即 output_test)。

如图7所示,BP神经网络预测模型预测结果与期望值大多数一致,有一小部分偏离样本值范围较小,有极个别结果与期望值偏差较大。如图8所示,BP神经网络预测误差在5个样本点上误差较大,在±1以内;小部分样本值误差范围较小,在±0.2以内;其余样本预测误差准确度较高。因此,经过训练之后,BP神经网络预测模型已经比较准确了。

3 结论

本文分析了BP神经网络过程的基本学习过程及其优势对比,然后对BP神经网络的频谱预测算法进行数学建模。通过对一段时期内电磁频谱状态进行学习训练,算法模型建立初步的输入数据与输出结果之间的特定关系,然后通过改变BP神经网络算法自身的结构,优化权值与阈值,通过仿真得到频谱预测数据准确性更接近于实际值,预测误差较小。实验证明,上述方法可以使通信用户频谱接入更为有效,增强了在时域和空间域的频谱利用灵活性。

图7 BP神经网络预测模型预测结果与期望值

图8 BP神经网络预测误差

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!