多分类

多分类指标的情况

Softmax
二分类和多分类其实没有多少区别。用的公式仍然是y=wx + b。 但有一个非常大的区别是他们用的激活函数是不同的。 逻辑回归用的是sigmoid,这个激活函数的除了给函数增加非线性之外还会把最后的预测值转换成在【0,1】中的数据值。也就是预测值是0<y<1。 我们可以把最后的这个预测值当做是一个预测为正例的概率。在进行模型应用的时候我们会设置一个阈值,当预测值大于这个阈值的时候,我们判定为正例子,反之我们判断为负例。这样我们可以很好的进行二分类问题。 而多分类中我们用的激活函数是softmax。 为了能够比较好的解释它,我们来说一个例子。 假设我们有一个图片识别的4分类的场景。 我们想从图片中识别毛,狗,鸡和其他这4种类别。那么我们的神经网络就变成下面这个样子的。
在这里插入图片描述
我们最后的一层中使用的激活函数就是softmax。 我们发现跟二分类在输出层之后一个单元不同的是, 使用softmax的输出层拥有多个单元,实际上我们有多少个分类就会有多少个单元,在这个例子中,我们有4个分类,所以也就有4个神经单元,它们代表了这4个分类。在softmax的作用下每个神经单元都会计算出当前样本属于本类的概率。如下:
在这里插入图片描述
如上图,该样本属于第一个分类的概率是0.842, 属于第二个分类的概率是0.042,属于第三个分类的概率是0.002,属于第四个分类的概率是0.114. 我们发现这些值相加等于一,因为这些值也是经过归一化的结果。 整个效果图可以参考下面的例子, 这是一个比较直观的图。
在这里插入图片描述
Softmax的损失函数
既然softmax的输出变成了多个值,那么我们如何计算它的损失函数呢, 有了损失函数我们才能进行梯度下降迭代并根据前向传播和反向传播进行学习。如下图:
在这里插入图片描述
还是假设有4个分类,那么实际的预测向量,也会有4个维度。 如上图左边的样子。 如果是属于第二个分类,那么第二个值就是1, 其他值都是0。 假设右边的向量是预测值, 每个分类都有一个预测概率。 那么我们的损失函数就是。
在这里插入图片描述
由于实际值得向量只有一个是1,其他的都是0. 所以其实到了最后的函数是下面这个样子的
在这里插入图片描述
OK,有了损失函数,我们就可以跟以前做逻辑回归一样做梯度下降就可以了。

混淆矩阵和评估指标
我们之前评价二分类的时候有混淆矩阵,AUC等评估指标。 在多分类中我们同样有这些指标,只不过计算方式略有不同。 就如混淆矩阵。如有150个样本数据,这些数据分成3类,每类50个。分类结束后得到的混淆矩阵为:
在这里插入图片描述
其中第一行说明类1的50个样本有43个分类正确,5个错分为类2,2个错分为类3。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值