loss 曲线 神经网络_tensorflow(2):神经网络优化(loss,learning_rate)

案例: 预测酸奶的日销量, 由此可以准备产量, 使得损失小(利润大),假设销量是y , 影响销量的有两个因素x1, x2,

需要预先采集数据,每日的x1,x2和销量y_, 拟造数据集X,Y_, 假设y_=x1+x2,为了更真实加一个噪声(-0.05-0.05)

batch_size=8 #一次喂给神经网络多少数据

seed=23455

#构造数据集

rdm=np.random.RandomState(seed) #基于seed产生随机数

X=rdm.rand(32,2) #32组数据

Y_=[[x1+x2+(rdm.rand()/10.0-0.05)] for (x1,x2) in X] #rdm.rand()/10.0 是(0,1)随机数

print('X:\n',X)print('Y_:\n',Y_)#定义神经网络的输入 参数 输出 定义前向传播过程

x=tf.placeholder(tf.float32,shape=(None,2))

y_=tf.placeholder(tf.float32,shape=(None,1)) #合格或者不合格的特征

w1=tf.Variable(tf.random_normal([2,1],stddev=1,seed=1))

y=tf.matmul(x,w1)#定义损失函数 后向传播方法

loss_mse=tf.reduce_mean(tf.square(y_-y))

train_step=tf.train.GradientDescentOptimizer(0.001).minimize(loss_mse)#train_step=tf.train.MomentumOptimizer(0.001,0.9).minimize(loss) #其他方法#train_step=tf.train.AdamOptimizer(0.001).minimize(loss)

#生成会话 训练

with tf.Session() as sess: #用会话计算结果

init_op=tf.global_variables_initializer()

sess.run(init_op)print('w1:\n', sess.run(w1)) #输出目前(未经训练的)参数取值#训练模型

steps=20000 #训练20000次

for i inrange(steps):

start

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值