深度学习常用损失函数总览:基本形式、原理、特点

参考来源:https://mp.weixin.qq.com/s/AQQXO2XfDcE-PP1cD1j_Fw

机器学习中的监督学习本质上是给定一系列训练样本 ( x i , y i ) (x_i,y_i) (xi,yi) ,尝试学习 x → y x\to y xy 的映射关系,使得给定一个 x x x ,即便这个 x x x不在训练样本中,也能够得到尽量接近真实 y y y 的输出 y ^ \hat{y} y^ 。而损失函数(Loss Function)则是这个过程中关键的一个组成部分,用来衡量模型的输出 y ^ \hat{y} y^ 与真实的 y y y之间的差距,给模型的优化指明方向。

本文将介绍机器学习、深度学习中分类与回归常用的几种损失函数,包括均方差损失 Mean Squared Loss、平均绝对误差损失 Mean Absolute Error Loss、Huber Loss、分位数损失 Quantile Loss、交叉熵损失函数 Cross Entropy Loss、Hinge 损失 Hinge Loss。主要介绍各种损失函数的基本形式、原理、特点等方面。

1、引言

在正文开始之前,先说下关于 Loss Function、Cost Function 和 Objective Function 的区别和联系。在机器学习的语境下这三个术语经常被交叉使用。

  • 损失函数 Loss Function 通常是针对单个训练样本而言,给定一个模型输出 y ^ \hat{y} y^ 和一个真实 y y y,损失函数输出一个实值损失 L = f ( y i , y i ^ ) L=f(y_i,\hat{y_i}) L=f(yi,yi^)
  • 代价函数 Cost Function 通常是针对整个训练集(或者在使用 mini-batch gradient descent 时一个 mini-batch)的总损失 J = ∑ i = 1 N f ( y i , y i ^ ) J=\sum_{i=1}^Nf(y_i,\hat{y_i}) J=i=1Nf(yi,yi^)
  • 目标函数 Objective Function 是一个更通用的术语,表示任意希望被优化的函数,用于机器学习领域和非机器学习领域(比如运筹优化)

一句话总结三者的关系就是:A loss function is a part of a cost function which is a type of an objective function.

由于损失函数和代价函数只是在针对样本集上有区别,因此在本文中统一使用了损失函数这个术语,但下文的相关公式实际上采用的是代价函数 Cost Function 的形式,请读者自行留意。

2、均方差损失Mean Squared Error Loss

2.1、基本形式与原理

均方差 Mean Squared Error (MSE) 损失是机器学习、深度学习回归任务中最常用的一种损失函数,也称为 L2 Loss。其基本形式如下 J M S E = 1 N ∑ i = 1 N ( y i − y i ^ ) 2 J_{MSE}=\frac{1}{N}\sum_{i=1}^N(y_i-\hat{y_i})^2 JMSE=N1i=1N(yiyi^)2从直觉上理解均方差损失,这个损失函数的最小值为 0(当预测等于真实值时),最大值为无穷大。下图是对于真实值 y = 0 y=0 y=0 ,不同的预测值 [ − 1.5 , 1.5 ] [-1.5,1.5] [1.5,1.5] 的均方差损失的变化图。横轴是不同的预测值,纵轴是均方差损失,可以看到随着预测与真实值绝对误差 ∣ y − y ^ ∣ |y-\hat{y}| yy^ 的增加,均方差损失呈二次方地增加。
在这里插入图片描述

2.2、背后的假设

实际上在一定的假设下,我们可以使用最大化似然得到均方差损失的形式。假设模型预测与真实值之间的误差服从标准高斯分布( μ = 0 , σ = 1 \mu=0,\sigma=1 μ=0,σ=1 ),则给定一个 x i x_i xi 模型输出真实值 y i y_i yi 的概率为 p ( y i ∣ x i ) = 1 2 π e x p ( − ( y i − y i ^ ) 2 2 ) p(y_i|x_i)=\frac{1}{\sqrt{2\pi}}exp(-\frac{(y_i-\hat{y_i})^2}{2}) p(yixi)=2π 1exp(2(yiyi^)2)进一步我们假设数据集中 N N N 个样本点之间相互独立,则给定所有 x x x 输出所有真实值 y y y 的概率,即似然 Likelihood,为所有 p ( y i ∣ x i ) p(y_i|x_i) p(yixi) 的累乘 L ( x , y ) = ∏ i = 1 N 1 2 π e x p ( − ( y i − y i ^ ) 2 2 ) L(x,y)=\prod_{i=1}^N \frac{1}{\sqrt{2\pi}}exp(-\frac{(y_i-\hat{y_i})^2}{2}) L(x,y)=i=1N2π 1exp(2(yiyi^)2)通常为了计算方便,我们通常最大化对数似然 Log-Likelihood L L ( x , y ) = log ⁡ ( L ( x , y ) ) = − N 2 log ⁡ 2 π − 1 2 ∑ i = 1 N ( y i − y i ^ ) 2 LL(x,y)=\log(L(x,y))=-\frac{N}{2}\log 2\pi-\frac{1}{2}\sum_{i=1}^N(y_i-\hat{y_i})^2 LL(x,y)=log(L(x,y))=2Nlog2π21i=1N(yiyi^)2去掉与 y i ^ \hat{y_i}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值