1、首先我们解释一下回归和分类的区别:
回归估计一个连续值,比如说预测房子的价格;
分类预测一个离散类别,比如说我预测一个图片里面是猫还是狗。
例1:MNIST (手写数字识别)10类
例2:ImageNet(自然物体分类)1000类
2、Kaggle上的典型的分类问题
例1、将人类蛋白质显微镜图片分成28类
例2、将恶意软件分成9个类别
例3、将恶意的Wikipedia评论分成7类
3、从回归到多类分类
回归:单连续数据输出;自然区间R;做损失函数的时候跟真实值的区别作为损失。
分类:通常多个输出;输出的第i个元素是预测为第i类的置信度;
4、从回归到多类分类——均方损失
假设有n个类别,对类别进行一位有效编码,长为n的向量,从y1到yn,假设第i个是真实类别,则yi等于1,其他的元素等于0.(刚好有一个位置有效)
也可以使用均方损失来进行训练,选择最大值作为预测值
5、从回归到多类分类——无校验比例
对类别进行一位有效编码,最大值作为预测
需要置信度的识别正确类Oy要远远大于其他非正确类的Oi(大余量)
输出是一个概率(非负,和为1),现在输出是一个O1到On的向量,引入一个新的操作词交softmax,我们将softmax作用到O上面得到一个y_hat,它是一个长为n的向量,他有属性,每个元素都非负且和为1.
y_hat里面的第i个元素等于O里面的第i个元素做指数(指数的好处是,我不管它是什幺值,都可以变成非负)然后再除以所有的Ok做指数。然后y_hat就是一个概率了。
最后会得到两个概率,一个真实的,一个预测的,然后比较两个概率之间的区别作为损失。
6、softmax和交叉熵来做损失
交叉熵常用来衡量两个概率的区别:
假设p,q是一个离散概率
将它的损失作为:
其梯度是真实概率和预测概率的区别:
7、总结
softmax回归是一个多类分类模型
使用softmax操作子得到每个类的预测置信度
使用交叉熵来衡量预测和标号的区别
Be First to Comment