Tensorflow(二):神经网络优化

上一博客是神经网络的四大步骤:

神经网络的实现过程:
1、准备数据集,提取特征,作为输入喂给神经网络(Neural Network,NN)
2、搭建NN结构,从输入到输出(先搭建计算图,再用会话执行)
3、大量特征数据喂给NN,迭代优化NN参数
4、使用训练好的模型预测和分类
但是在神经网络中,也会有很多可以优化的地方
1、损失函数
上一次损失函数是按照均方的方式计算的,但是在处理很多现实问题时,我们可能会定义更符合自身需要的损失函数。比如利润最大化等。
同时也可以使用 交叉熵来替代平方差来评判所得结果与真实结果的相似性。
交叉熵的公式是 ,他的涵义我的大致理解是现有策略和最优策略的差别。据我了解,交叉熵是信息论的概念,是衡量信息量的一个量化函数,经常被用来表示两个函数、信号等之间的相似度,交叉熵越小也就越相近。
利用交叉熵的概念,可以再tensorflow里面利用下面两行代码来表示。
ce = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))
cem = tf.reduce_mean(ce)
(softmax函数是为了满足输出的y1至yn转化成满足相加和为1的概率分布的函数,经转换后,可以把y1-yn看成n个事件的概率,从而计算交叉熵)
2、学习率
learning_rate是参数每次更新的幅度,上一博客中学习率我们固定了一个比较小的值,这样可以避免因为更新幅度过大,从而导致w越过最优点从而不断振荡,无法收敛,但是学习率过小就会产生收敛太慢的问题。
所以最好的学习率应该先大后小,这样可以避免学习率过大,也可以加快收敛速度。指数衰减学习率:学习率随着训练轮数变化而动态更新。公式:
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值