📃
Nielsen-NNDL
  • Introduction
  • 第1章 使用神经网络识别手写数字
    • 感知机神经元
    • sigmoid神经元
    • 神经网络的架构
    • 用于识别手写数字的简单网络
    • 梯度下降学习法
      • 准备工作
      • 梯度下降法
      • 应用到神经网络
    • 实现数字分类的神经网络
      • 数据集
      • 初始化
      • 向后传递
      • 随机梯度下降
      • 总结
  • 第2章 反向传播算法的工作原理
    • 热身:一种矩阵方法快速计算神经网络的输出
    • 关于代价函数的两个假设
    • Hadamard积
    • 反向传播算法中的4个等式
      • 一个新的定义
      • 4个等式
      • 等式的意义
    • 4个等式的证明
    • 反向传播算法
    • 代码解读
    • 反向传播算法为什么这么快
  • 第3章 提升神经网络的学习方法
    • cross-entropy代价函数
      • 当前神经网络存在的问题
      • 引入cross-entropy代价函数
      • 使用cross-entropy分类手写数字
      • cross-entropy代价函数是怎么推出来的
      • cross-entropy的数学意义
      • softmaxt+loglikelihood
    • 过拟合和正则化
      • 过拟合
      • L2正则化
      • 在当前神经网络中使用L2正则化
      • 其它问题
      • L1正则化
      • dropout正则化
      • 人为扩充训练数据
    • weights初始化
    • 回到手势识别代码
    • 怎样选择超参数
      • broad策略
      • 学习率eta
      • 迭代次数epochs
      • 正则化参数lambda
      • minibatch样本数m
      • 自动化技术
    • 其它技术
      • Hessian技术
      • momentum技术
      • tanh神经元
      • RectifiedLinear神经元
  • 第5章 训练深度神经网络难以训练
    • 梯度消失问题
    • 梯度消失的原因
  • 第6章 深度学习
    • 卷积神经网络介绍
      • LocalReceptiveField
      • SharedWeights
      • pooling层
      • 组装到一起
    • 卷积神经网络的实践与改进
    • 其它深度神经网络的方法
  • 术语中英文对照
Powered by GitBook
On this page
  • 激活函数softmax
  • 代价函数log-likelihood
  • softmax + log-likelihood怎么解决“learn slow”的问题
  • “softmax + log-likelihood” VS “sigmoid + cross-entropy”

Was this helpful?

  1. 第3章 提升神经网络的学习方法
  2. cross-entropy代价函数

softmaxt+loglikelihood

这是另一种解决learning slow down的方法。

激活函数softmax

将神经网络的输出层神经元全部换成softmax神经元。 softmax神经元的激活函数为:

\begin{eqnarray} a^L_j = \frac{e^{z^L_j}}{\sum_k e^{z^L_k}}, \tag{78}\end{eqnarray}

softmax激活函数满足以下特点: 1. ∑jajL=1\sum_j a^L_j = 1∑j​ajL​=1 2. ajL>0a^L_j > 0ajL​>0

softmax层的输出是一种概率分布。 可以看作是“这个神经元的是正确的”的概率。

zjL=ln⁡ajL+Cz^L_j = \ln a^L_j + CzjL​=lnajL​+C

代价函数log-likelihood

定义代价函数为:

\begin{eqnarray} C \equiv -\ln a^L_y. \tag{80}\end{eqnarray}

例如,如果y=7是正确结果,那么a7La^L_7a7L​应该接近1,而C应该接近0.

softmax + log-likelihood怎么解决“learn slow”的问题

通过推导可得:

\begin{eqnarray} \frac{\partial C}{\partial b^L_j} & = & a^L_j-y_j \tag{81}\\ \frac{\partial C}{\partial w^L_{jk}} & = & a^{L-1}_k (a^L_j-y_j) \tag{82}\end{eqnarray}

这个结果与sigmoid + cross-entropy的结果是一样的。 因此也能解决"learn slow"的问题。

“softmax + log-likelihood” VS “sigmoid + cross-entropy”

在大多数情况下,这两种方法都有比较好的效果。 softmax + log-likelihood有一个额外的好处,就是输出的是一个概率分布。 本书主要使用“sigmoid + cross-entropy”。

Previouscross-entropy的数学意义Next过拟合和正则化

Last updated 5 years ago

Was this helpful?