吴恩达-机器学习(5)-反向传播

Cost Function and Backpropagation

Cost Function

L:代表神经网络的层数
S l S_l :第l层的神经元个数
K:输出神经元的个数

神经网络的代价函数

Backpropagation Algorithm

使用梯度下降,最重要的就是要计算偏导

δ j ( l ) \delta^{(l)}_j 表示第l层第j个节点的误差

反向传播的步骤

Backpropagation in Practice

Unrolling parameters

将矩阵转换成向量的形式

Gradient Checking

检测梯度下降的正确性
近似梯度的计算

算法的过程

Random Initialization

参数初始化本能像以往一样全设为0,因为根据正向传播,如果参数全为0,那么 a l a^l 全是一样的,反向传播更新的参数也是一样的

随机初始化

Putting it Together

训练神经网络的第一步就是选择网络的结构,输入单元的个数等于特征的树立数量,输出单元的个数等于分类的数量,每层的隐藏单元数量越多越好,当计算成本会相应的增加,每层隐藏层一般拥有相同数量的隐藏单元,但通常只是用一个隐藏层。

训练神经网络的步骤:

  1. 随机初始化权值
  2. 进行正向传播计算每个 x ( i ) x^{(i)} h θ ( x ( i ) ) h_\theta(x^{(i)})
  3. 计算代价函数 j ( θ ) j(\theta)
  4. 进行反向传播算法计算偏导数
  5. 使用梯度检查来确认你的反向传播工作。然后禁用梯度检查。
  6. 使用梯度下降或内置的优化函数,以最大限度地减少成本函数。

猜你喜欢

转载自blog.csdn.net/u014351944/article/details/82349461
今日推荐