吴恩达deeplearning.ai课程系列笔记08
#写在最前,deeplearning.ai系列课程相较于之前的Andrew Ng在coursera上2014发布的机器学习课程内容更加丰富。
重要的是此次课程示例代码都是用python来实现,不需要去熟悉octave,对大部分需要用python来学习机器学习的同学来说是个福音!
原课程视频请移步网易云课堂或者coursera上学习。
#本文内容部分来自网络,只为自己学习以及分享供更多的人学习使用
1、正交化
所谓正交化,是指根据不同部分反映的问题,去做相应的调整,从而更加容易地判断出是在哪一个部分出现了问题,并做相应的解决措施。它是一种系统设计属性,其确保修改算法的指令或部分不会对系统的其他部分产生或传播副作用。
一般我们能想到的机器学习策略包括:
- 收集更多不同的训练集
- 结合梯度下降训练算法更长时间
- 尝试Adam算法
- 尝试更大的网路
- 尝试小一点的网络
- 试着用一下dropout算法
- 加上L2正则项
-
改善网络结构,如
- **函数
- 隐藏层节点数
2、单一指标
从上图中可以看出,以不同的指标来评判,就会有不同的结果。
最后,我们以F1 Score为一个综合指标,来评价分类器A更胜一筹。
3、训练、开发、测试集
- 在选择开发集和测试集时要使二者来自同一分布,且从所有数据中随机选取;
- 所选择的开发集和测试集中的数据,要与未来想要或者能够得到的数据类似,即模型数据和未来数据要具有相似性;
- 设置的测试集只要足够大,使其能够在过拟合的系统中给出高方差的结果就可以,也许10000左右的数目足够;
- 设置开发集只要足够使其能够检测不同算法、不同模型之间的优劣差异就可以,百万大数据中1%的大小就足够;
假设现在一个公司在做一个喵咪图片推送服务(即给用户推送喵咪的照片),部署的有两个算法:
- 算法A: 喵咪图片识别误差是3%,但是可能会一不小心就给用户发了一些少儿不宜的图片
- 算法B:误差是5%,但是不会给用户推送不健康的图片
4、人的表现
通过获取更多的数据,调整偏差和方差等,来获取更好的效果。
其中:
- Humans error 与 Training Error之间的差距我们成为Avoidable bias
- Training Error 与 Dev Error之间的差距我们成为Variance