常见损失函数总结 in NLP

本文深入解析了多种机器学习和深度学习中的损失函数,包括0-1loss、absloss、squareloss、hingeloss、softmaxloss、crossentropyloss等,探讨了它们的应用场景、计算方法及如何选择正则项。

常见损失函数总结

loss一般是正的,而且越小越好。

0-1 loss / abs loss

  • 应用场景:回归问题
  • 0-1 loss:只要预测值和标签不相等,就loss+=1;或者预测值q和标签p之间的差值大于阈值t,就loss+=1.或者套用其他的非线性函数。
  • abs loss:loss += abs(p-q).

square loss

  • 应用场景:很多,分类问题和回归问题都可以
  • loss输入:模型通过预测给出一个tensor(scalar, vector甚至matrix),而标签也是一个同样size的tensor
  • 计算:
    Jmse=∑i,j(pi,j−qi,j)2J_{mse} = \sum_{i, j}(p_{i, j} - q_{i, j})^2Jmse=i,j(pi,jqi,j)2

hinge loss

  • 应用场景:N分类问题
  • loss输入:模型输入一个N维向量为分类结果,针对这个向量计算loss.(这个N维向量一般是一个全连接层(线性层)的输出,是模型对于每个类别的打分。)
  • 计算方法:向量的每个分量和正确分类的分量比较,如果差的不多甚至超过(说明有混淆),则在loss中反映出来。在下面的公式中,iii是正确的类别,ttt是阈值(一般为1,或是某个计算出来的平均值)。
    Jhinge=∑j=1,j≠iNmax(0,sj−si+t)J_{hinge} = \sum_{j=1, j\neq i}^{N}max(0, s_j - s_i + t)Jhinge=j=1,j=iNmax(0,sjsi+t)

softmax loss

  • 应用场景:N分类问题
  • loss输入:模型输出一个N维向量,为模型预测的分类概率。
  • 计算方法:
    Jsoftmax=−logP(i∣model)J_{softmax} = -logP(i|model)Jsoftmax=logP(imodel)

cross entropy loss

  • 应用场景:在自然语言中很常用
  • loss输入:模型输出一个N维向量q,即模型预测的分布(分布律)。但是实际上的分布是N维向量p.
  • 计算方法:
    Jcross_entropy=−∑i=1NpilogqiJ_{cross\_entropy} = -\sum_{i=1}^{N}p_ilogq_iJcross_entropy=i=1Npilogqi

有的时候也会使用困惑度作为loss
Jcross_entropy=2Jcross_entropyJ_{cross\_entropy} = 2^{J_{cross\_entropy} }Jcross_entropy=2Jcross_entropy

L1正则项

  • 正则项又叫做罚项,是为了限制模型的参数过度地往同一个方向发展,从而导致模型过拟合,而加在损失函数后面的一项。
  • 计算:所有参数的线性和/加权线性和。
    • 如果所有参数都位于同一量度,那么可以直接线性和;如果有的参数和其他参数量度不同(比如分布不同,均值的差距太大)(这可能是因为输入没有标准化导致的),那就乘以一个线性系数。
  • L1会趋向于产生少量的特征,而其他的特征都是0.这样可以提取出较少的特征。图像解释:因为L1范数在平面坐标系的单位圆是菱形的,有向四个坐标轴突出的迹象,所以趋向于产生少量的值较大的特征。
  • 如果样本原本的分布符合Laplace分布,那么推荐使用L1正则项。

L2正则项

  • 计算:所有参数的平方和/加权平方和。
  • L2产生的特征数比L1多,但是都是接近于0的。图像解释:因为L2范数在平面坐标系的单位圆是圆,在各个方向的扩展比较均匀,所以趋向于产生大量的值较小的特征。
  • 如果样本原本的分布符合Gauss分布,那么推荐使用L2正则项。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值