Machine Learning第五讲[神经网络: 学习] --(一)代价函数和BP算法

内容来自Andrew老师课程Machine Learning的第五章内容的Cost Function and Backpropagation部分。

一、Cost Function(代价函数)
1、先来看一下两个术语:L和的含义
(1)L是指神经网络的层数
(2)是指第l层的单元数目(不包含偏执神经元)

图的下半部分比较了二元分类和多元分类中与K值的大小的关系。

2、下面是神经网络的代价函数,

神经网络的代价函数看起来比较复杂,含有嵌套的加法,但是它和logistic回归中代价函数的主要区别便是将输出的每一个元素都加起来了。
注意:在加法过程中,公式的下标是从1开始的,即不包含下标为0的值。

二、Backpropagation Algorithm(BP算法)
本部分内容主要是找出使得代价函数最小化的算法,主要是反向传播算法。

下面是神经网络的代价函数。其中红色框出的部分是正则项。

k:输出单元个数即classes个数,L:神经网络总层数,:第L层的单元数(不包括偏置单元),:表示第L层边上的权重即参数。

我们的目标是找出Θ,使得J(Θ)的值最小。
最先想到的方法便是求偏导(其中∈R。),J(Θ)可以由公式直接给出,关键就是如何计算其偏导。

下面给出前向传播的基本过程。



关于反向传播,就是前向传到过程反过来。
给出右图(总共有4层)所示的例子,之所以叫做反向传播,是因为先从输出层开始计算,从后往前推,类似于把输出结果的误差反向传播给了第3层,又将第3层的误差反向传给了第2层。


纠正:delta叫做残差


接下来看BP算法的原理:
1、利用forward propagation计算出每一层的“激活值”,l=1,2,3,...,L。
2、计算出最后一层即输出层每个输出单元的残差
3、计算出第L-1,L-2,L-3,...,2层节点的残差
4、计算出我们需要的偏导数。


三、Backpropagation Intuition(BP算法的直观过程)
本部分主要通过2个图形来更直观地理解前向传播和反向传播的计算过程。

1、首先来看一个前向传播的计算过程,都是利用左侧的数据算出右侧的数据:


2、定义delta残差和平方误差函数的关系(忽略了正则项的影响,例子也是只有1个输出值的特例)


3、下面是反向传播的计算过程,总是利用右侧的数据计算出左侧的数据:

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值