损失函数

Posted guojiasheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了损失函数相关的知识,希望对你有一定的参考价值。

1. 何为损失函数:

   在机器学习里面,基本上所有的算法都是在对一个目标函数进行最大化或者最小化的一个过程,那么我们常常把这个最小化的函数称为损失函数,一般采用梯度下降法求解这个损失函数的最小值所对应的参数。可以认为,损失函数为我们的模型优化提供了方向。

 

2. 损失函数类型:

  2.1 平方损失L2  (回归损失函数):预测值和目标值之间差值的平方和

  2.2 平方绝对误差L1 

  2.3 对数损失函数(Cross Entropy Loss,Softmax Loss ):用于Logistic 回归与Softmax 分类中; 

  2.4 指数损失函数(Exponential Loss) :主要用于Adaboost 集成学习算法中;

  2.5 铰链损失函数(Hinge Loss):主要用于支持向量机(SVM) 中

 

3. 对数损失函数

   对数损失函数用到了极大似然估计思想,p(y|x)。

   假设样本服从伯努利分布(0-1)分布,然后求得改分布的似然函数,接着取对数求极值(最小化负的似然函数)。利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值

4. 交叉熵

   交叉熵刻画的是实际的输出(概率)和期望的输出(概率)的距离,交叉熵的值越小,两个概率分布越接近。

 

log类型损失函数的优势可以将连乘转为求和,由于是单调函数,不会改变原结果,并且还很方面求最优,因此log类型的损失函数函数也非常常用,比较著名的一种就是交叉熵(cross entropy),也就是logistic regression用的损失函数

 

   对数损失函数就是交叉熵

    

 

以上是关于损失函数的主要内容,如果未能解决你的问题,请参考以下文章

机器学习中的损失函数(附python代码)

sklearn基于make_scorer函数为Logistic模型构建自定义损失函数+代码实战(二元交叉熵损失 binary cross-entropy loss)

没有自定义损失函数的 OCR 代码

openpcdet之pointpillar代码阅读——第三篇:损失函数的计算

openpcdet之pointpillar代码阅读——第三篇:损失函数的计算

openpcdet之pointpillar代码阅读——第三篇:损失函数的计算