Andrew Ng Deep Learning 第三课
Andrew Ng Deep Learning 第三课 第一周
前言
网易云课堂(双语字幕,不卡):https://mooc.study.163.com/smartSpec/detail/1001319001.htmcourseId=1004570029、
Coursera(贵):https://www.coursera.org/specializations/deep-learning
本人初学者,先在网易云课堂上看网课,再去Coursera上做作业,开博客以记录,文章中引用图片皆为课程中所截。
题目转载至:http://www.cnblogs.com/hezhiyao/p/7810725.html
编程作业所需库:链接:https://pan.baidu.com/s/1aS1Oia2fskemBHHEMnSepw 密码:66gd
机器学习策略(1)
为什么是机器学习策略
正交化
Tips:简单来说就是做到每次调整的时候,该调整参数与其他参数无关,其他不会受到调参牵连。
单一数字评估指标
Tips:评测不同的分类器的时候有两个指标,准确率Precision(判断为正确的样本中真正正确的比例),召回率Recall(所有正确的样本中判断为正确的比例),将两个指标结合评估为(2/(1/P+1/R))
Tips:当参数多的时候,评估标准为参数平均数,举个例子即为对于A来说,评估为(3+7+5+9)/4=6%,而对于C来说是(2+3+4+5)/4=3.5
满足和优化指标
Tips:判断分类器好坏的时候,选则一个为主要优化指标,其他为满足指标,在所以分类器中先筛选出满足指标能够满足的,再从中按照优化指标来筛选
训练/开发/测试集
Tips:开发集和测试集和训练集要做到随机性,从不同样本空间中添加
Tips:若样本总数大,可以选择98:1:1的分配方式,训练集和测试集的目的是评估已训练的网络的好坏程度不需要过多的样本
什么时候该改变指标
Tips:若假设有两个分类器分别训练的情况,但是错误率较少的分类器有不适合用户的分类,这时候反而错误率较高的分类会更适合
人的表现
Tips:深度学习训练速度刚开始很快,结果一定程度上无法超过人类,极限为贝叶斯错误(Bayes Error),可以估计为人类所能做到的最佳错误率
可避免偏差
Tips:可避免偏差=贝叶斯错误(人类错误率)-训练集错误率,方差=测试集错误率-训练集错误率,两者对比可以判断更新深度学习的方式
https://blog.****.net/qq_43310834/article/details/85015696
Tips:高方差和高偏差的解决方法↑
机器学习策略(2)
人工误差分析
Tips:挑选出一些(例如100个一组)错误标记的样本,人工判断产生误差的方式,再进行改进
Tips:如果有人为标记错的情况,一样在错误样本分析中记录下它占的百分比,根据重要性决定是否改进
快速搭建你的第一个系统
Tips:遇到问题先搭建系统,再根据系统问题进行改进
不同划分集
Tips:若出现A数据样本特别多,B数据样本较少,而我们需要训练面向用户的是B数据样本,划分方法为取B数据样本一半进入训练集和A数据样本全部组成训练集,剩下B的一半再分为两份,一份为开发集,一份为测试集
Tips:在上一步的前提下,将训练集中抽出10%组成一个新集合名为训练开发集,神经网络只训练训练集,在剩下三个集上进行测试,这样能判断大数据(A数据样本)是不是不匹配我们所需要的(B数据样本)的情况
Tips:由此四步,就可以判断是方差/偏差还是数据不匹配问题
迁移学习
Tips:简单来说,遇到的当前问题存在数据样本不足的问题,则寻找一个与该问题类似且数据样本较多的问题,先训练A数据样本得到一个网络,将该网络基层保留,后面几层(包括输出层)还原成初始数据,再去训练当前问题的训练集
多任务学习
Tips:遇到需要判断多个输出情况的问题(计算机视觉),方法和softmax类似,softmax是多个输出中仅有一个成立,而多任务学习则是可能存在多个输出为1的
端到端的深度学习
Tips:简单来说,在有大数据的情况下,无需定下复杂手动步骤,由输入直接得出输出的学习方式
题目
机器学习策略(1)
Tips:训练集和测试集和开发集最好能做到从任何样本空间中随机得到
Tips:此处未给出贝叶斯错误,不知道是方差需要调整还是偏差需要调整
Tips:可避免偏差为2-0.1-1.9,方差为2.1-2.0=0.1,此处为高偏差
机器学习策略(2)
Tips:可避免偏差=8.8-0.5,方差=9.1-8.8,数据不匹配=14.3-9.1
Tips:选项2错在“little”,实际上是会形成对那些雾天图过拟合的风险