Softmax回归
softmax回归其实是一个分类问题。
回归估计一个预测值,比如房价预测。
单连续数值输出;
自然区间R;
跟真实值的区别作为损失
分类预测一个离散的类别,比如手写数字识别(MNIST),自然物体分类(ImageNet)。
通常是多个输出;
输出i是预测为第i类的置信度;
1 Softmax回归的过程
1.对分类标签进行one-hot编码
y=[y1, y2, y3,....,y_n]^T
如果y_i是真是的预测类别则y_i=1,其他数值为0
2.使用softmax来输出匹配概率(非负,和为1)
使用概率y和\hat{y}的区别来作为损失
3.使用交叉熵损失函数
交叉熵来衡量两个概率的区别
将其作为损失:
2 常见的损失函数
1.L2 Loss(均方误差)
当预测值和真实值离得比较远时,更新幅度会非常大,当接近真实值的时候,更新幅度会变小,这谁又L2 loss的梯度来决定的。当然有时候我们并不希望更新幅度多大,因此会使用L1损失。
2.L1 Loss
当预测值不等于真实值时,倒数都是一个常数,当预测值大于0时,导数为1,小于0时导数为-1,这可以带来很多稳定性上的好处。但是该损失函数在0点出不可导,当预测值接近真实值时,训练会很不稳定。
3.Huber's Robust Loss
该损失函数结合了L1和L2损失函数
3 数据的处理
下载和处理Fashion-MNIST数据集
查看链接
4 Softmax回归从0开始实现
详细的代码和讲解点击
5 使用pytorch简单实现Softmax回归
详细的代码和讲解点击