原创 | 常见损失函数和评价指标总结(附代码)

本文详细总结了回归问题和分类问题中的常见损失函数,包括平方损失函数、平均绝对值误差、Huber损失、LogLoss和指数损失函数,并对比了它们的特性。同时,介绍了用于评估模型性能的多种指标,如MAE、MSE、RMSE、MAPE、SMAPE和R Squared,以及在分类问题中的Accuracy、Precision、Recall、P-R曲线、$F_eta$分数和ROC-AUC。此外,还讨论了各种指标在不同场景下的适用性。
摘要由CSDN通过智能技术生成

作者:董文辉

本文长度为4500字,建议阅读10+分钟

本文为你总结常见损失函数和评价指标。

注:本文采用markdown进行编写,用markdown打开可得更佳展示效果~

## 1. 损失函数:

### 1.1 回归问题:

#### 1. 平方损失函数(最小二乘法):

$$L(Y,f(x)) = \sum_{i=1}^n(Y-f(X))^2$$

回归问题中常用的损失函数,在线性回归中,可以通过极大似然估计(MLE)推导。计算的是预测值与真实值之间距离的平方和。实际更常用的是**均方误差(MSE)**:

$$L(Y,f(x)) = \frac{1}{m}\sum_{i=1}^n(Y-f(X))^2$$

#### 2 平均绝对值误差(L1)-- MAE:

$$L(Y,f(x)) = \sum_{i=1}^n|Y-f(X)|$$

MAE是目标值和预测值之差的**绝对值之和**,可以用来衡量预测值和真实值的距离。**但是它不能给出,模型的预测值是比真实值小还是大**

#### 3 MAE(L1) VS MSE(L2):

* **MSE计算简便,但MAE对异常点有更好的鲁棒性:**

当数据中存在异常点时,用RMSE计算损失的模型会以牺牲了其他样本的误差为代价,朝着减小异常点误差的方向更新。然而这就会降低模型的整体性能。

>直观上可以这样理解:如果我们最小化MSE来对所有的样本点只给出一个预测值,那么这个值一定是所有目标值的平均值。但如果是最小化MAE,那么这个值,则会是所有样本点目标值的中位数。众所周知,对异常值而言,中位数比均值更加鲁棒,因此MAE对于异常值也比MSE更稳定。

* **NN中MAE更新梯度始终相同,而MSE则不同**:

MSE损失的梯度随损失增大而增大,而损失趋于0时则会减小。

* **Loss选择建议:**

* **MSE:** 如果异常点代表在商业中很重要的异常情况,并且需要被检测出来。

* **MAE:** 如果只把异常值当作受损数据。

#### 4. Huber损失:

$$

L_{\delta}(y, f(x))=\left\{\begin{array}{ll}{\frac{1}{2}(y-f(x))^{2}} & {\text { for }|y-f(x)| \leq \delta} \\ {\delta|y-f(x)|-\frac{1}{2} \delta^{2}} & {\text { otherwise }}\end{array}\right.

$$

Huber损失是绝对误差,只是在误差很小时,就变为平方误差。当Huber损失在$[0-\delta,0+\delta]$之间时,等价为MSE,而在$[-∞,\delta]$和$[\delta,+∞]$时为MAE。

### 1.2 分类问题:

#### 1. LogLoss:

$$

J(\theta)=-\frac{1}{m} \sum_{i=1}^{m}\left[y^{(i)} \log h_{\theta}\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right]

$$

**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值