|
|
@ -4,4 +4,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
通过查阅资料了解到,使用逻辑回归处理多分类问题常用的有三种方法,第一种是One-Vs-All,先把其中一类(A)看成一组,剩下的都看成一组,这样交给二分类的逻辑回归程序后,可以训练出识别A类的特征,剩下的几类继续照前面的方法训练;第二种是One-Vs-One,将多类两两一组组合,在每一组中使用二分类程序进行训练,训练完在使用时,将给定数据分别使用这些二元分类器,最后投票,票数哪个多就归哪类;第三种是Softmax方法,它可以让多输出映射到[0, 1]区间内,并使它们映射后值的和为1。Softmax方法中对一个测试样本得到的属于各类别的概率和一定为 1,而多个二分类器策略中,不管是 One-Vs-All、One-Vs-One策略,一个样本在多个二分类器上得到的概率和不一定为 1。因此当分类之间是互斥的情况下(e.g 数字手写识别、动物识别),通常采用 Softmax方法;而目标类别不是互斥时(e.g 华语音乐、流行音乐、重金属音乐等)则采用多个二分类器策略进行预测。
|
|
|
|
通过查阅资料了解到,使用逻辑回归处理多分类问题常用的有三种方法,第一种是One-Vs-All,先把其中一类(A)看成一组,剩下的都看成一组,这样交给二分类的逻辑回归程序后,可以训练出识别A类的特征,剩下的几类继续照前面的方法训练;第二种是One-Vs-One,将多类两两一组组合,在每一组中使用二分类程序进行训练,训练完在使用时,将给定数据分别使用这些二元分类器,最后投票,票数哪个多就归哪类;第三种是Softmax方法,它可以让多输出映射到[0, 1]区间内,并使它们映射后值的和为1。Softmax方法中对一个测试样本得到的属于各类别的概率和一定为 1,而多个二分类器策略中,不管是 One-Vs-All、One-Vs-One策略,一个样本在多个二分类器上得到的概率和不一定为 1。因此当分类之间是互斥的情况下(e.g 数字手写识别、动物识别),通常采用 Softmax方法;而目标类别不是互斥时(e.g 华语音乐、流行音乐、重金属音乐等)则采用多个二分类器策略进行预测。
|
|
|
|
|
|
|
|
|
|
|
|
本次作业中要求进行手写数字识别,适合采用Softmax方法,故接下来就对Softmax的原理以及公式进行解释和推导。
|
|
|
|
本次作业中要求进行手写数字识别,适合采用Softmax方法,故接下来就对Softmax的原理以及公式进行解释和推导。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 二、Softmax方法原理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Softmax函数的公式如下:
|
|
|
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
p=\frac{e^{v_{i}}}{\sum\limits_{j=1}^{n} e^{v_{j}}}
|
|
|
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
其中,n表示多个输出或类别数,$v_j$为第$j$个输出或类别的值,$i$表示当前需要计算的类别。从上述公式中可以看出,Softmax函数的计算结果落在$[0,\ 1]$中,且所有类别的Softmax函数值之和等于1。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
用$\boldsymbol{x}$表示输入向量,用$\boldsymbol{z}$表示输出向量,则Softmax函数可以写成:
|
|
|
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
g(z_i)=\frac{e^{z_{i}}}{\sum\limits_{j=1}^{n} e^{z_{j}}}
|
|
|
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
对Softmax函数求导得到:
|
|
|
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
\frac{\partial{g(z_i)}}{\partial{z_j}}=\begin{cases}
|
|
|
|
|
|
|
|
\frac{e^{z_i}\sum\limits_{j=1}^{n}{e^{z_j}}-e^{2z_i}}{(\sum\limits_{j=1}^{n}{e^{z_j}})^2} & \text{ if } i=j \\
|
|
|
|
|
|
|
|
\frac{-e^{z_i+z_j}}{(\sum\limits_{j=1}^{n}{e^{z_j}})^2} & else
|
|
|
|
|
|
|
|
\end{cases}
|
|
|
|
|
|
|
|
$$
|
|
|
|
|
|
|
|
在输入向量与输出向量之间加入一层函数映射,我们引入一个矩阵$\Theta$,其满足$z=\Theta \boldsymbol{x}$
|