损失函数合集

1、CE损失函数

(1)交叉熵损失函数

交叉熵损失主要是用于判断实际输出与期望输出的接近程度

交叉熵损失刻画的是实际输出的概率与期望输出的概率的距离。交叉熵损失越小,两个概率分布就越接近,即实际输出与期望输出越相似。

概率分布p是期望输出,概率分布q是实际输出,得到的是两个概率分布之间的距离远近

(2)Pytorch中的交叉熵损失函数

Pytorch中的交叉熵损失函数是以另一种形式呈现的

N是样本个数,M是类别数量,Yic是样本i的标签,Pic是样本i预测为c的概率,log的底数为e 

Pytorch中的CrossEntropy Loss() 函数是softmax-log-NLLLoss函数合并在一起的

1)softmax函数的数值在0~1之间,加上log之后值域是负无穷到0

2)NLLLoss函数将log后的数值与label对应的值拿出来,去掉负号求均值

2、BCE损失函数

(1)BCE损失函数与CE损失函数的区分

BCE损失函数(Binary Cross Entropy)用于二分类任务。针对每一个类别,都当作一个二分类来处理。

CE损失函数是基于softmax函数,每个类别相斥,所有类别的概率总和为1。CE有n个类别,网络就输出n个节点。

BCE损失函数是二分类损失函数,所有概率总和不一定是1,类别之间不互斥。BCE有n个类别,网络只输出1个节点。

(2)BCE损失函数

N是样本个数,Pi是样本i预测为正类的概率,Yi是样本i的标签(正类为1负类为0) 

BCE要求标签是以one-hot形式,即只含有0和1。

3、MSE损失函数

(1)MSE损失函数与CE损失函数与BCE损失函数

MSE损失函数不常用于分类。MSE(Mean Squared Error)是一种常用的衡量模型预测值与实际观测值之间的差异的指标,用于评估模型在给定数据上的拟合程度。

使用sigmoid/softmax函数得到概率,配合MSE损失函数,采用梯度下降学习时会出现模型一开始训练,学习速率非常慢的情况

而CE损失函数和BCE损失函数更适用于分类任务,训练时学习速率较快

(2)MSE损失函数

 

MSE损失函数的计算步骤:

1)计算模型的预测值

2)计算模型的预测值与实际的观测值之间的差异,并将其平方

3)对所有的差异值进行求和,并除以观测值的总数,得到平均差异值

MSE损失函数表示模型预测值与实际观测值之间的差异的平均大小,损失函数的大小代表模型预测值与实际观测值之间的差异,即反应模型的拟合程度。

4、softmax激活函数

softmax函数是一种用于多类别分类问题的激活函数,常用于神经网络的输出层。

softmax激活函数是将原始数值转换为表示概率分布的数值,使得每个类别的概率值都在0~1之间,且所有类别的概率总和为1。

e是log的底数,n是样本类别数量

softmax函数的特点:

(1)将原始数值映射到0~1之间,可以用来表示每个类别的相对权重。

(2)对原始数值进行归一化,使所有类别的概率总和为1,适用于多分类任务互斥任务

(3)会放大原始数值的类别概率,可以更好地区分不同类别

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值