常见的代价函数

1. .二次代价函数(quadratic cost) 均方误差

代价函数 =   (实际值-输出值)的平方/2n

m:训练样本的个数;

hθ(x):用参数θ和x预测出来的y值;

y:原训练样本中的y值,也就是标准答案

上角标(i):第i个样本

 

2.交叉熵代价函数(cross-entropy)


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

当误差越大时,梯度就越大,参数w和b的调整就越快,训练的速度也就越快。

如果输出神经元是线性的,那么二次代价函数就是一种合适的选择。

如果输出神经元是S型函数,那么比较适合用交叉熵代价函数。

我们希望 log P(y|x) 越大越好,反过来,只要 log P(y|x) 的负值 -log P(y|x) 越小就行了

TensorFlow中:

tf.nn.sigmoid_cross_entropy_with_logits()#来表示跟sigmoid搭配使用的交叉熵。
           tf.nn.softmax_cross_entropy_with_logits()#来表示跟softmax搭配使用的交叉熵。

 

 

reference:
https://www.jianshu.com/p/b07f4cd32ba6 

你可能感兴趣的:(深度学习500问)