简单易懂的讲解深度学习(入门系列之九)

网友投稿 880 2022-11-14

简单易懂的讲解深度学习(入门系列之九)

简单易懂的讲解深度学习(入门系列之九)

常见的损失函数

一般来说,我们在进行机器学习任务时,使用的每一个算法都有一个目标函数,算法便是对这个目标函数进行优化,特别是在分类或者回归任务中,便是使用损失函数(Loss Function)作为其目标函数,又称为代价函数(Cost Function)。

损失函数是用来评价模型的预测值与真实值的不一致程度,它是一个非负实值函数。通常使用 L(Y,f(x)) 来表示,损失函数越小,模型的性能就越好。

设总有N个样本的样本集为(X,Y)=(xi,yi),i∈[1,N]为样本i的真实值,yi = f(xi), i∈[1,N]为样本​i​的预测值,f​为分类或者回归函数。

那么总的损失函数为:​(X,Y)=(xi,yi)

L = ∑ℓ(yi,yi^)

有以下常见的损失函数几种:​​

Zero-one Loss Zero-one Loss:即0-1损失,它是一种较为简单的损失函数,如果预测值与目标值不相等,那么为1,否则为0,即:

可以看出上述的定义太过严格,如果真实值为1,预测值为0.999,那么预测应该正确,但是上述定义显然是判定为预测错误,那么可以进行改进为Perceptron Loss。

Perceptron Loss,即为感知损失,即:

其中​t​是一个超参数阈值,如在PLA(Perceptron Learning Algorithm,感知机算法,(Loss Hinge,损失可以用来解决间隔最大化问题,如在SVM中解决几何间隔最大化问题,其定义如下:

详细见:​​Loss 在使用似然函数最大化时,其形式是进行连乘,但是为了便于处理,一般会套上log,这样便可以将连乘转化为求和,由于log函数是单调递增函数,因此不会改变优化结果。因此log类型的损失函数也是一种常见的损失函数,如在LR(Logistic Regression, 逻辑回归)中使用交叉熵(Cross Entropy)作为其损失函数。即:

规定:

Square Loss Square Loss,即平方误差,常用于回归中。即:

​Absolute Loss Absolute Loss,即绝对值误差,常用于回归中。即:

Exponential Loss Exponential Loss,为指数误差,常用于boosting算法中,如[AdaBoost](risk),容易过拟合(详细参见防止过拟合的一些方法),因此还需要考虑模型的泛化能力,一般常用的方法便是在目标函数中加上正则项,由损失项(Loss term)加上正则项(Regularization term)构成结构风险(Structural risk),那么损失函数变为:

其中​λ​是正则项超参数,常用的正则方法包括:L1正则与L2正则,详细介绍参见:防止过拟合的一些方法。

各损失函数图形如下:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:简单易懂的讲解深度学习(入门系列之五)
下一篇:2018年最全的推荐系统干货(ECCV、CVPR、AAAI、ICML)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~