欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2015100783326
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于改进PSO-BP神经网络的数据预测方法,其特征在于:该方法包括如下步骤:

1)、BP神经网络模型构建,过程如下:

(1.1)输入层和输出层节点数确定

神经网络模型用公式描述为:

Tout=f(Tin1,Tin2,…,Tinn) (1)式中:Tout是神经网络需要预测的数据值,Tin1~Tinn分别是神经网络输入层输入的n个数据值;

(1.2)隐层节点数确定

BP神经网络隐层层数采用1层,在隐层节点的选择上使用公式(2)来确定:式中:n为输入层节点数,q为输出层节点数,a为1~10之间的常数;

BP神经网络模型的基本结构公式:

Y=Sigmoid[W2*Sigmoid(W1*X-O1)-O2] (3)式中:X为BP神经网络输入矩阵;Y为BP神经网络输出矩阵;W1,W2分别为BP神经网络中输入层到隐层、隐层到输出层的连接权值矩阵;O1,O2为BP神经网络中输入层到隐层、隐层到输出层的阈值矩阵,激励函数Sigmoid为

2)、采用改进粒子群算法优化BP神经网络模型构建,过程如下:(2.1)粒子群算法粒子速度改进

粒子速度调整公式为:

式中: 为当前需要速度调整粒子的第k代位置矢量;c1、c2、c3为学习因子;r1、r2、r3为[0,1]之间的随机数;

(2.2)粒子群算法粒子惯性权重改进

惯性权重w是用来调整粒子前一次的速度对当前速度的影响程度,通过二次函数拟合推导,提出如下权值调整公式:式中:wmax为初始惯性权重,wmin为最终惯性权重,kmax为最大迭代次数,k为当前迭代次数;

(2.3)确定粒子群算法中粒子维数

根据已确定的BP神经网络预测模型,确定BP神经网络中连接权值和阈值总数,连接权值和阈值总数公式:d=np+pq+p+q (6)

式中:d为连接权值和阈值总数,n为输入层节点数,p为隐层节点数,q为输出层节点数;

(2.4)改进粒子群算法优化BP神经网络实现通过对粒子速度和位置调整使得BP神经网络的连接权值和阈值不断更新换代,使得BP神经网络总误差小于设定值或者达到迭代次数,过程如下:(2.4.1)根据BP神经网络的阈值、权值来确定粒子维数,并产生初始粒子群;

(2.4.2)通过适应度函数 计算适应值f,根据适应值f小于设定值或达到迭代次数为原则,评价每一代粒子群中的所有个体,并从中找到当前最优位置pi,再与已获得的最优位置pg进行比较生成新的pg,经过多次迭代,直到找到全局最优位置pg;

(2.4.3)依据pg确定BP神经网络的初始连接权值和阈值;

(2.4.4)训练BP神经网络,得到最终的BP神经网络预测模型;

(2.4.5)训练结束;

3)、数据预测模块生成及应用

使用MATLAB7.1实现(2.4)的设计流程,得到最终的BP神经网络预测模型,选用MATLAB7.1和VC6作为开发工具将预测模型转换成DLL文件;按步骤分别在MATLAB中进行mex–setup,mbuild–setup操作,设置好编译器;在设置完参数之后,命令行中输入mcc–W cpplib:shujuyuce–T link:lib shujuyuce.m生成DLL文件;生成的DLL文件由编程软件调用,将预测数据与采集数据进行对比,以实际采集数据为准,计算预测数据与采集数据之差是否大于设定阈值,若大于设定阈值则视为数据“坏点”。