吴恩达《机器学习》11-1-11-2:首先要做什么、误差分析

news2025/1/22 18:02:36

一、首先要做什么

选择特征向量的关键决策

以垃圾邮件分类器算法为例,首先需要决定如何选择和表达特征向量 𝑥。视频提到的一个示例是构建一个由 100 个最常出现在垃圾邮件中的词构成的列表,根据这些词是否在邮件中出现来创建特征向量,尺寸为 100×1。

构建分类器算法的决策

对于垃圾邮件分类器,面临多个决策:

  1. 收集更多数据:获取更多垃圾邮件和非垃圾邮件的样本,以提高算法的性能。

  2. 基于邮件的路由信息开发特征:利用邮件的路由信息构建一系列复杂的特征。

  3. 基于邮件的正文信息开发特征:考虑邮件正文信息,包括截词的处理,开发一系列复杂的特征。

  4. 探测刻意的拼写错误:开发复杂的算法来检测拼写错误,如将 "watch" 写成 "w4tch"。

在这些选项中,决定在哪个方向上投入时间和精力是一个关键的决策。而这个决策不仅仅依赖于数学和模型,更需要智慧的选择。视频中提到,比起凭感觉走,通过系统性的思考和头脑风暴来确定方向会更好。

如何作出明智的选择?

视频强调了在机器学习中,常常需要通过头脑风暴,想出不同的方法来尝试提高算法的精度。实际上,当你能够列出可能的方法时,你可能已经走在了很多人的前面。大多数人不会尝试列出各种可能的方法,而是靠灵感和突发奇想。

误差分析的重要性

在接下来的课程中,将介绍误差分析,探讨如何以更系统的方式从各种方法中选择最合适的方法。这种方法能够帮助你在一堆可能的方法中,选择一个真正有效的方法,从而更有可能进行深入研究并取得显著的进展。

综合来看,系统性地思考和设计机器学习系统是成功的关键之一。在这个过程中,对于特征选择、算法设计和下一步的决策,都需要深入思考和明智的选择,而不是凭感觉随意尝试。这是构建大型机器学习系统时节省时间的关键。

二、误差分析

构建简单而快速的算法

视频强调了在研究机器学习问题时,建议从构建一个简单而快速的算法开始。即便这个算法可能并不完美,通过快速实现并运行,可以迅速得到结果。这一过程通常不需要花费过多时间。

学习曲线和检验误差

绘制学习曲线是判断算法性能的有效方法。通过学习曲线,可以了解算法是否存在高偏差和高方差的问题,以及其他可能的缺陷。进一步的决策可以包括增加数据量、添加更多特征等。

误差分析的重要性

误差分析是机器学习实践中的关键步骤。通过人工检查算法在交叉验证集上产生预测误差的实例,可以发现系统性的规律。观察被错误分类的垃圾邮件和非垃圾邮件,有助于发现算法的短处和提升空间。

通过量化数据进行决策

视频强调了使用量化数据进行决策的重要性。在进行误差分析时,不仅仅依赖于主观判断,而是通过数值评估来决定算法的表现。这样可以更快速地实践新的想法,找出能够提高算法性能的方法。

误差分析的步骤
  • 观察错误分类的实例:检查算法在交叉验证集上产生预测误差的实例。
  • 分类错误的邮件分组:将错误分类的邮件按照类别分组,例如医药品垃圾邮件、仿冒品垃圾邮件等。
  • 检查分类器对每组邮件的预测误差:观察分类器对哪一组邮件的预测误差最大,从而确定优化的方向。
  • 思考如何改进分类器:根据观察结果,思考是否缺少某些特征,记录错误出现的次数,以便有针对性地改进算法。
推荐方法
  1. 实现简单而快速的算法:快速得到初步结果,成为进一步决策的有力工具。
  2. 绘制学习曲线:通过学习曲线判断算法的偏差和方差问题,决定下一步的改进方向。
  3. 进行误差分析:在交叉验证集上进行误差分析,观察错误分类的实例,找出系统性规律。
  4. 量化数据进行决策:依赖数值评估,快速实践新的想法,通过数据判断算法的表现优劣。

参考资料

[中英字幕]吴恩达机器学习系列课程

黄海广博士 - 吴恩达机器学习个人笔记

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

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

相关文章

Windows磁盘管理中硬盘无法初始化怎么办?

硬盘未出现在“此电脑”选项下的情况并不少见,当您打开磁盘管理,它要么显示为磁盘未知,要么显示为未分配的空间,或者只是不显示磁盘容量。为了访问您的硬盘并充分利用它,您需要对其进行初始化。不幸的是,您…

CTF 6

信息收集 话不多说,nmap进行信息收集! 存活主机探测 服务版本探测 端口探测 漏洞脚本探测 UDP端口探测 渗透测试 先看看网站的首页,发现了几个用户: 直接先保存下来吧,以防后面会用到。 SQL注入 看到一个read mor…

行业研究:2023年中国游戏陪玩行业市场现状分析

近年来随着我国游戏行业的不断发展,我国游戏用户规模也是随着稳步上升,给游戏陪玩行业带来了稳定的用户基础。在用户规模增长的同时,随着经济、文化的快速发展,我国娱乐技能社交也随之逐渐兴起。而作为我国娱乐技能社交比重较大的…

01-Redis核心数据结构与高性能原理

