# Softmax & Overfitting

# Softmax

这是另一种类型的输出层方程

第一步与传统情况相同,也是加权加偏向再求和

第二步将sigmodsigmod函数修改为

ajL=ezjlkezkla^L_j = \frac{e^{z^l_j}}{\sum_k e^{z^l_k}}

上式中,分母是把所有神经元的输入值加起来,分子时当前神经元的输入值。

当某一个神经元的输入值增加时,其他几个神经元会减小,并且增加值和减小值的总和相等。

  • 每个输出值都是大于等于0
  • 总的输出值和为1

因此,可以认为是一组概率分布,可以描述为输出的是分类的每个可能标签的概率值。对于sigmodsigmod,不能默认输出总和为1,因此不能轻易描述为概率分布。

# 目标函数

定义loglikelyhoodlog-likelyhood函数

C=lnaylC = -lna^l_y

假设输入是手写数字7,输出趋向于7,因此7的概率最大,取对数就比较小,适合做CostCost函数。

此时是否存在学习慢的问题?

学习快慢取决于

CwjkLCbjL\frac{\partial C}{\partial w^L_{jk}} \quad \frac{\partial C}{\partial b^L_j}

此时,对CostCost函数求偏导,得到

CbjL=ajLyj\frac{\partial C}{\partial b^L_j} = a^L_j-y_j

CwjkL=akL1(ajLyj)\frac{\partial C}{\partial w^L_{jk}}= a^{L-1}_k(a^L_j-y_j)

对比之前的entropycostentropy cost,可以看出,都是只与errorerror有关

# Overfitting

  • 含义
    在训练集上表现好,但不能再测试集上表现很好。