status
type
date
slug
summary
tags
category
password
icon
Total Videos
Link
Video Duration

分类(Classification)是怎么做的?

notion image
前面我们学习了回归(Regression)问题。现在我们来看看分类(Classification)问题。
分类问题可以用回归问题来表示,回归问题的本质是预测一个数值(标量),那么我们要把分类问题class类给表示为一个数值,将预测值与分类的做对比,才能用回归问题的方法来预测。但此方法也有缺点,即当class之间关系不够密切时,预测的值和class没有关系。
那要如何将class给表示为具体的值呢?
一种常用的方法是one-hot vector

Class as one-hot vector

将每一个class分别表示为不同的独热向量(one-hot vector),这种向量的特点是:
  • 每个向量只有一个元素为1,其他元素均为0,因此独热向量具有稀疏性。
  • 适合用于表示分类数据,每个维度对应一个类别,可以方便地进行分类任务。
  • 独热向量可以避免数据之间的相对大小对模型产生影响,因为每个维度之间是相互独立的。
  • 由于每个维度都是离散的,独热向量可以很好地处理分类任务,但不适合表示连续数值或文本数据。
notion image
notion image
以前回归问题的DNN,只是预测一个数值,现在的分类问题需要我们将输出设置为三个。具体来说是将乘上三个不同的weight然后加上三个不同的bias,以此输出三个
notion image
classification输出的是一个向量,我们要想与one-hot vector的对比还需要通过softmax函数将转换one-hot vector的才能拿去与作对比。

Soft-max和Cross entropy

notion image
softmax函数的结构如上图,
通过e取指数,在除以全体e指的和,得到一个概率值。这里的输入值通常称为logit。对于二分类问题,我们通常不使用softmax,而是使用Sigmoid,这两个方法是等价的。
notion image
经过softmax转换的与代表class的之间的差距称为。这个Loss可以用MSE定义,但分类问题更常用的是Cross-entropy:
Minimizing cross-entropy又称为maximizing likelihood。Cross-entropy内置了softmax,所以很多时候在代码中看不到softmax。
下面我们从optimization的角度解释一下为什么Cross-entropy会比MSE在分类问题中效果更好。

MSE VS Cross-entropy

notion image
上图中,我们将设置为-1000以让趋近于0,从而排除这个参数的影响,Error surface图只有两个参数,从右上角到左小角,Loss逐渐减小。
可以看出,cross-entropy在Loss很大的地方(蓝点)依然有比较大的Gradient,从而推动loss降低。但MSE在Loss很大的地方比较平坦,Gradient很小,所以很难依靠Gradient来降低Loss,此时可能需要用adam这种optimization方法。
这说明Loss函数的定义都能影响的optimization问题。
 
2.6再探宝可梦、数码宝贝分类器-浅谈机器学习原理2.4类神经网络训练不起来怎么办(三):自动调整学习速率
Loading...