learning_notes

学习笔记

View project on GitHub

损失函数

什么是损失函数

计算预测和真实值之间的差异

为什么需要损失函数

为了优化模型

损失函数

  • 0-1损失函数(0-1 lossfunction):

预测正确:0 预测错误:1

- 优点:易理解,简单
- 缺点:难以优化
  • 感知损失函数(Perceptron Loss):

0-1损失函数的改进,有误差区间,区间内都正确

  • 平方损失函数(quadratic loss function):

平方损失函数是指预测值与真实值差值的平方

  • Hinge损失函数(hinge loss function):

  • 对数损失函数(Log Loss):

  • 交叉熵损失函数(cross-entropy loss function):

完美解决平方损失函数权重更新过慢的问题

  • MSE和MAE如何选择

从计算机求解梯度的复杂度来说,MSE 要优于 MAE,而且梯度也是动态变化的,能较快准确达到收敛。但是从离群点角度来看,如果离群点是实际数据或重要数据,而且是应该被检测到的异常值,那么我们应该使用MSE。 另一方面,离群点仅仅代表数据损坏或者错误采样,无须给予过多关注,那么我们应该选择MAE作为损失

  • Huber Loss
Huber Loss消除MSE和MAE的缺点,集合优点,训练超参数 δ。δ 值的大小决定了 Huber Loss 对 MSE 和 MAE 的侧重性,当 y−f(x) ≤ δ 时,变为 MSE;当 y−f(x) > δ 时,则变成类似于 MAE,因此 Huber Loss 同时具备了 MSE 和 MAE 的优点,减小了对离群点的敏感度问题,实现了处处可导的功能

  • 信息熵完美编码
  • 交叉熵不完美编码
  • 相对熵是两者的差值,交叉熵减去信息熵。差值即差异,也即KL散度