损失函数python实现

本文介绍了损失函数在神经网络中的重要性,说明为何不用识别精度而选择损失函数。详细探讨了均方误差和交叉熵误差,包括对单个样本和mini-batch的计算,并强调在使用交叉熵误差时标签需为onehot格式。最后提到了如何避免循环优化计算效率。
摘要由CSDN通过智能技术生成

损失函数概述

为什么用损失函数不用识别精度

  • 改变权值引起的识别精度的变化是离散的,没有权重更新的方向,只是单纯的改变参数,并没有学习
  • 识别精度对微小的参数变化基本上没有什么反应
  • 如果使用阶跃函数作为激活函数,神经网络的学习将无法进行。 参数的微 小变化会被阶跃函数抹杀,sigmoid函数的优势(平滑性)就在这里

常见的损失函数

求损失函数时的标签需要时onehot格式的

均方误差

def mean_squared_error(y, t):         #y是输出值,t是标签
    return 0.5 * np.sum((y-t)**2)

对单个样本的交叉熵误差

在这里插入图片描述
log以e为底,这里只考虑正确值预测的概率了,不考虑其他类别预测值之间的关系


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值