[笔记]Coursera Machine Learning Week4,5 - 神经网络(Neural Networks)

以后不更新了。。网上发现了黄海广大佬整理的笔记,整理的真好_(:з」∠)_ _(:з」∠)_ 。。。他的笔记github

概念与表述

线性回归与逻辑回归的缺点:特征太多的时候计算负荷太大。

神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。
这里写图片描述

直观理解

神经网络的单层神经元的计算可以用来表示逻辑运算,比如AND、OR。

这里写图片描述

这里写图片描述

这里写图片描述

如果用多层的话就可以组成功能复杂的神经网络。

这里写图片描述

多类分类

这里写图片描述
这里写图片描述

代价函数

逻辑回归的代价函数:

这里写图片描述

神经网络代价函数:( hθ(x) h θ ( x ) 为K维度的向量,因为神经网络中可以输出很多变量。训练集中的因变量也是K维度)

这里写图片描述

反向传播算法

预测结果时我们正向传播:从第一层正向一层层传播,直到最后一层 hθ(x) h θ ( x )

这里写图片描述

这里写图片描述

计算代价函数的偏导数时,从最后一层的误差算起,一层层反向求出各层误差,直到倒数第二层。设误差为 δ δ

δ(n)=a(n)y δ ( n ) = a ( n ) − y
δ(n1)=(θ(n1))Tδ(n).g(z(n1)) δ ( n − 1 ) = ( θ ( n − 1 ) ) T δ ( n ) . ∗ g ′ ( z ( n − 1 ) )
... . . .
δ(2)=(θ(2))Tδ(3).g(z(2)) δ ( 2 ) = ( θ ( 2 ) ) T δ ( 3 ) . ∗ g ′ ( z ( 2 ) )

于是偏导数的表达式即为: θ(l)ijJ(θ)=a(l)ijδl+1i ∂ ∂ θ i j ( l ) J ( θ ) = a i j ( l ) δ i l + 1

l代表目前所计算的是第几层。
j代表目前计算层中的激活单元(神经元)的下标,也将是下一层的第j个输入变量的下标。
i代表下一层中误差单元的下标,是受到权重矩阵中第i行影响的下一层中的误差单元的下标。

步骤总结

  1. 参数的随机初始化

  2. 利用正向传播方法计算所有的hθ(x)

  3. 编写计算代价函数J的代码

  4. 利用反向传播方法计算所有偏导数

  5. 利用数值检验方法检验这些偏导数

  6. 使用优化算法来最小化代价函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值