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

一、首先要做什么

选择特征向量的关键决策

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

构建分类器算法的决策

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

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

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

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

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

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

如何作出明智的选择?

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

误差分析的重要性

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

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

二、误差分析

构建简单而快速的算法

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

学习曲线和检验误差

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

误差分析的重要性

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

通过量化数据进行决策

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

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

参考资料

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB】mlptdenoise分解+FFT+HHT组合算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 MLPT Denoise是一种基于小波变换的信号分解算法,可以将信号分解为多个具有不同频率特性的小波分量,并对每个小波分量进行频域分析。它基于最大似然参数调整&#…

Fiddler抓包工具之fiddler设置弱网测试

弱网测试 概念:弱网看字面意思就是网络比较弱,我们通称为信号差,网速慢。 意义:模拟在地铁、隧道、电梯和车库等场景下使用APP ,网络会出现延时、中断和超时等情况。 Fiddler弱网测试流程: 一、限速操作…

PTA结构体经典编程题

目录 第一题:计算平均成绩 第二题:平面向量加法 第三题:查找书籍 第四题:通讯录排序 第五题:计算职工工资 第一题:计算平均成绩 思路:看到一个学生的基本信息,所以定义一个结构…

12.二维字符数组——输出basic和BASIC

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维字符数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 输出basic和BASIC 二、题目分析 法一&#xff1a; for(i0;i<1;i){ for(j0;j<6;j){ putchar(a[i][j]); pri…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《市场环境下运行的光热电站子系统容量优化配比研究》

这个标题涉及到对市场环境下运行的光热电站子系统进行容量优化配比的研究。让我们逐步解读&#xff1a; 市场环境下运行的光热电站&#xff1a; 这指的是光热电站在实际市场环境中的运行&#xff0c;可能包括了市场相关的经济、政策、竞争等因素。 子系统&#xff1a; 光热电站…

【Vue2】Vue的介绍与Vue的第一个实例

文章目录 前言一、为什么要学习Vue二、什么是Vue1.什么是构建用户界面2.什么是渐进式Vue的两种开发方式&#xff1a; 3.什么是框架 三、创建Vue实例四、插值表达式 {{}}1.作用&#xff1a;利用表达式进行插值&#xff0c;渲染到页面中2.语法3.错误用法 五、响应式特性1.什么是响…

docker+jmeter+influxdb+granfana

centos7国内阿里源安装docker 1、安装必要的系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2添加官方仓库 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo sed -i sdownload.doc…

微服务实战系列之Redis

前言 云淡天高&#xff0c;落木萧萧&#xff0c;一阵西北风掠过&#xff0c;似寒刀。冬天渐渐变得更名副其实了&#xff0c;“暖冬”的说法有点言过其实了。——碎碎念 微服务实战系列之Cache微服务实战系列之Nginx&#xff08;技巧篇&#xff09;微服务实战系列之Nginx微服务实…

2024年,Rust和Go学哪个更好?

Rust vs. Go&#xff0c;在2024年&#xff0c;应该选择哪一个&#xff1f;或者说应该选择哪种语言——GoLang还是Rust。这可能是许多程序员在选择语言时考虑的一个问题。选择理想的编程语言被视为在这个不断变化的环境中取得成功的重要抉择。 GoLang和Rust是当今使用的最年轻的…

【机器学习】简单认识监督学习

简单认识监督学习 ⭐️Supervised learning⭐️Examples⭐️Specific example⭐️两种类型的监督学习算法&#x1f319;回归算法&#x1f319;分类算法 ⭐️总结 Hi~大家好呀&#xff01;经历了暑假期间短暂的接触机器学习的一些算法&#xff0c;之后又对深度学习、yolo系列有些…

PID控制

在PID控制中&#xff0c;输出通常是一个控制量&#xff0c;而不是直接的PWM占空比。输出的具体含义可以根据具体的系统和应用而变化。在这段代码中&#xff0c;PID控制器的输出是 output_calc。 而 CCR_duty 是控制施肥系统的PWM占空比&#xff0c;这是通过PID控制的输出和曲线…

T-SQL语句管理表

SQL Server对数据库的操作有两种方式&#xff0c;即可视化操作界面和SQL语言。 SQL Server的操作也可以使用T-SOL语句完成&#xff0c;这也是实际生产环境中数据库管理员最常使用的管理数据库的方法。 T-SQL&#xff1a;SQL的加强版&#xff0c;提供了类似于程序语言的基本功…

谈谈MYSQL索引

基本介绍 索引是帮助MySQL高效获取数据的数据结构&#xff0c;主要是用来提高数据检索的效率&#xff0c;降低数据库的IO成本&#xff0c;同时通过索引列对数据进行排序&#xff0c;降低数据排序的成本&#xff0c;也能降低了CPU的消耗。 通俗来说, 索引就相当于一本书的目录,…

盘点25个Html游戏Game源码网页爱好者不容错过

盘点25个Html游戏Game源码网页爱好者不容错过 学习知识费力气&#xff0c;收集整理更不易。 知识付费甚欢喜&#xff0c;为咱码农谋福利。 下载链接&#xff1a;https://pan.baidu.com/s/1lSNLjWB4xMuLV8m_kDtczw?pwd6666 提取码&#xff1a;6666 项目名称 21点游戏 H5…

SpringBoot整合Kafka

SpringBoot整合Kafka 文章目录 SpringBoot整合Kafka下载与安装创建topic&#xff0c;测试生产消费程序SpringBoot整合Kafka导坐标做配置做客户端 下载与安装 下载地址&#xff1a; https://kafka.apache.org/downloads 下载2的版本&#xff0c;3.的版本会报错 解压安装&#x…

【大学英语视听说上】“智力”口语问答练习

题目&#xff1a; book 2, page 9, question 4 回答&#xff1a; 1: What do you think of the view “Intelligence must be bred, not trained”? I think this view is biased. The view suggests that intelligence is primarily determined by genetic factors and inh…

【大数据】HBase 中的列和列族

&#x1f60a; 如果您觉得这篇文章有用 ✔️ 的话&#xff0c;请给博主一个一键三连 &#x1f680;&#x1f680;&#x1f680; 吧 &#xff08;点赞 &#x1f9e1;、关注 &#x1f49b;、收藏 &#x1f49a;&#xff09;&#xff01;&#xff01;&#xff01;您的支持 &#x…

类和对象(上篇)

类和对象 面向过程和面向对象的区别&#xff1a;结构体变为类类的一些性质类的访问限定符类的实体化类对象的大小this指针 面向过程和面向对象的区别&#xff1a; C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决…

第8关:定义一个名为PROC_AVGWEIGHT的有参数存储过程

USE mydata; #请在此处添加实现代码 ########## Begin ########## DELIMITER $ CREATE PROCEDURE PROC_AVGWEIGHT(IN SNO VARCHAR(10), IN JNO VARCHAR(10), OUT AVG_WEIGHT INT) BEGINSELECT ROUND(SUM(P.WEIGHT * SPJ.QTY) / SUM(SPJ.QTY)) INTO AVG_WEIGHTFROM PJOIN SPJ ON…

16.字符串处理函数——字符串长度函数

文章目录 前言一、题目描述 二、解题 程序运行代码 总结 前言 本系列为字符串处理函数编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 二、解题 程序运行代码 #include<stdio.h> #include<string.h> int main() {char str[ ]"0123\0456…