文章目录
0 写在前面
这一章主要是解决多分类的问题,sofxmax。
1 解决输出问题
之前我们学习过糖尿病的二分类问题,现在我们要学习的是手写数据集MNIST,十分类的问题。那么这里的输出就从[0,1]一直到了[0,1,2,3,4,5,6,7,8,9]。
1.1 输出属于每一个类别的可能性?
二分类问题——1个输出结果就够了
十分类问题——9个输出结果就够了
但是我们希望将来输出的结果都是正的,和为1。能够满足正态分布。
- 我们需要让输出满足一个分布。(distribution)
-
所以sigmoid函数就不能保证我们的需求。
-
因此我们需要引入softmax函数!
-
softmax函数的公式如下所示:
这里 Z i Z_i Zi表示的是,上一层的输出结果。让所有的值都正,那么就套一个指数函数, e z i e^{z_i} ezi就能保证全为正。然后加起来求和作为分母,分子是第i个输出的情况。
- softmax函数:每一个输出的值,都做一个exponent,然后求和,除以sum,然后最后计算分布。