Machine Learning - Coursera week5 cost function and backpropagation 2

本文介绍了神经网络的成本函数及其简化形式,并详细解释了反向传播算法的工作原理,包括如何通过计算δ值来衡量预测结果与实际结果之间的误差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 回顾cost function

cost function for a neural network is:
J(Θ)=1mt=1mk=1K[y(t)k log(hΘ(x(t)))k+(1y(t)k) log(1hΘ(x(t))k)]+λ2ml=1L1i=1slj=1sl+1(Θ(l)j,i)2J(Θ)=−1m∑t=1m∑k=1K[yk(t) log⁡(hΘ(x(t)))k+(1−yk(t)) log⁡(1−hΘ(x(t))k)]+λ2m∑l=1L−1∑i=1sl∑j=1sl+1(Θj,i(l))2

simple non-multiclass classification (k = 1) and disregard regularization, the cost is computed with:

cost(t)=y(t)log(hΘ(x(t))+(1y(t))log(1hΘ(x(t))cost(t)=y(t)log(hΘ(x(t))+(1−y(t))log(1−hΘ(x(t))

Theδ(l)jδj(l) is the error for a(l)jaj(l) ,

δj(l)=cost(t)z(l)jδj(l)=∂cost(t)∂zj(l)

2. 计算δ(l)jδj(l)

回顾一下前向传播,某一个节点的值是如何计算的。我们将把(xi,yi )输入到这个网络当中, x1ixi1x2ixi2将是我们对输入层的设置. 当我们进入第一个隐层, 我们会计算z(2)1z1(2)z(2)2z2(2).然后我们来用冲击函数计算他们的激励值有a(2)1a1(2)a(2)2a2(2)。之后我们把这些值乘以相应的权重如θ(2)10θ10(2),θ(2)11θ11(2),θ(2)12θ12(2)并赋予给z(3)1z1(3),再使用sigmoid函数激活得到a(3)1a1(3)。 类似的,我们一直得到z(4)1z1(4)和最后的结果a(4)1a1(4).
p8
误差反向传播与正向传播很像,我们先看他的代价函数。考虑最简单的一个输出(K=1)的情况:
J(Θ)=1mt=1m[y(t) log(hΘ(x(t)))+(1y(t)) log(1hΘ(x(t)))]+λ2ml=1L1i=1slj=1sl+1(Θ(l)j,i)2J(Θ)=−1m∑t=1m[y(t) log⁡(hΘ(x(t)))+(1−y(t)) log⁡(1−hΘ(x(t)))]+λ2m∑l=1L−1∑i=1sl∑j=1sl+1(Θj,i(l))2
不考虑正则化:

J(Θ)=1mt=1m[y(t) log(hΘ(x(t)))+(1y(t)) log(1hΘ(x(t)))]J(Θ)=−1m∑t=1m[y(t) log⁡(hΘ(x(t)))+(1−y(t)) log⁡(1−hΘ(x(t)))]

上面简化的代价函数所做的事情就和下面的函数是一样的:
cost(t)=y(t)log(hΘ(x(t))+(1y(t))log(1hΘ(x(t))cost(t)=y(t)log(hΘ(x(t))+(1−y(t))log(1−hΘ(x(t))

这个函数的作用等价于逻辑回归时使用的均方误差,描述模型的输出和真实值的接近程度。

反向传播在做什么
p9
首先,设置delta项 δ(4)1δ1(4),正如我们对前向传播算法对训练数据i的做法一样。 δ(4)1=a(4)1yiδ1(4)=a1(4)−yi就是我们预测结果和真实结果的误差。我们 δ(4)1δ1(4)反向传播回去,得到 δ(3)1δ1(3), δ(3)2δ2(3). 进一步往前,得到 δ(21δ1(2δ(2)2δ2(2). 看起来就像是前向传播,只不过我们现在反过来做了. 看看最后我们如何得到δ(2)2δ2(2). 所以我们得到δ(2)2δ2(2) 和前向传播类似,它与权重Θ(211Θ11(2Θ(2)22Θ22(2),以及下一层的误差结果δ(3)1δ1(3), δ(3)2δ2(3)相关,把这个值乘以它权值,最后做加权求和就得到了δ(2)2δ2(2)。同理这里还要知道δ(3)2δ2(3),这就等于δ(4)1δ1(4)乘以它的权重。我们一般不考虑偏置单元。

转载于:https://www.cnblogs.com/siucaan/p/9623136.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值