损失函数概述
为什么用损失函数不用识别精度
- 改变权值引起的识别精度的变化是离散的,没有权重更新的方向,只是单纯的改变参数,并没有学习
- 识别精度对微小的参数变化基本上没有什么反应
- 如果使用阶跃函数作为激活函数,神经网络的学习将无法进行。 参数的微 小变化会被阶跃函数抹杀,sigmoid函数的优势(平滑性)就在这里
常见的损失函数
求损失函数时的标签需要时onehot格式的
均方误差
def mean_squared_error(y, t): #y是输出值,t是标签
return 0.5 * np.sum((y-t)**2)
对单个样本的交叉熵误差
log以e为底,这里只考虑正确值预测的概率了,不考虑其他类别预测值之间的关系