1、softmax回归
1.1 从回归到分类
输出i是预测为第i类的置信度。输出的个数等于类别的个数
均方损失
n个类别,假设先用1,0表示是否类别正确。使用均方损失训练,最大值作为预测。
校验比例
其实我们关心的不是他具体分类的置信度的值是多少。
关心的是是否可以把正确类别的置信度是否特别大,模型能够把真正的类别和其他的类别拉开一个距离,数学表达式为 O y − O i > = Δ ( y , i ) O_y - O_i >= \Delta(y,i) Oy−Oi>=Δ(y,i)
引入一个操作子softmax,输出匹配的概率,计算方式使用指数(可以得到非负数,然后和为1)
1.2 softmax和交叉熵损失
其中,求和时, y i y_i yi中只有真实的类的值才为1,其他的为0,所以损失函数写成 − l o g y ^ y -log\hat{y}_y −logy^y
我们不关心对于非正确类的预测值,我们只关心对于正确类的预测值
损失函数的梯度就是真实概率和预测概率的区别
1.3总结
- softmax回归是一个多类分类模型
- 使用softmax操作子得到每一个类的预测置信度
- 使用交叉熵来衡量预测和标号的区别
2、损失函数
L2 LOSS :
l ( y , y ‘ ) = 1 2 ( y − y ‘ ) 2 l(y,y^`)=\frac{1}{2}(y-y^`)^2 l(y,y‘)=21(y−y‘)2
蓝色为原函数(y取零),橙色为其导数,绿色为其对应的似然函数(统计学里面的)。可以看到里预测值和真实值差距越大,其梯度比较大,对参数的更新也就比较多。随着预测值慢慢靠近真实值,梯度慢慢变小。
L1 LOSS :
l ( y , y ‘ ) = ∣ y − y ‘ ∣ l(y,y^`)=|y-y^`| l(y,y‘)=∣y−y‘∣
该函数的导数在不等于0的情况下都是常数,所以好处就是梯度不会随着预测值的变化而变化(同一个大区间内)。其坏处就是在0点处导数不可导,还有当跨区间时,导数会在-1和1二者之间变化
HUber’ s Robust Loss
可以看做以上两种函数的结合 ,好处就是,当预测值和真实值相差较大时,梯度会以均匀的力度往回推,当相差比较小的时候,梯度会随着差距减小而慢慢变小,这就就能保障在优化末期的时候优化是比较平滑的,不会出现太多的数值问题。