机器学习19 种损失函数介绍_第1页
机器学习19 种损失函数介绍_第2页
机器学习19 种损失函数介绍_第3页
机器学习19 种损失函数介绍_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1L1范数损失LILoss计算output和target之差的绝对值。torch.nn.L1Loss(reduction=mean)参数:reduction-三个值,none:不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。2均方误差损失MSELoss计算output和target之差的均方差。torch.nn.MSELoss(reduction=mean)参数:reduction-三个值,none:不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。3交叉熵损失CrossEntropyLoss当训练有C个类别的分类问

2、题时很有效可选参数weight必须是一个1维Tensor,权重将被分配给各个类别.对于不平衡的训练集非常有效。在多分类任务中,经常采用softmax激活函数+交叉熵损失函数,因为交叉熵描述了两个概率分布的差异,然而神经网络输出的是向量,并不是概率分布的形式。所以需要softmax激活函数将一个向量进行“归一化”成概率分布的形式,再采用交叉熵损失函数计算loss。torch.nn.CrossEntropyLoss(weight=None,ignore_index=-100,reduction=mean)参数:weight(Tensor,optional)-自定义的每个类别的权重.必须是一个长度为

3、C的Tensorignore_index(int,optional)-设置一个目标值,该目标值会被忽略,从而不会影响到输入的梯度。reduction-三个值,none:不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。4KL散度损失KLDivLoss计算input和target之间的KL散度。KL散度可用于衡量不同的连续分布之间的距离,在连续的输出分布的空间上(离散采样)上进行直接回归时很有效.torch.nn.KLDivLoss(reduction=mean)参数:reduction-三个值,none:不使用约简;mean:返回loss和的平均值;sum

4、:返回loss的和。默认:mean。5二进制交叉熵损失BCELoss二分类任务时的交叉熵计算函数。用于测量重构的误差,例如自动编码机.注意目标的值ti的范围为0到1之间.torch.nn.BCELoss(weight=None,reduction=mean)参数:weight(Tensor,optional)自定义的每个batch元素的loss的权重.必须是一个长度为“nbatch”的的TensorBCEWithLogitsLossBCEWithLogitsLoss损失函数把Sigmoid层集成到了BCELoss类中.该版比用一个简单的Sigmoid层和BCELoss在数值上更稳定,因为把这两

5、个操作合并为一个层之后,可以利用log-sum-exp的技巧来实现数值稳定.torch.nn.BCEWithLogitsLoss(weight=None,reduction=mean,pos_weight=None)参数:weight(Tensor,optional)自定义的每个batch元素的loss的权重.必须是一个长度为“nbatch”的TensorMarginRankingLosstorch.nn.MarginRankingLoss(margin=0.0,reduction=mean)对于mini-batch(小批量)中每个实例的损失函数如下:loss他=inax(07一些攵伍1-工2

6、)+margi口参数:margin:默认值0HingeEmbeddingLosstorch.nn.HingeEmbeddingLoss(margin=1.0,reduction=mean)对于mini-batch(小批量)中每个实例的损失函数如下:参数:margin:默认值19多标签分类损失MultiLabelMarginLosstorch.nn.MultiLabelMarginLoss(reduction=mean)对于mini-batch(小批量)中的每个样本按如下公式计算损失:10平滑版L1损失SmoothL1Loss也被称为Huber损失函数。torch.nn.SmoothL1Loss

7、(reduction=mean)其中112分类的logistic损失SoftMarginLosstorch.nn.SoftMarginLoss(reduction=mean)12多标签one-versus-all损失MultiLabelSoftMarginLosstorch.nn.MultiLabelSoftMarginLoss(weight=None,reduction=mean)歸血切二一料工爾*10瞅1+讷一冰尸)+(1-呱)*log(駕(彎防13cosine损失CosineEmbeddingLosstorch.nn.CosineEmbeddingLoss(margin=0.0,redu

8、ction=mean)loss(a:,y)=1gos(轧瞬),ify=Iniax(0,a?e)margin),ify=1参数:margin:默认值014多类别分类的hinge损失MultiMarginLosstorch.nn.MultiMarginLoss(p=1,margin=1.0,weight=None,reduction=mean)参数:p=1或者2默认值:1margin:默认值115三元组损失TripletMarginLoss和孪生网络相似,具体例子:给一个A,然后再给B、C,看看B、C谁和A更像。torch.nn.TripletMarginLoss(margin=1.0,p=2.0

9、,eps=1e-06,swap=False,reduction=mean)L(a3p?n)=-d(at7nt)+margin,0其中:必珀/)=|xx-yt|L16连接时序分类损失CTCLossCTC连接时序分类损失,可以对没有对齐的数据进行自动对齐,主要用在没有事先对齐的序列化数据训练上。比如语音识别、ocr识别等等。torch.nn.CTCLoss(blank=0,reduction=mean)参数:reduction-三个值,none:不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。17负对数似然损失NLLLoss负对数似然损失用于训练C个类别的分

10、类问题.torch.nn.NLLLoss(weight=None,ignore_index=-100,reduction=mean)参数:weight(Tensor,optional)-自定义的每个类别的权重.必须是一个长度为C的Tensorignore_index(int,optional)-设置一个目标值,该目标值会被忽略,从而不会影响到输入的梯度.NLLLoss2d对于图片输入的负对数似然损失.它计算每个像素的负对数似然损失.torch.nn.NLLLoss2d(weight=None,ignore_index=-100,reduction=mean)参数:weight(Tensor,optional)-自定义的每个类别的权重.必须是一个长度为C的Tensorreduction-三个值,none:不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。PoissonNLLLoss目标值为泊松分布的负对数似然损失torch.nn.PoissonNLLLoss(log_input=True,full=False,eps=1e-08,reduction=mean)参数:log_input(bool,optional)-如果设置为True,loss将会按照公式exp(input)-target*input来计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论