机器学习回归损失函数
时间: 2023-11-23 16:55:11 浏览: 78
回归问题的损失函数是用来衡量模型预测值与真实值之间的差异的函数。以下是几种常见的机器学习回归损失函数:
1. 均方误差(Mean Squared Error,MSE):MSE是最常见的回归损失函数之一,它计算预测值与真实值之间的平方差的平均值。MSE越小,表示模型的预测结果越接近真实值。
```python
def mse(y_true, y_pred):
return np.mean((y_true - y_pred)**2)
```
2. 平均绝对误差(Mean Absolute Error,MAE):MAE计算预测值与真实值之间的绝对差的平均值。与MSE相比,MAE更加关注预测值与真实值之间的差异,而不是差异的平方。
```python
def mae(y_true, y_pred):
return np.mean(np.abs(y_true - y_pred))
```
3. Huber损失:Huber损失是一种介于MSE和MAE之间的损失函数,它对预测值与真实值之间的差异进行平方和绝对值两种方式的计算,从而在预测值与真实值之间存在较大差异时,能够更好地平衡两种损失函数的优缺点。
```python
def huber_loss(y_true, y_pred, delta=1.0):
error = y_true - y_pred
abs_error = np.abs(error)
quadratic = np.minimum(abs_error, delta)
linear = abs_error - quadratic
return np.mean(0.5 * quadratic**2 + delta * linear)
```
4. Log-Cosh损失:Log-Cosh损失是一种平滑的损失函数,它对预测值与真实值之间的差异进行了对数和双曲余弦两种方式的计算,从而在预测值与真实值之间存在较大差异时,能够更好地平衡两种损失函数的优缺点。
```python
def logcosh_loss(y_true, y_pred):
error = y_true - y_pred
return np.mean(np.log(np.cosh(error)))
```
阅读全文