损失函数

本文详细介绍了损失函数在回归、分类和生成/相似判别中的应用,包括L1 Loss、L2 Loss、Huber Loss、0-1 Loss、Cross Entropy Loss、Exponential Loss、Softmax Cross Entropy Loss、Sigmoid Binary Cross Entropy Loss、Hinge Loss、Squared Hinge Loss以及KL Divergence Loss。各种损失函数的特点和适用场景被逐一阐述,例如L1 Loss对离群点低敏感,L2 Loss则对离群点惩罚过高,而Huber Loss结合了两者优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

损失函数用来估量模型的预测值与真实值的不一样程度,通常可以用梯度下降算法寻找函数最小值。

一、回归

L1 Loss

L=∣y^−y∣ L=|\hat{y}-y| L=y^y
该函数常用与收敛以回归为目的的输出,代表一次线性差值。特点是,输出结果的数学意义在全局相等,且对输出结果偏高偏低的惩罚一致(对离群点低敏感),连续但在近点(∣y^−y∣接近于0|\hat{y}-y|接近于0y^y0)不可导,难以收敛至最优点。

L2 Loss

L=(y^−y)2 L=(\hat{y}-y)^{2} L=(y^y)2

L2 Loss应用最小二乘法的收敛思路。特点是,曲线光滑连续可导,可用与梯度下降,由于平方的特性,随着误差减小,梯度也减小,但同时导致对离群点惩罚过高。应用至批量即为MSE。
注:若离群点是重要数据,选用MSE,若离群点是数据损坏或错误采样,选MAE。

Huber Loss

针对L1 Loss和L2 Loss的优缺点,Huber Loss通过设立超参数δ\deltaδ。假如δ=1\delta=1δ=1,则意味偏离小于1,用MSE;偏离大于1,用线性误差。实现了处处可导和减小对离群点敏感度的问题。
Lδ(y,f(x))={ 12(y−f(x))2,∣y−f(x)∣≤δδ∣y−f(x)∣−12δ,∣y−f(x)∣>δ L_{\delta}(y, f(x))=\left\{\begin{array}{ll}{\frac{1}{2}(y-f(x))^{2},} & {|y-f(x)| \leq \delta} \\ {\delta|y-f(x)|-\frac{1}{2} \delta,} & {|y-f(x)|>\delta}\end{array}\right. Lδ(y,f(x))={ 21(yf(x))2,δyf(x)21δ,yf(x)δyf(x)>δ

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(1, 20, 40)
y = x + [np.random.choice(4) for _ in range(40)]
y[-5:] -= 8
X = np.vstack((np.ones_like(x), x))
m = X.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值