📃
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
  • 用梯度下降法最小化损失函数
  • 应用梯度下降法要解决的问题
  • 批量梯度下降法与随机梯度下降法的比较
  • 怎么思考三维以上维度的问题

Was this helpful?

  1. 第1章 使用神经网络识别手写数字
  2. 梯度下降学习法

应用到神经网络

用梯度下降法最小化损失函数

用梯度下降法最小化损失函数

\begin{eqnarray} C(w,b) \equiv \frac{1}{2n} \sum_x \| y(x) - a\|^2 \nonumber\end{eqnarray}

概率梯度下降法的更新公式得:

\begin{eqnarray} w_k & \rightarrow & w_k' = w_k-\eta \frac{\partial C}{\partial w_k} \tag{16}\\ b_l & \rightarrow & b_l' = b_l-\eta \frac{\partial C}{\partial b_l}. \tag{17}\end{eqnarray}

应用梯度下降法要解决的问题

根据以上公式可知,要更新一次w,b,就要对所有样本分别进行一次计算。 当样本数量非常大时,每一更新都非常耗时。

解决方法:随机梯度下降法 stochastci gradient descent

随机取m个样本来更新w和b,认为m个样本计算出来的梯度近似C的梯度。

\begin{eqnarray} \frac{\sum_{j=1}^m \nabla C_{X_{j}}}{m} \approx \frac{\sum_x \nabla C_x}{n} = \nabla C, \tag{18}\end{eqnarray}

因此,更新公式变成了:

\begin{eqnarray} w_k & \rightarrow & w_k' = w_k-\frac{\eta}{m} \sum_j \frac{\partial C_{X_j}}{\partial w_k} \tag{20}\\ b_l & \rightarrow & b_l' = b_l-\frac{\eta}{m} \sum_j \frac{\partial C_{X_j}}{\partial b_l}, \tag{21}\end{eqnarray}

事实上,公式中的1n\frac{1}{n}n1​或1m\frac{1}{m}m1​也不重要,常常被省略。只是相当于调整了η\etaη而已。

批量梯度下降法与随机梯度下降法的比较

随机梯度下降法不如批量梯度下降法那样“直奔目的”。它会为随机选取的样本不同而波动。 但随机梯度下降法带来的优化的效率是非常可观的。 事实上,我们不需要非常完美的算法,只要算法的进化方向是正确的就可以了。 所以随机梯度下降法更常用。

更进一步,当m=1时,每次只是随机选择一个样本进行调参,就变成了一个在线学习算法。

怎么思考三维以上维度的问题

Previous梯度下降法Next实现数字分类的神经网络

Last updated 5 years ago

Was this helpful?

人不能看见三维以上维度的空间。所以需要借助一些方法来思考三维以上维度的问题。 其中一种方法是algebraic(代数)。 还有其它一些方法,见

链接