# 3.8 Softmax 回归（Softmax regression）

Softmax 回归，能在识别多种分类中的一个时做出预测，对于多分类问题，用C表示种类个数，神经网络中输出层就有C个神经元，即$$n^{\[L]}=C$$，每个神经元的输出依次对应属于该类的概率，即$$P(y=c|x)$$，处理多分类问题一般使用Softmax回归模型

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0cdMq0UlEyCLj99qS%2F305import.png?generation=1556953107957057\&alt=media)

> 把猫做类 1，狗为类 2，小鸡 是类 3， 如果不属于以上任何一类， 就分到“其它”或者“以上均不符合”这一类，叫 做类 0

用大写C表示输入会被分入的类别总个数,当有 4 个分类时，指示类别的数字，就是从 0 到C − 1( 0、 1、 2、 3)

Softmax回归模型输出层的激活函数：

$$
z^{\[L]}=W^{\[L]}a^{\[L-1]}+b^{\[L]}
$$

$$
a^{\[L]}\_i=\frac{e^{z^{\[L]}*i}}{\sum*{i=1}^Ce^{z^{\[L]}\_i}}
$$

输出层每个神经元的输出$$a^{\[L]}\_i$$对应属于该类的概率，满足：

$$
\sum\_{i=1}^Ca^{\[L]}\_i=1
$$

所有的$$a^{\[L]}\_i$$，即$$\hat y$$，维度为(C, 1)

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0cdMtCC_eDPVqp7hk%2F298import.png?generation=1556953110367914\&alt=media)

在没有隐藏隐藏层的时候，直接对Softmax层输入样本的特点，则在不同数量的类别下，Sotfmax层的作用：

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0cdMv54akR7XNyfQ3%2F297import.png?generation=1556953122169967\&alt=media)

图中的颜色显示了 Softmax 分类器的输出的阈值，输入的着色是基于三种输出中概率最高的那种，任何两个分类之间的决策边界都是线性的

如果使用神经网络，特别是深层神经网络，可以得到更复杂、更精确的非线性模型
