损失函数就是评估预测值和真实值的差距。
分类:经验损失(所有样本上的平均值,所以是经验),结构损失(在经验损失的基础上添加正则项)
常见分类
a. 0-1 loss
非黑即白,正确就是 loss=0,错误就是 loss = 1。
有点过于严苛,所以 svm 放松到一定距离。
由于是非凸函数,不适用 gradient descent。
b. 绝对值损失函数
详见 l1 loss
c. log loss
d. 平方误差损失函数
详见 l2 loss
结构损失
1. l1 loss
脑海中可以是它的求导函数。-1, 1,0处不可导。倒数先降后升,所以有最小值点。即为0。
由于倒数不是 -1, 就是1。对异常点不敏感。但是训练到后期,如果学习率不发生改变,损失函数会在稳定值附近波动,难以达到高精度。
2. l2 loss
倒数是 2*(y- y_true),下降速度与差值有关,所以会对异常点敏感。但是后期,更稳定,收敛速度更快。
由于各处倒数不一致,可能有的地方梯度很大,有的地方梯度很小,造成梯度下降或者梯度爆炸。