第五周(反向神经网络)-【机器学习-Coursera Machine Learning-吴恩达】
目录
代价函数
反向传播
反向传播算法非常复杂,所以最好使用时进行一下检验。
gradApprox ≈ deltaVector
注意:

· 为任意 x 使用前向传播获取 h
· 实现代价函数cost function
· 实现反向传播算法计算 偏导数
· 梯度检查
· 使用梯度下降或内置的优化函数,使成本函数最小化
题目:


代价函数
反向传播
神经网络总结
1 代价函数
2 反向传播算法——让代价函数最小化的算法
让代价函数最小化,利用matlab函数库fminunc时在costFunction时需要
·代价函数计算方法
·代价函数的偏导数
为了得到这个偏导数,使用反向传播算法:
3 反向传播算法实现
1)矩阵表达式和向量表达式的转换
矩阵变为向量:
向量还原矩阵:
向量表达式便于使用优化函数,如 fminunc()
反向传播算法非常复杂,所以最好使用时进行一下检验。
使用数值计算近似导数:
多参数时
matlab实现
gradApprox ≈ deltaVector
注意:
一旦你验证一次反向传播算法是正确的,就不需要再一次计算gradApprox,因为计算它会花费大量时间。
3)随机初始化
给出初始theta时,使用:
4 神经网络总结
1)选择神经网络结构
输入层单元数、输出层单元数、隐藏层个数以及各自的单元数(默认一个隐藏层,如果多个建议每层单元数相同)。
2)训练神经网络
· 随机初始化权重,也就是theta· 为任意 x 使用前向传播获取 h
· 实现代价函数cost function
· 实现反向传播算法计算 偏导数
· 梯度检查
· 使用梯度下降或内置的优化函数,使成本函数最小化
题目: