a06.Andrew-ML05-反向传播算法

2018-08-15  本文已影响24人  Xylia_Yang

Cost Function and BackPropagation

01.COST FUNCTION


02.反向传播算法(Backpropagation Algorithm)


  1. 初始化 a(1):=x(t)

  2. 使用前向传播计算出每一层的 a(l)for l=2,3,…,L

  3. 计算误差值: δ(L)=a(L)−y(t)(y表示实际的输出值)

  4. 反向计算出误差值:



    另一种表达形式:


  5. 计算



    与梯度下降类似的方式更新最优值。



03.Backpropagation Intuition


Backpropagation in practice

01. 展开参数(Unrolling Parameters)


thetaVector = [ Theta1(:); Theta2(:); Theta3(:); ]
deltaVector = [ D1(:); D2(:); D3(:) ]

从向量中恢复:

Theta1 = reshape(thetaVector(1:110),10,11)
Theta2 = reshape(thetaVector(111:220),10,11)
Theta3 = reshape(thetaVector(221:231),1,11)

  1. 有了初始化参数向量
  2. 展开到一个向量中
  3. 带入优化函数去求值


02. 梯度下降算法检查(Gradient Checking)


03. 随机初始化(Random Initialization)


04. 训练一个神经网络

  1. 随机初始化权值
  2. 对于每一个输入运用前向神经网络得到hΘ​(x(i))
  3. 计算出代价函数
  4. 利用反向传播算法计算出偏导数
  5. 利用梯度下降函数检查算法检验反向传播算法是正确的,然后梯度下降检测
  6. 利用梯度下降或者optimization函数最小化代价函数,计算出theta


上一篇 下一篇

猜你喜欢

热点阅读