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=2precison +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=1mdevw(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阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS—常用选择器

选择器是指通过一定的语法规则选取到对应的HTML标记,然后给这个对应的HTML标记设置样式 1.标签选择器 写法:标签名{属性:值;属性:值} 标签选择器影响范围大,一般用来做一些通用设置,或用在层级选择器中。 举例: div{color:red}…

Educational Codeforces Round 104 (Rated for Div. 2)A~E解题报告

Educational Codeforces Round 104 (Rated for Div. 2) A. Arena \quad原题链接 http://codeforces.com/contest/1487/problem/A \quad解题思路 首先,我们看战斗次数是无限的,任意非最小值的英雄都有赢得次数,既然有场次可以赢&#xff0…

LeetCode 1130. 叶值的最小代价生成树(区间DP/单调栈贪心)

文章目录1. 题目2. 解题2.1 DP2.2 单调栈贪心1. 题目 给你一个正整数数组 arr,考虑所有满足以下条件的二叉树: 每个节点都有 0 个或是 2 个子节点。数组 arr 中的值与树的中序遍历中每个叶节点的值一一对应。(知识回顾:如果一个…

CSS属性提升

CSS样式 属性提高 text-align设置文字水平对齐方式,如text-align:center 设置文字水平居中 text-indent设置文字首行缩进,如:text-indent:24px; 设置文字首行缩进24px font-style设置字体是否倾斜,如:font-style:no…

03.结构化机器学习项目 W2.机器学习策略(2)

文章目录1. 进行误差分析2. 清除标注错误的数据3. 快速搭建你的第一个系统,并进行迭代4. 使用来自不同分布的数据,进行训练和测试5. 数据分布不匹配时,偏差与方差的分析6. 定位数据不匹配问题7. 迁移学习 Transfer learning8. 多任务学习 Mul…

属性和索引器的使用

索引器允许您按照处理数组的方式索引类、结构或接口。参数相当于中介。 http://msdn.microsoft.com/zh-cn/library/2549tw02(vvs.80).aspx 转载于:https://www.cnblogs.com/iammackong/p/3268187.html

列表与表单

有序标签orderlist - 基本用法 - -<ol> - <li>列表内容</li> - <li>列表内容</li> - ..... - </ol> - 快速构建表格的快捷键 ol>(li>a)*4 无序标签 unorderlist -->经常使用 -<ul> …

Codeforces Round #702 (Div. 3)解题报告

Codeforces Round #702 (Div. 3) 全部题解 读错题意&#xff0c;写了半天真是心态爆炸&#xff0c;总的来看这次题目不难的。 A. Dense Array http://codeforces.com/contest/1490/problem/A 解题思路 相邻的数字必然是倘若不满足的话是需要插入数据的&#xff0c;那么我们…

LeetCode 930. 和相同的二元子数组(哈希+前缀和)

文章目录1. 题目2. 解题1. 题目 在由若干 0 和 1 组成的数组 A 中&#xff0c;有多少个和为 S 的非空子数组。 示例&#xff1a; 输入&#xff1a;A [1,0,1,0,1], S 2 输出&#xff1a;4 解释&#xff1a; 如下面黑体所示&#xff0c;有 4 个满足题目要求的子数组&#xff…

poj 3469(网络流模版)

题目链接&#xff1a;http://poj.org/problem?id3469 思路&#xff1a;终于把网络流的模版测试好了&#xff0c;在Dinic和Sap之间还是选择了Sap,事实证明Sap确实比Dinic效率高&#xff0c;在此贴出自己的网络流模版&#xff1a; 1 #include<iostream>2 #include<cstd…

盒子的真实宽高

盒子的宽 两边border 两边padding 盒子的高度 上下border 上下padding

leetcode第 46 场双周赛

题目A https://leetcode-cn.com/problems/longest-nice-substring/ 因为 length≤100length \leq 100length≤100&#xff0c;我们直接就可以遍历子串然后更新答案。 class Solution { public:bool Check(string s){unordered_set<int> m;for (auto u : s)m.insert(u);…

margin相关技巧

1、设置元素水平居中; margin:0 auto; margin负值让元素位移及合并边框 外边距合并&#xff1a; 外边距合并指的是:当两个垂直外边距相遇时,他们将行程一个外边距.合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者:一个格子距下30px,下面的格子距上100px,边距…

04.卷积神经网络 W1.卷积神经网络

文章目录1. 计算机视觉2. 边缘检测示例3. 更多边缘检测4. Padding5. 卷积步长6. 三维卷积7. 单层卷积网络8. 简单卷积网络示例9. 池化层10. 卷积神经网络示例11. 为什么使用卷积&#xff1f;作业参考&#xff1a; 吴恩达视频课 深度学习笔记 1. 计算机视觉 举例&#xff1a;图…

httpClient学习笔记1

客服端以post请求输入xml的输入流&#xff0c;来到服务器端&#xff0c;服务器端接到输入流&#xff0c;进行处理&#xff0c;处理完毕后&#xff0c;返回xml信息的返回输出流&#xff0c;来告诉对方成功与否。 htppClient的使用至少需要commons-httpclient-3.1.jar&#xff0c…

JAVA基础学习预科部分 (Markdown + dox)2021/2/22持续更新中

javaSE从 2021/02/22开始&#xff0c;预计到2021/02/28&#xff0c;原本预计的算法题解先鸽一下。 -博客Blog的重要性 & Markdown语法 基础markdown语法 标题&#xff0c; 直接使用 ‘#’&#xff0c;一级二级…五级字体&#xff0c;斜体(左右个一个∗*∗)&#xff0c;加…

元素(块、行内、行内块

块元素的特点 1.支持所有样式 2.块级元素 独占一行 3.块级元素默认宽度和父元素一样 常用块元素块级元素 一般 div p ol ul h1-h6 li dl dt dd 等都是 初始化(样式重置) 1.实际开发中&#xff0c;我们会把这些默认的样式在样式定义开头清除掉&#xff0c;清除掉这些默认样式&…

LeetCode 1031. 两个非重叠子数组的最大和(一次遍历,要复习)*

文章目录1. 题目2. 解题2.1 暴力枚举2.2 一次遍历1. 题目 给出非负整数数组 A &#xff0c;返回两个非重叠&#xff08;连续&#xff09;子数组中元素的最大和&#xff0c;子数组的长度分别为 L 和 M。&#xff08;这里需要澄清的是&#xff0c;长为 L 的子数组可以出现在长为…

资料合集

cocos2d-x http://www.microoh.com/index.php 杂谈 http://www.yixieshi.com/ as3读excel https://github.com/childoftv/as3-xlsx-reader 提问 http://stackoverflow.com/转载于:https://www.cnblogs.com/chenhongyu/p/3282918.html

Java入门篇 2021/02/22

Java入门篇 2021/02/22 Java的三大版本 java三大版本主要包括 JavaSE, JavaME, JavaEE&#xff0c;其中现如今的JavaME已经是很少见了&#xff0c;JavaSE是JavaEE的基础。 JDK、JER、JVM三个关系 JDK, JRE, JVM具体的关系可以参照下图&#xff0c;是名副其实的包含关系。 J…