Tensorflow学习之神经网络优化

本文深入探讨了Tensorflow中的神经网络优化,包括损失函数、学习率、滑动平均和正则化。通过实例展示了如何使用不同的损失函数,如均方误差和自定义损失函数,以及如何利用交叉熵进行分类。学习率的概念和指数衰减学习率的实现被详细解释,同时阐述了滑动平均在提升模型泛化能力中的作用。最后,正则化作为防止过拟合的手段,其应用和效果进行了分析。
摘要由CSDN通过智能技术生成

一、损失函数

神经元模型:用数学公式表示为:,f为激活函数,神经网络是以神经元为基本单元构成的。

激活函数:引入非线性激活因素,提高模型的表达力

常用的激活函数有relu、sigmoid、tanh等。

神经网络的复杂度:可用神经网络的层数和神经网络中待优化的参数个数来表示

神经网络的层数:一般不计入输入层,层数= n 个隐藏层 + 1 个输出层

神经网络待优化参数:神经网络中所有参数 w 的个数 + 所有参数 b 的个数

损失函数(loss):用来表示预测值(y)与已知答案(y_)的差距。在训练神经网络时,通过不断改变神经网络中的所有参数,使损失函数不断减小,从而训练出更高准确率的神经网络模型。

常用的损失函数有均方误差、自定义和交叉熵等

由代码及其结果可以看出,本例中神经网络预测模型为 y = w1*x1 + w2*x2,损失函数采用均方误差。通过损失函数值(loss)不断降低,神经网络模型得到最终参数 w1 = 0.98, w2 = 1.02,销量预测结果为 y = 0.98*x1 + 1.02*x2。由于在生成数据集时,标准答案为y = x1 + x2,因此销量预测结果和标准答案非常接近,说明该神经网络预测酸奶日销量正常。

自定义损失函数:根据问题的实际情况,定制合理的损失函数。

这段代码只是在上段代码中间改动了损失函数的定义方法,得出来的最终参数为 w1=1.02,w2=1.04,销量预测结果为 y=1.02*x1+1.04*x2。由此可见,采用自定义损失函数预测的结果大于采用均方误差预测的结果,更符合实际需求。如果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值