吴恩达老师深度学习第三课第一周笔记

第三课:结构化机器学习项目
1.1为什么是ML策略
什么是机器学习策略
当识别猫的系统准确率不够高
吴恩达老师深度学习第三课第一周笔记_第1张图片
问题在于:如果你选择的方法不正确,找不准问题的方向,最终一事无成
课程内容就是希望通过对机器学习的分析,避免南辕北辙的问题
1.2正交化
正交化:就是(清楚明白应该)调整什么,来实现预期的效果吴恩达老师深度学习第三课第一周笔记_第2张图片
1)四个在深度学习中必备的事(确保四件事准确无误)
确保至少训练组运行良好(训练组的运行情况需要进行一些可行性评估)
开发组运行良好
测试组良好
成本函数的测试组运行良好
吴恩达老师深度学习第三课第一周笔记_第3张图片
1.3单一数字评估指标(single row number)
如果你有单一的量化评估指标,可以让你知道新的方法比上一次更好还是更糟,整个优化过程会加快
精确率P:判定是猫的图片中是猫的百分比
召回率R:是猫的图片中可以识别出来的百分比
问题在于把他们作为评估指标时,如果两个分类器,一个精确率好另一个召回率好,就很难办,这就体现了单一数字评估指标的意义
在机器学习,我们使用F1分数,可以理解为P和R的一种平均值(实际上是两个的调和平均数)
1.4 满足指标和优化指标
当你有多个指标可以用来衡量系统好坏,你选择一个用来优化(优化指标),其余的只要满足某个阈值就可以(满足指标)
1.5训练_开发(验证)_测试集
把所有数据随机打乱,然后从中随机选取训练集,验证集和测试集,而不要出现用美国猫的图片做训练集,用中国猫的图片做测试集的情况。
1.6开发集和测试集的大小
经验定律
7:3分割成训练集和测试集
如果需要验证集:就6:2:2
当有100 万个数据,一般会只用1%做验证集(其实是1万左右)1%做测试集,用其余98%作为训练集
1.7什么时候该改变开发集测试集和指标
当你需要你的评估函数反应自己的一些偏好,或者是对它不太满意时,可以通过加权等方法对函数进行更改
第一步确定一个指标,以衡量分类器在你的目标上的性能,然后再单独地考虑,如何在这个指标上得到很好的性能
1.8为什么是人的表现
第一随着深度学习的发展,机器学习算法的效果迅速提高,在很多领域和人有竞争力。
第二在很多领域,机器学习的效率比人工解决问题的效率还要高
1.9可避免偏差
当你知道人类水平,你就知道什么样的水平还但是没有好过头
就是假如一些照片人的识别的错误率也有7%,那么就不要求系统的错误率小于7%只要其接近7%即可。
我们把贝叶斯误差(或是对其的近似)其与训练集上的误差,成为可避免误差
所以,我们可以改进模型在训练集上的表现,直到误差小到与贝叶斯误差平齐
1.10理解人类表现
1.11超出人类表现
1.12改善你模型的表现
主要内容:就是把1.5-1.11综合起来用来改进学习算法
①你可以很好地拟合训练集,你可以大致认为你能得到较低的可避免偏差
②训练集的结果可以很好地推广到开发集或者训练集(也就是说方差不太大)从正交化角度来说,你看到的事存在一组旋钮可以修正可避免偏差的问题,并且有另一组独立的方法可以用来处理方差的问题,比如正则化或者获得更多训练数据
建议
1)先估计可避免偏差(试着在训练集优化到什么程度)
方法:训练一个更大模型
训练更长时间
用更好的优化算法(比如加入Momentum或者RMS Prop)
用更好的算法(比如Adam)
调整超参数,等到更好的神经网络架构
2)然后再看看你的开发集误差和训练集误差的差距(看看方差问题多大)(也就是看看你需要付出多大努力额可以把训练集结果推广到开发集等上)
方法:获得更多数据
正则化(L2 Dropout)
超参数
新的神经网络框架

你可能感兴趣的:(笔记,神经网络,python,机器学习,人工智能,深度学习)