损失函数
什么是损失函数
计算预测和真实值之间的差异
为什么需要损失函数
为了优化模型
损失函数
- 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散度