BP神经网络实例及代码分析(python+tensorflow实现)

该博客介绍了如何运用BP神经网络预测山东某地区2016年4月份的历史温度数据。通过定义三层神经网络,初始化权值和阈值,对3-7-1结构进行训练,并利用Python和TensorFlow框架处理数据,包括数据归一化、模型训练和测试。最终,博主展示了如何利用训练好的模型预测未来温度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码功能:对山东某地区历史温度数据进行BP神经网络训练,通过前三小时温度数据,预测第四小时温度值。

数据来源:2016年4月份山东某地区温度数据,共30*24小时。1日到20日(20*24小时)数据为训练数据集,21到30日(10*24小时)数据为测试数据集。

1.定义神经网络结构及参数

选用典型的三层神经网路(输入层+一层隐含层+输出层),节点数设置为3-7-1,详细参数见程序:

d=3#输入节点个数
l=1#输出节点个数
q=2*d+1#隐层个数,采用经验公式2d+1
train_num=480#训练数据个数
test_num=240#测试数据个数
eta=0.5#学习率
error=0.002#精度

2.初始化权值和阈值

输入层到隐含层的权值为w1,矩阵大小为d*q;隐含层到输出层的权值为w2,矩阵大小为q*l;隐含层阈值为b1,输出层阈值为b2。

w1= tf.Variable(tf.random_normal([d, q], stddev=1, seed=1))#seed设定随机种子,保证每次初始化相同数据
b1=tf.Variable(tf.constant(0.0,shape=[q]))
w2= tf.Variable(tf.random_normal([q, l], stddev=1, seed=1))
b2=tf.Variable(tf.constant(0.0,shape=[l]))

3.构建图

#输入占位
x = tf.placeholder(tf.float32, shape=(None, d))
y_= tf.placeholder(tf.float32, shape=(None, l))

#构建图:前向传播
a=tf
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值