Tensorflow学习教程——代价函数

二次成本函数(成本):

其中,C代表代价函数,x代表样本,y代表实际值,a代表输出值,n代表样本总数。为简单起见,以一个样本为例进行说明,二次代价函数为:

如果我们使用梯度下降法 ( ) 来调整权重参数的大小,那么权重 w 和偏置 b 的梯度推导如下:

其中,z代表神经元的输入,σ代表激活函数。w 和 b 的梯度与激活函数的梯度成正比。激活函数的梯度越大,w和b的大小调整得越快,训练收敛的速度也越快。假设我们的激活函数是函数:

假设我们的目标是收敛到 1.0。1点是0.82离目标较远,梯度比较大,权重调整比较大。2分是0.98比较接近目标,梯度比较小,权重调整比较小。调整方案合理。

如果我们的目标是收敛到0。1点是0.82的目标比较接近,梯度比较大,权重调整比较大。2个点是0.98离目标比较远,梯度比较小,权重调整比较小。调整计划不合理。

交叉熵成本函数(cross-):

换一种思路,我们不改变激活函数,而是改变代价函数,改用交叉熵代价函数:

其中,C代表代价函数,x代表样本,y代表实际值,a代表输出值,n代表样本总数。

权重和偏差的调整同上

此外,在梯度公式中不相关

表示输出值与实际值之间的误差。所以误差越大,梯度越大,参数w和b的调整越快,训练速度越快。如果输出神经元是线性的,那么二次成本函数是一个合适的选择。如果输出神经元是函数,那么更适合使用交叉熵代价函数。

对数救济成本函数(log-cost):

对数浮雕函数常作为回归的代价函数,然后输出层的神经元为函数,可以使用交叉熵代价函数。深度学习中比较常见的做法是把它作为最后一层,此时常用的代价函数就是对数浮雕代价函数。

对数似然成本函数和交叉熵的组合与函数的组合非常相似。对数浮雕成本函数可以简化为二进制分类中的交叉熵成本函数的形式。

用于:

tf.nn.() 来表示与它一起使用的交叉熵。

tf.nn.() 来表示与它一起使用的交叉熵。

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容