一、Redis的单线程和高性能 1. Redis是单线程吗? Redis的单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的(说白了也就是执行命令的时候是由一个线程来完成的),这也是 Redis 对外提供键值存储服务的主要流程。…

Jave内存模型 与 CPU硬件架构 的交互图

JMM里所讲的主内存、工作内存与Java内存区域中的Java堆、栈、方法区等并不是同一个层次的对内存的划分,这两者基本上是没有任何关系的。 如果两者一定要勉强对应起来,那么从变量、主内存、工作内存的定义来看,主内存主要对应于Java堆中的对象…

JAVAEE初阶相关内容第十九弹--网络原理之TCP_IP【续集2】

写在前 上一篇博客主要介绍的是关于网络层协议-IP协议的重点介绍。需要掌握关于IP协议的协议头格式,关于IPV4分配不够的解决办法。地址管理与路由选择。 点击跳转上一篇博客 本篇博客将继续学习关于计网中协议的内容。 本篇博客主要介绍关于数据链路层的重点协议-以…

深信服行为管理AC设置禁止用户使用向日葵等远程软件

需求:在特定的时间内禁止内外网用户使用向日葵、todesk等远程软件;只禁止使用专业的远程软件,内网的ssh、telnet、RDP需要正常放行 AC版本:AC13.0.62.001 Build20221107 通过访问权限策略来控制 1、行为管理→访问权限策略→新…

封装校验-----Vue3+ts项目

登录校验页面 <script setup lang"ts"> import { ref } from vue import { mobileRules, passwordRules } from /utils/rules const mobile ref() const password ref() </script><!-- 表单 --><van-form autocomplete"off">&l…

实战oj题——设计循环队列

前言&#xff1a;今天我们来实现循环队列。 各个接口的实现 创建队列&#xff1a; typedef struct {int* a;int front;int back;int k;} MyCircularQueue;我们的队列是由数组储存的&#xff0c;所以我们队列中得定义一个数组&#xff0c;front代表我们的首元素&#xff0c;ba…

项目中使用之Maven BOM

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 工具教程 ✨特色专栏&#xff1a; MyS…

Python中的匿名函数是什么

匿名函数 lambda x , y : xy 1.匿名的目的就是要没有名字&#xff0c;给匿名函数赋给一个名字是没有意义的。 2.匿名函数的参数规则、作用域关系与有名函数是一样的。 3.匿名函数的函数体通常应该是 一个表达式,该表达式必须要有一个返回值。 flambda x,n:x ** n print(f…

Linux 进程地址空间

文章目录 进程地址空间进程地址空间结构页表虚拟内存写时拷贝 进程地址空间 进程地址空间难以定义&#xff0c;因为它更像是一个中间件。 程序从磁盘中加载到内存&#xff0c;程序的执行需要硬件资源&#xff0c;所以每个程序启动时会创建至少一条进程&#xff0c;进程作为组…

[NAND Flash 2.3] 闪存芯片国产进程

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 目录 前言1 闪存介质1.1 NOR 闪存国产技术发展1.2 NAND 闪存国产技术 2 闪存国产厂商与产品2.1 NOR FLASH 国产厂商与产品2.2 NAND FA…

http和https的区别有哪些

目录 HTTP&#xff08;HyperText Transfer Protocol&#xff09; HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09; 区别与优势 应用场景 未来趋势 当我们浏览互联网时&#xff0c;我们经常听到两个常用的协议&#xff1a;HTTP&#xff08;HyperText Tra…

AI有多恐怖?

恐怖片大行其道之季到了。世界各地的人们纷纷观看恐怖片&#xff0c;前往鬼屋等进行自我吓唬式娱乐。受控的“妖魔鬼怪”可能很有趣&#xff0c;但无法控制的事情可能真的很恐怖。例如&#xff0c;对某些人而言&#xff0c;未来的不确定性可能是场噩梦。对其他人而言&#xff0…

Linux文件部分知识

目录 认识inode 如何理解创建一个空文件&#xff1f; 如何理解对文件写入信息&#xff1f; 如何理解删除一个文件&#xff1f; 为什么拷贝文件的时候很慢&#xff0c;而删除文件的时候很快&#xff1f; 如何理解目录 ​编辑 文件的三个时间 ​编辑 Access&#xff1a; …

InnoDB的数据存储结构

一 数据库的存储结构&#xff1a;页 索引结构提供了高效的检索方式&#xff0c;不过索引信息和数据记录都是保存在文件上的&#xff0c;确切的说是存储在页结构中。另一方面&#xff0c;索引是在引擎中实现的&#xff0c;MySQL服务器上的存储引擎负责对表中数据的读取和写入。…

前端编码中快速填充内容--乱数假文

写前端页面的时候&#xff0c;如果要快速插入图片&#xff0c;可以使用 https://picsum.photos/ 详见笔者这篇博文&#xff1a; 工具网站&#xff1a;随机生成图片的网站-CSDN博客 可是&#xff0c;如果要快速填充文字内容该怎么做呢&#xff1f; 以前&#xff0c;我们都是…

c# OpenCV安装(一)

一 通过NuGet 安装四个拓展包 OpenCvSharp4、OpenCvSharp4.Extensions、OpenCvSharp4.runtime.win、OpenCvSharp4.WpfExtensions C#使用OpenCV的一些代码 需要加头文件 using OpenCvSharp; //为了使用opencv using Point OpenCvSharp.Point; //为了确定我们使用的poin…

一对一聊天

1.创建包 .服务界面 package yiduiy;import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.uti…