训练神经网络的基本步骤

1. 选择一种网络结构

即选择神经元之间的连通模式

神经元连通模式示例

  • 输入层与输出层单元个数由具体特征决定

  • 隐藏层通常默认为1层;若为多层,则每个隐藏层单元个数应相等。通常隐藏层单元数越多越好

  • 隐藏层单元数应与输入特征数相匹配

2. 随机初始化权重

通常把权重值初始化为接近0的很小的数

3. 执行前向传播FP算法

获得对应于每一个 xih_theta(xi)

4. 通过代码计算出代价函数 J(theta)

5. 执行反向传播算法

获得 J(theta) 对于 theta 的偏导​,即

误差函数对于theta偏导

步骤 3-5

FP与BP伪代码

6. 进行梯度检查

  • 比较 通过反向传播得到的偏导数通过数值计算得到的估计值

  • 确保两种方法得到基本接近的两个值​

  • 注意在检查完毕后关闭梯度检查

7. 利用最优化算法与反向传播算法最小化 J(theta)

比如,使用最小梯度法

最小梯度法最小化J(theta)

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus