第四周:深层神经网络(Deep Neural Networks)

1、深层神经网络(Deep L-layer neural network)

在打算使用深层神经网络之前,先去尝试逻辑回归,尝试一层然后两层隐含层,把隐含层的数量看做是另一个可以自由选择大小的超参数,然后再保留交叉验证数据上评估,或者用你的开发集来评估。

2、前向传播和反向传播(Forward and backward propagation)

前向传播:

反向传播:

3、为什么使用深层表示?(Why deep representations?)

假设,建立一个人脸识别或是人脸检测系统,深度神经网络所做的事就是,当你输入一张脸部的照片,可以把深度神经网络的第一层,当成一个特征探测器或者边缘探测器。

第一张大图中的小方块(第一行第一列)就是一个隐藏单元,它会去找这张照片里(“|”)边缘的方向。那么这个隐藏单元(第四行第五列),可能是在找(“—”)水平向的边缘在哪里。

我们可以把照片里组成边缘的像素们放在一起看,然后它可以把被探测到的边缘组合成面部的不同部分(第二张大图)。比如说,可能有一个神经元会去找眼睛的部分,另外还有别的在找鼻子的部分,然后把这许多的边缘结合在一起,就可以开始检测人脸的不同部分。最后再把这些部分放在一起,比如鼻子眼睛下巴,就可以识别或是探测不同的人脸(第三张大图)。

4、参数VS超参数(Parameters vs Hyperparameters)

算法中的learning rate (学习率)、iterations(梯度下降法循环的数量)、L(隐藏层数目)、nL(隐藏层单元数目)、choice of activation function(激活函数的选择),这些数字实际上控制了最后的参数W和b的值,所以它们被称作超参数。

如何寻找超参数的最优值?

Idea—Code—Experiment—Idea这个循环,尝试各种不同的参数,实现模型并观察是否成功,然后再迭代。

例如,通常你有个想法,比如你可能大致知道一个最好的学习率值,可能说a=0.01最好,我会想先试试看,然后你可以实际试一下,训练一下看看效果如何。

然后基于尝试的结果你会发现,你觉得学习率设定再提高到0.05会比较好。如果你不确定什么值是最好的,你大可以先试试一个学习率a,再看看损失函数J的值有没有下降。

然后你可以试一试大一些的值,然后发现损失函数的值增加并发散了。然后可能试试其他数,看结果是否下降的很快或者收敛到在更高的位置。

你可能尝试不同a的并观察损失函数J怎么变换,如果这个a值会加快学习过程,并且收敛在更低的损失函数值上(箭头标识),那么就确定使用这个a值。

最新文章

  1. (转载)SQL去除回车符,换行符,空格和水平制表符
  2. Java 集合系列 01 总体框架
  3. Struts2 OGNL使用详解(转)
  4. Golang之ring.Ring的Link操作
  5. 如何在linux中搭建JEECMS系统
  6. mysql导入数据库
  7. 两款.net 下编辑器小结
  8. 获取IP所在地
  9. codeforces #550E Brackets in Implications 结构体
  10. [Apache Spark源代码阅读]天堂之门——SparkContext解析
  11. JAVA中StringBuffer类常用方法
  12. UE4 Fade out Mesh
  13. 探究Angular依赖注入对象$injector
  14. IDEA 创建Web项目
  15. PXE:偷梁换柱,成功 启动 centos live
  16. 转载:指针delete后要设置为NULL
  17. 到浏览器顶部的获取js和jquery
  18. CF1064B 【Equations of Mathematical Magic】
  19. 我的zsh简单设置
  20. C#中Windows Media Player控件使用实例|方法

热门文章

  1. AngularJS 控制器函数
  2. Java面向对象知道这些就够了
  3. 数据库:DDL/DML/DCL/TCL基本概念
  4. 【oracle使用笔记3】sql查询遇到的若干问题总结
  5. cornerstone提示“SQLite-database disk image is malformed”
  6. 为什么你的 App 没人用?请按这8条逐一对照
  7. js解决异步的方法汇总
  8. spring boot 小案例
  9. admin添加用户时报错:(1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_l
  10. django之多表查询