损失函数

一、定义

在深度学习中,损失函数是用来衡量一组参数的质量的函数,衡量的方式是比较网络输出和真实输出的差异。

二、命名

 损失函数 loss function		=	代价函数cost function
=目标函数objective function	=	误差函数error function

他们的含义是一样的
也有的资料中用损失函数指单个数据的偏差,用代价函数指整体数据的偏差。

三、损失函数的作用

损失函数用来指导训练过程,使得网络的参数向损失降低的方向改变。

3.1 训练方法

随机梯度下降法Stochastic gradient descent.

  • 试图找到一组参数使得损失函数的值越小越好.
  • 调整参数的大小和方向取决于损失函数相对于参数的偏导数:

在这里插入图片描述

3.2 损失函数的选取原则

  • (1)最小值(0):当网络的输出和真实输出一致
  • (2)当输出和真实输出越不–致时值越大
  • (3)理想情况→convex凸函数,实际上→not convex非凸函数
  • (4)需要根据输出的变化而平滑的变化
  • (5)需要可导(SGD优化)
  • (6)需要容易求导
    在这里插入图片描述

四、常用的损失函数

不同的任务类型需要不同的损失函数:

4.1 回归Regression问题

网络输出一个连续的数值:例如:预测一栋房屋的价值
损失函数:绝对值误差,平方差

绝对误差函数Absolute value, L1-norm

在这里插入图片描述在这里插入图片描述
在这里插入图片描述因为导数一样,离真值的远近不换导致其导数变化

方差函数Square error, Euclidean loss,L2-norm

在这里插入图片描述在这里插入图片描述在这里插入图片描述因为离真值的越远,导致其导数越大

4.2 分类Classification问题

网络的输出为一个类别,从预定义的一组类别中的一个
实例:判断邮件是否是垃圾邮件.
损失函数: hinge loss, Cross-entropy loss

如何设计损失函数?

4.2.1 单label问题

  • 将真实的唯一输出编码为一个向量→独热编码One-hot encoding
    在这里插入图片描述
  • 非概率的解释→hingeloss
  • 概率解释:将输出转换为概率函数→Softmax,概率的值范围为0.0到1.0,属于所有类别的概率之和为1.0。
    在这里插入图片描述

在这里插入图片描述

Cross-entropy loss

在这里插入图片描述
在这里插入图片描述

4.2.2 多label问题

输出属于多个类别中的一个或者多个类,例如一副包含猫咪的图像可以同时属于“猫” ,“哺乳动物” ,“宠物”

  • 对每一个输出独立使用Sigmoid激活函数,不使用softmax
    在这里插入图片描述 总结:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值