03.结构化机器学习项目 W1.机器学习策略(1)
文章目录
- 1. 机器学习策略
- 2. 正交化 Orthogonalization
- 3. 单一数字评估指标
- 4. 满足和优化指标
- 5. 训练/开发/测试集划分
- 6. 开发集和测试集的大小
- 7. 什么时候该改变开发/测试集和指标
- 8. 人类的表现水准
- 9. 可避免偏差
- 10. 理解人的表现
- 11. 超过人的表现
- 12. 改善你的模型的表现
- 测试题作业
参考:
吴恩达视频课
深度学习笔记
1. 机器学习策略
如何改善模型的性能
- 收集更多数据
- 训练集多样性(如,识别猫,收集各种姿势的猫,以及反例)
- 训练的时间更长一些
- 尝试不同的优化算法(如 Adam优化)
- 规模 更大 / 更小 的神经网络
- 尝试 DropOut 正则化
- 尝试添加 L2 正则化
- 新的网络结构(修改激活函数,隐藏单元数目)
你可以去尝试,但是万一花了半年时间,最后发现是错误的?那就哭吧!
需要判断哪些是有效的,哪些是可以放心舍弃的。
2. 正交化 Orthogonalization
各个调整的变量之间最好没有耦合关系
定位出模型的性能瓶颈在哪个环节,利用对应的方法去改善
early stopping,就是一个不那么正交化的方法
过早停止,影响训练集准确率,同时它又可以改善在开发集的准确率
它同时影响两件事情,尽量用其他的正交化控制方法
3. 单一数字评估指标
- 准确率、召回率、F1值(前两者的平均)
F1=21precision+1recall=2∗precison ∗recallprecison +recall=TPTP+FN+FP2F 1=\frac{2}{\frac{1}{\text {precision}}+\frac{1}{\text {recall}}}=2 * \frac{\text {precison } * \text {recall}}{\text {precison }+\text {recall}}=\frac{T P}{T P+\frac{F N+F P}{2}}F1=precision1+recall12=2∗precison +recallprecison ∗recall=TP+2FN+FPTP
有一个单实数评估指标可以提高你的效率 或 做出决策的效率
4. 满足和优化指标
考虑 N 个指标,有时候选择其中一个做为优化指标是合理的。
尽量优化那个指标,然后剩下 N-1 个指标都是满足指标,意味着只要它们达到一定阈值,你不再关心指标在阈值内的大小
5. 训练/开发/测试集划分
举例:前4个区域的数据作为开发集,后4个作为测试集
- 非常不好,他们很可能来自不同的分布
- 应该随机打乱所有的数据,重新划分
6. 开发集和测试集的大小
7. 什么时候该改变开发/测试集和指标
更改测试指标:
误差:1∑w(i)∑i=1mdevw(i)L{(y^(i)≠y(i))}误差: \frac{1}{\sum w^{(i)}} \sum_{i=1}^{m_{d e v}} w^{(i)} \mathcal{L}\left\{\left(\hat{y}^{(i)} \neq y^{(i)}\right) \bigg\}\right.误差:∑w(i)1i=1∑mdevw(i)L{(y^(i)=y(i))}
w(i)={1if x(i)是非色情图片 10if x(i)是色情图片w^{(i)}=\left\{\begin{array}{cl}1 & \text { if } x^{(i)} \text { 是非色情图片 } \\ 10 & \text { if } x^{(i)} \text { 是色情图片}\end{array}\right.w(i)={110 if x(i) 是非色情图片 if x(i) 是色情图片
以上方法,你必须自己过一遍数据,把色情图片标记出来
在比如:你的开发/测试集都是很清晰的专业图片,而应用最终上线是针对不专业的图片(模糊,角度不好等)
那么就要更改开发/测试集,加入不专业图片作为训练数据
8. 人类的表现水准
把机器学习的水平和人类的水平相比较是很自然的。我们希望机器比人做的更好
对于人类擅长的任务,只要机器学习算法比人类差,就可以让人帮你标记数据,就有更多的数据可以喂给学习算法,改进算法
9. 可避免偏差
10. 理解人的表现
11. 超过人的表现
情况B:超过 0.5% 的门槛(比最好的医生的误差还低),要进一步优化你的机器学习问题就没有明确的选项和前进的方向了
12. 改善你的模型的表现
总结:
以上的方法就是一种正交化的改进思路。
- 训练集误差 与 贝叶斯估计误差 之间的差距:可避免偏差
- 训练集误差 与 开发集误差 之间的差距:方差
改进偏差:
- 更大规模的模型
- 训练更久、迭代次数更多
- 更好的优化算法(Momentum、RMSprop、Adam)
- 更好的新的神经网络结构
- 更好的超参数
- 改变激活函数、网络层数、隐藏单元数
- 其他模型(循环NN,卷积NN)
改进方差:
- 收集更多的数据去训练
- 正则化(L2正则、dropout正则、数据增强)
- 更好的新的神经网络结构
- 更好的超参数
测试题作业
参考博文链接
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
03.结构化机器学习项目 W1.机器学习策略(1)相关推荐
- 03.结构化机器学习项目 W2.机器学习策略(2)
文章目录 1. 进行误差分析 2. 清除标注错误的数据 3. 快速搭建你的第一个系统,并进行迭代 4. 使用来自不同分布的数据,进行训练和测试 5. 数据分布不匹配时,偏差与方差的分析 6. 定位数据 ...
- 结构化机器学习项目(二)- 机器学习策略(2)
本次学习笔记主要记录学习深度学习时的各种记录,包括吴恩达老师视频学习.花书.作者能力有限,如有错误等,望联系修改,非常感谢! @[TOC](结构化机器学习项目(二)- 机器学习策略(2)) 第一版 ...
- 0.0 目录-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...
- 深度学习笔记第三门课 结构化机器学习项目 第一周 机器学习(ML)策略(1)...
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 【中英】【吴恩达课后测验】Course 3 -结构化机器学习项目 - 第二周测验
[中英][吴恩达课后测验]Course 3 -结构化机器学习项目 - 第二周测验 - 自动驾驶(案例研究) 上一篇:[课程3 - 第一周测验]※※※※※ [回到目录]※※※※※下一篇:[课程4 -第一 ...
- 吴恩达深度学习笔记——结构化机器学习项目(Structuring Machine Learning Projects)
深度学习笔记导航 前言 传送门 结构化机器学习项目(Machine Learning Strategy) 机器学习策略概述 正交化(orthogonalization) 评价指标 数字评估指标的单一性 ...
- 【深度学习】吴恩达深度学习-Course3结构化机器学习项目-第一周机器学习(ML)策略(1)作业
题目仅含中文!! 视频链接:[中英字幕]吴恩达深度学习课程第三课 - 结构化机器学习项目 参考链接: [中英][吴恩达课后测验]Course 3 - 结构化机器学习项目 - 第一周测验 吴恩达< ...
- 吴恩达深度学习 | (15) 结构化机器学习项目专项课程第二周学习笔记
课程视频 第二周PPT汇总 吴恩达深度学习专项课程共分为五个部分,本篇博客将介绍第三部分结构化机器学习项目专项的第二周课程:机器学习(ML)策略(2) . 目录 1. 进行误差分析 2. 清除标注错误 ...
- 深度学习(三)结构化机器学习项目-机器学习策略2 -Andrew Ng
一.机器学习策略(2) 1.1 进行误差分析 如果你希望让学习算法能够胜任人类能做的任务,但你的学习算法还没有达到人类的表现,那么人工检查一下你的算法犯的错误也许可以让你了解接下来应该做什么.这个过 ...
最新文章
- Linux 服务器如何修改主机名
- pytorch学习之路
- DeepMind最新研究:如何将「大语言模型」 训练到最优?
- 为啥浏览器中的对象和w3c不一样??
- golang 模板 tpl 算术运算_高考数学常设的32个命题陷阱,七成同学中招失分!文末附数学疑难题(精品)模板!...
- Javascript中的null、undefined、NaN
- Angr安装与使用之使用篇(十一)
- php 字符串大写转小写转大写,字符串大小写批量互相转换 - 在线工具
- clark变换和park变换【1】
- 微信小程序搭载node.js服务器(简)
- 云效研发效能度量体系,如何展示和解读交付效能数据
- 计算机二级考试真题李阳答案,英语二级笔译_二级笔译培训_二级笔译真题 - 沪江英语...
- android stdio findViewById(R.id.报错
- iOS 手机记录登录账号密码列表
- FigDraw 20. SCI文章中绘图之马赛克图 (mosaic)
- 【AI理论学习】对Transformer中Positional Encoding的理解
- 微信小程序---文本域输入带最大字数限制
- 【密码学探秘】EVM链和并行执行交易
- MATLAB定态氢原子波函数可视化
- java getdocument_Java Element.getDocument方法代码示例
热门文章
- 对象的初始状态(构造函数)
- 在Mysql中显示所有用户的操作教程(Linux环境下)
- C++/C 宏定义(define)中# ## 的含义(转)
- 选择排序 冒泡排序 二分查找
- mysql和web文件夹_Linux使用记录---自动备份MySQL和web文件夹到windows共享路径
- 导致大量kworker的原因_高尿酸与生活习惯有关?导致高尿酸的8个坏习惯,现在改还来得及...
- 选购四轴飞行器的部件
- 【NOIP 模拟赛】 道路
- 链接学习之obj文件探索
- flatpickr功能强大的日期时间选择器插件