神经网络笔记 - 反向传播(BackPropagation)

神经网络的数学描述:

这里写图片描述

wljk 表示 l1 层的第 k 个神经元到l层的第 j 个神经元输入的权重.
blj表示 l 层的第j个神经元的偏移
alj 表示 l 层的第j个神经元的输出
所以:

alj=σ(kwljkal1k+blj)

也可以用更简洁的描述:
al=σ(wlal1+bl)

令:
zl=zlj=wlal1+bl

zl 可以视为第 l 层神经元的带权重和偏移的输入.

代价函数(Cost Function)

代价函数的定义如下:

C=12nx||y(x)aL(x)||2

这里: n 是训练样本的个数, y(x)是期望的输出, L 是神经网络的总层数, aL=aL(x)是神经网络当输入样本为 x 时的输出.

Hadamard 积

Hadmard积的定义如下:
这里写图片描述

反向传播的基本概念

定义错误δlj:

δlj=Czlj

则:
δLj=kCaLkaLkzLj

因为 aLk 是第 L 层的第k个神经元, 只有当 j=k 时, 跟 zLj 有关, 所以
aLkzLj=0,if   kj

于是:
δLj=CaLjaLjzLj

所以, 反向传播公式一(BP1)
δLj=CaLjσ(zLj)

继续来推导反向传播公式二 (BP2):

δlj=Czlj

于是:
δlj=kCzl+1kzl+1kzlj

继续推导:
δlj=kzl+1kzlkδl+1k

因为:
zl+1k=jwl+1jalj+bl+1j=jwl+1jσ(zlk)+bl+1j

所以:
zl+1kzlk=wl+1kσ(zlk)

因此:
δlj=kwl+1kjδl+1kσ(zlk)

这就是反向传播公式二BP2, 也可以简写为:
δl=(wl+1)Tδj+1σ(zl)

于是, 如果我们已知 δl , 可以计算 δl1 .

神经网络的学习过程最终需要调整 w b, 所以我们需要计算
Cwljk Cblj 。 这就是反向传播公式三和四(BP3 and BP4)
待续

Reference

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值