动手学深度学习——softmax回归简单介绍

1、首先我们解释一下回归和分类的区别:

回归估计一个连续值,比如说预测房子的价格;

分类预测一个离散类别,比如说我预测一个图片里面是猫还是狗。

例1:MNIST (手写数字识别)10类

动手学深度学习——softmax回归简单介绍_第1张图片

例2:ImageNet(自然物体分类)1000类

动手学深度学习——softmax回归简单介绍_第2张图片

2、Kaggle上的典型的分类问题

例1、将人类蛋白质显微镜图片分成28类

例2、将恶意软件分成9个类别

例3、将恶意的Wikipedia评论分成7类

3、从回归到多类分类

回归:单连续数据输出;自然区间R;做损失函数的时候跟真实值的区别作为损失。

动手学深度学习——softmax回归简单介绍_第3张图片

分类:通常多个输出;输出的第i个元素是预测为第i类的置信度;

动手学深度学习——softmax回归简单介绍_第4张图片

 4、从回归到多类分类——均方损失

假设有n个类别,对类别进行一位有效编码,长为n的向量,从y1到yn,假设第i个是真实类别,则yi等于1,其他的元素等于0.(刚好有一个位置有效)

 动手学深度学习——softmax回归简单介绍_第5张图片

也可以使用均方损失来进行训练,选择最大值作为预测值

 5、从回归到多类分类——无校验比例

对类别进行一位有效编码,最大值作为预测

需要置信度的识别正确类Oy要远远大于其他非正确类的Oi(大余量)

输出是一个概率(非负,和为1),现在输出是一个O1到On的向量,引入一个新的操作词交softmax,我们将softmax作用到O上面得到一个y_hat,它是一个长为n的向量,他有属性,每个元素都非负且和为1.

y_hat里面的第i个元素等于O里面的第i个元素做指数(指数的好处是,我不管它是什么值,都可以变成非负)然后再除以所有的Ok做指数。然后y_hat就是一个概率了。

动手学深度学习——softmax回归简单介绍_第6张图片

 最后会得到两个概率,一个真实的,一个预测的,然后比较两个概率之间的区别作为损失。

6、softmax和交叉熵来做损失

交叉熵常用来衡量两个概率的区别:

假设p,q是一个离散概率

将它的损失作为:

动手学深度学习——softmax回归简单介绍_第7张图片

其梯度是真实概率和预测概率的区别:

动手学深度学习——softmax回归简单介绍_第8张图片

7、总结

  • softmax回归是一个多类分类模型
  • 使用softmax操作子得到每个类的预测置信度
  • 使用交叉熵来衡量预测和标号的区别

 

 

 

 

 

 

 

你可能感兴趣的