1.代价函数
1.1 代价函数:任何可以衡量模型预测结果值与其真实值之间差异的函数,如果存在多个样本,代价函数统计结果应该为所有样本的差异之和;
1.2 代价函数即模型误差,是反向传播中求梯度的基础,同时也是模型最终达到期望效果的衡量指标;
1.3 主要的代价函数
a. 二次代价函数(均方误差)
当A,B预测值是0.82,0.98,对应真实值为1时,A的梯度大,B的梯度小,合理;
当A,B预测值是0.82,0.98,对应真实值为0时,A的梯度大,B的梯度小,不合理;
b. 交叉熵代价函数
在该梯度传播过程中,梯度的变化与当前的预测误差成正比,符合梯度传播的目标;
注:对于神经元为S型函数,比较适合交叉熵代价函数;
c. 对数似然函数
表达式:
当K=2时,此时对数似然函数退化为交叉熵待见函数;
对数似然函数常用来作为softmax回归的代价函数,等同于交叉熵应用于sigmoid。在深度学习中,将softmax作为最后一层,代价函数为对数似然。应用tensorflow,将经过softmax得出的输出分类概率,再求交叉熵:
# 在手写数字识别中
# 对于出现概率最大的数字与真实值之间求softmax分类概率,对分类概率求交叉熵,最后求其平均值
ce = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y,labels=tf.arg_max(y_predict,1)))
1.4 常见模型的代价函数
a. 逻辑回归 :交叉熵
b. 线性回归:均方误差
c. 多分类问题(softmax):对数似然