Stanford 机器学习-Neural Networks learning

本文介绍了神经网络中的成本函数概念及其重要性,详细解释了两种成本函数的构成及作用。此外,还深入探讨了反向传播算法的工作原理,包括算法的直观理解、参数的展开与初始化、梯度检验以及训练神经网络的具体步骤。

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

1. Cost Function

字母含义:
nl 表示网络的层数
Ll 表示第l层
W(l)ij 表示第l层第j单元到第l+1层第i个单元之间的连接参数
b(l)i 表示是第l+1层第i单元的偏置项
a(l)i 表示是第l层第i单元的激活值(输出值)
z(l)i 第l层i单元输入加权和(包括偏置单元)
Sl 表示第l层的neuron个数。
- 二分类: Sl =1,y=0或者1
- 多分类问题 Sl =K, yi = 1表示分到第i类;(K>2)
Nneural Network表示

1.1两个cost function函数

其中前半部分是预测与真实值的距离,后半部分是用于正则化的bias项
Cost Function

w⃗ Tx⃗ +bw⃗  任意点 x⃗  到超平面 (w⃗ ,b) 的距离。
公式 γ=2w⃗  表示间隔
向量机的数学模型: min(w⃗ ,b⃗ )12w⃗ 2 ,使得 yi(w⃗ Tx⃗ i+b)1,i=1:m

2. Backpropagation Algorithm

我们的目的是最小化J(Θ)
下面公式中的第一项 J(W,b) 是一个均方差项。第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟合。
权重衰减参数 λ 用于控制公式中两项的相对重要性。
这里写图片描述
通过forward propagation,首先算出training dataset 在神经网络上的各层输出值:
前向传播的公式:
z(l+1)=Wlal+bl
a(l+1)=f(z(l+1))
forward propagation
根据 J(W,θ) 求偏导,可得出第 nl 层和第i层的 δ(l)j δ(l)j 表示实际值与网络产生的输出值的差异。
公式推导地址
对于第 nl 层:
δ(nl)i=(yia(nl)i)f(z(nl)i)
对于第l层:
δ(l)i=(sl+1j=1Wjiδl+1j)f(z(l)i)
partial derivative
反向传播算法可以表示为以下几个步骤:
1. 进行前馈运算,求出所有层的激活值和加权和。
2. 对于输出层,计算 δ(nl)=(ya(nl))f(z(nl))
3. 对于其他层,计算 δ(l)=((W(l))Tδ(l+1))f(z(l))
4. 计算最终所需要的偏导数的值:
W(t)J(W,b;x,y)=δ(l+1)(a(l))T
b(t)J(W,b;x,y)=δ(l+1)
在梯度下降法一次迭代中:
1. 对于所有l,另 ΔW(l):=0 , Δb(l):=0
2. 对于i=1:m
使用反向传播算法计算 W(t)J(W,b;x,y) b(t)J(W,b;x,y)
计算 ΔW(l):=ΔW(l)+W(t)J(W,b;x,y)
计算 Δb(l):=Δb(l)+b(t)J(W,b;x,y)
3. 更新权重参数
W(l)=W(l)α[(1mΔW(l))+λW(l)]
b(l)=b(l)α[1mΔb(l)]

3 Backpropagation Intuition

简述了BP算法
δ分量都等于后面一层所有的δ加权和,其中权值就是参数Θ。
θ(l)j=k=1θ(l)kjθ(l+1)k
BP算法指导
D作为cost function对参数的求导结果:
θ(l)ij=D(l)ij

4 unrolling parameters

首先将各层向量连接到一个vector里面传入function,然后展开,并进行计算。
unrolling parameters

5 gradient checking

主要就是通过gradient checking的方式,检查我们的BP算法是否正确。
这里写图片描述
这里写图片描述

6 Random Initialization

在初始化Theta值是,不能用0来初始化,而是随机初始化。
用0来初始化
随机初始化

7 Putting It Together

简单叙述了如何选取隐层的数目和每层的节点数。
这里写图片描述
训练神经网络的步骤
1. 初始化权重
2. 对所有的 x(i) 进行forward propagation得到 hθ(x(i))
3. 实现cost function函数
4. 实现backprop 得到partial derivative
5. 用gradient checking来检验backprop算法是否正确,在训练前要disable
6. 通过梯度下降等算法最小化 J(θ)
梯度下降法不能保证得到全局最优解,但一般得到的结果都会比较好
对所有的training example进行训练
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值