吴恩达《机器学习》11-1-11-2:首先要做什么、误差分析
一、首先要做什么
选择特征向量的关键决策
以垃圾邮件分类器算法为例,首先需要决定如何选择和表达特征向量 𝑥。视频提到的一个示例是构建一个由 100 个最常出现在垃圾邮件中的词构成的列表,根据这些词是否在邮件中出现来创建特征向量,尺寸为 100×1。
构建分类器算法的决策
对于垃圾邮件分类器,面临多个决策:
-
收集更多数据:获取更多垃圾邮件和非垃圾邮件的样本,以提高算法的性能。
-
基于邮件的路由信息开发特征:利用邮件的路由信息构建一系列复杂的特征。
-
基于邮件的正文信息开发特征:考虑邮件正文信息,包括截词的处理,开发一系列复杂的特征。
-
探测刻意的拼写错误:开发复杂的算法来检测拼写错误,如将 "watch" 写成 "w4tch"。
在这些选项中,决定在哪个方向上投入时间和精力是一个关键的决策。而这个决策不仅仅依赖于数学和模型,更需要智慧的选择。视频中提到,比起凭感觉走,通过系统性的思考和头脑风暴来确定方向会更好。
如何作出明智的选择?
视频强调了在机器学习中,常常需要通过头脑风暴,想出不同的方法来尝试提高算法的精度。实际上,当你能够列出可能的方法时,你可能已经走在了很多人的前面。大多数人不会尝试列出各种可能的方法,而是靠灵感和突发奇想。
误差分析的重要性
在接下来的课程中,将介绍误差分析,探讨如何以更系统的方式从各种方法中选择最合适的方法。这种方法能够帮助你在一堆可能的方法中,选择一个真正有效的方法,从而更有可能进行深入研究并取得显著的进展。
综合来看,系统性地思考和设计机器学习系统是成功的关键之一。在这个过程中,对于特征选择、算法设计和下一步的决策,都需要深入思考和明智的选择,而不是凭感觉随意尝试。这是构建大型机器学习系统时节省时间的关键。
二、误差分析
构建简单而快速的算法
视频强调了在研究机器学习问题时,建议从构建一个简单而快速的算法开始。即便这个算法可能并不完美,通过快速实现并运行,可以迅速得到结果。这一过程通常不需要花费过多时间。
学习曲线和检验误差
绘制学习曲线是判断算法性能的有效方法。通过学习曲线,可以了解算法是否存在高偏差和高方差的问题,以及其他可能的缺陷。进一步的决策可以包括增加数据量、添加更多特征等。
误差分析的重要性
误差分析是机器学习实践中的关键步骤。通过人工检查算法在交叉验证集上产生预测误差的实例,可以发现系统性的规律。观察被错误分类的垃圾邮件和非垃圾邮件,有助于发现算法的短处和提升空间。
通过量化数据进行决策
视频强调了使用量化数据进行决策的重要性。在进行误差分析时,不仅仅依赖于主观判断,而是通过数值评估来决定算法的表现。这样可以更快速地实践新的想法,找出能够提高算法性能的方法。
误差分析的步骤
- 观察错误分类的实例:检查算法在交叉验证集上产生预测误差的实例。
- 分类错误的邮件分组:将错误分类的邮件按照类别分组,例如医药品垃圾邮件、仿冒品垃圾邮件等。
- 检查分类器对每组邮件的预测误差:观察分类器对哪一组邮件的预测误差最大,从而确定优化的方向。
- 思考如何改进分类器:根据观察结果,思考是否缺少某些特征,记录错误出现的次数,以便有针对性地改进算法。
推荐方法
- 实现简单而快速的算法:快速得到初步结果,成为进一步决策的有力工具。
- 绘制学习曲线:通过学习曲线判断算法的偏差和方差问题,决定下一步的改进方向。
- 进行误差分析:在交叉验证集上进行误差分析,观察错误分类的实例,找出系统性规律。
- 量化数据进行决策:依赖数值评估,快速实践新的想法,通过数据判断算法的表现优劣。
参考资料:
[中英字幕]吴恩达机器学习系列课程
黄海广博士 - 吴恩达机器学习个人笔记
相关文章:
吴恩达《机器学习》11-1-11-2:首先要做什么、误差分析
一、首先要做什么 选择特征向量的关键决策 以垃圾邮件分类器算法为例,首先需要决定如何选择和表达特征向量 𝑥。视频提到的一个示例是构建一个由 100 个最常出现在垃圾邮件中的词构成的列表,根据这些词是否在邮件中出现来创建特征向量&…...
Pandas在Excel同一个sheet里插入多个Dataframe和行
Pandas默认的to_excel是直接把完成的Datafrme写入一个sheet里,这并不能满足我们在一个sheet里插入多个Dataframe或多行的需求。为了实现插入多行或多Dataframe的目的,我们需要新建一个ExcelWriter对象,然后依次插入数据。 这里我们以插入2个Dataframe和三行单元格为例。 新…...
查看mysql 或SQL server 的连接数,mysql超时、最大连接数配置
1、mysql 的连接数 1.1、最大可连接数 show variables like max_connections; 1.2、运行中连接数 show status like Threads_connected; 1.3、配置最大连接数, mysql版本不同可配置的最大连接数不同,mysql8.0的版本默认151个连接数,…...
C++学习之路(七)C++ 实现简单的Qt界面(消息弹框、按钮点击事件监听)- 示例代码拆分讲解
这个示例创建了一个主窗口,其中包含两个按钮。第一个按钮点击时会显示一个简单的消息框,第二个按钮点击时会执行一个特定的操作(在这个例子中,仅打印一条调试信息)。 功能描述: 创建窗口和布局:…...
python实现一个计算器
实现一个计算器首先熟悉一下这个阅读器的属性import subprocess subprocess.run(["espeak", "-v", "enf3", "This is a Calculator"])class Calculator:def speaker(self,word):subprocess.run(["espeak", "-v", …...
C++ 共享内存ShellCode跨进程传输
在计算机安全领域,ShellCode是一段用于利用系统漏洞或执行特定任务的机器码。为了增加攻击的难度,研究人员经常探索新的传递ShellCode的方式。本文介绍了一种使用共享内存的方法,通过该方法,两个本地进程可以相互传递ShellCode&am…...
如何快速移植(从STM32F103到STM32F407)
最近用到F4的地方比较多,网上代码还是F1多一些,便需要移植代码,如何快速移植代码呢? 看下面这篇文章 外设 首先就是STM32的外设了。 STM32F407ZGT6的基本外设 STM32F407ZGT6 作为 MCU,该芯片是 STM32F407 里面配置…...
python高级练习题库实验1(B)部分
文章目录 题目1代码实验结果题目2代码实验结果题目3代码实验结果题目4代码实验结果题目5代码实验结果题目总结题目1 打包糖果小游戏,用户输入糖果品牌与个数,还有一个盒子里面可以装多少个糖果,输出一些打印信息,如下图所示: 代码 print("Packaging lollies into…...
Qt Rsa 加解密方法使用(pkcs1, pkcs8, 以及文件存储和内存存储密钥)
Qt RSA 加解密 完整使用 密钥格式: pkcs#1pkcs#8 如何区分密钥对是PKCS1还是PKCS8? 通常PKCS1密钥对的开始部分为:-----BEGIN RSA PRIVATE KEY-----或 -----BEGIN RSA PUBLIC KEY-----。而PKCS8密钥对的开始部分为:-----BEGIN…...
区分物理端口与软件端口概念:以交换机端口和Linux系统中的端口为例
文章目录 交换机端口和Linux系统中的端口有什么区别?1. 交换机的端口2. Linux系统中的端口因此,尽管两者都被称为"端口",但它们代表的含义和用途是完全不同的。 交换机端口和Linux系统中的端口有什么区别? 虽然都被称为…...
力扣226:翻转二叉树
力扣226:翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3]…...
亚马逊鲲鹏系统智能自动注册与AI角色养号,探索数字化新境界
在数字化时代,亚马逊鲲鹏系统以其强大的自动化功能,为用户提供了前所未有的购物体验。如果你想利用鲲鹏系统进行自动化注册,那么准备好邮箱、IP、手机号等关键信息后,你将轻松实现自动注册,为购物之旅开启智能化新篇章…...
AOP操作日志记录
AOP操作日志记录 1.创建注解 Retention(RetentionPolicy.RUNTIME) Target(ElementType.METHOD) public interface PassportLog {String operatePage();String operateType();ClassTypEnum classType();}2.创建切面 对于字典,可以通过注解属性去转换,枚举…...
Linux C语言 42-进程间通信IPC之网络通信(套接字)
Linux C语言 42-进程间通信IPC之网络通信(套接字) 本节关键字:C语言 进程间通信 网络通信 套接字 TCP UDP 相关库函数:socket、bind、listen、accept、send、recv、sendto、recvfrom 参考之前的文章 Linux C语言 30-套接字操作…...
微服务知识大杂烩
1.什么是微服务? 微服务(Microservices)是一种软件架构风格,将一个大型应用程序划分为一组小型、自治且松耦合的服务。每个微服务负责执行特定的业务功能,并通过轻量级通信机制(如HTTP)相互协作。每个微服务可以独立开发、部署和扩展,使得应用程序更加灵活、可伸缩和可…...
记录一次vscode markdown的图片路径相关插件学习配置过程
插件及说明查找过程 csdn搜索markdown图片路径,找到关于这一款插件的回答。打开vscode拓展搜索Paste Image这款插件,看到下载量挺高的,应该不赖。 点击仓库,进入该插件开源的github仓库,查看README文件阅读说明. 淡然在Vscode 插件项目下的细…...
设计原则 | 依赖转置原则
一、依赖转置原则(DIP:Dependence Inversion Principle) 1、原理 高层模块不应该依赖低层模块,二者都应该依赖于抽象抽象不应该依赖于细节,细节应该依赖于抽象 2、层次化 Booch曾经说过:所有结构良好的面…...
前端开发实用技巧与经验分享
导语:在前端开发领域,掌握一些实用的技巧和经验可以帮助你更高效地完成任务。本文将分享一些前端开发的实用技巧和经验,帮助你在工作中更好地应对各种挑战。 一、使用开发者工具进行调试和优化 熟练掌握浏览器开发者工具的使用,…...
推荐一款Excel快速加载SQL的插件,方便又好用
如果告诉你只需要双击一下,SQL数据库中存放在表里面的数据,就能加载到你的Excel中,你想不想要? 今天给大家推荐一款好用的Excel插件,安装简单,使用方便,是经常使用SQL数据库的不二。 这款插件…...
Docker快速入门(docker加速,镜像,容器,数据卷常见命令操作整理)
Docker本质是将代码所需的环境依赖进行打包运行,而在Docker中最重要的是镜像和容器 镜像:可以简单地理解为每启动一个docker镜像就会占用计算机一个进程,这个进程和另外起的docker镜像的进程是相互独立的,以数据库为例,每个镜像都会copy一份数据库,在他所在的进程中.别的镜像在…...
http和https的区别有哪些
目录 HTTP(HyperText Transfer Protocol) HTTPS(HyperText Transfer Protocol Secure) 区别与优势 应用场景 未来趋势 当我们浏览互联网时,我们经常听到两个常用的协议:HTTP(HyperText Tra…...
使用Keil-MDK生成*.bin格式可执行文件
使用Keil-MDK生成*.bin格式可执行文件 文章目录 使用Keil-MDK生成*.bin格式可执行文件前言一、fromelf.exe工具二、使用方法1.配置输出2.输出格式 前言 在使用Keil MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然文件可…...
基于springboot+vue篮球联盟管理系统源码
🍅 简介:500精品计算机源码学习 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 文末获取源码 目录 一、以下学习内容欢迎交流: 二、文档资料截图: 三、项目技术栈 四、项目运行图 背景: 篮球运…...
分页助手入门以及小bug,报sql语法错误
导入坐标 5版本以上的分页助手 可以不用手动指定数据库语言,它会自动识别 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.3.2</version> </dependency&g…...
Java中的并发编程:深入理解CountDownLatch
Java中的并发编程:深入理解CountDownLatch 本文将深入探讨Java中的并发编程,重点关注CountDownLatch的使用。通过理解这些概念和技术,我们可以编写出更高效、稳定的Java程序。 一、CountDownLatch简介 CountDownLatch是Java中的一个同步工具…...
Windows 安装 flash-attention 和 bitsandbytes
首先保证cuda版本为12.1,torch版本为2.1.0及以上,python版本3.10以上 从此处下载最新版的whl,https://github.com/jllllll/bitsandbytes-windows-webui/releases/tag/wheels,通过whl来安装bitsandbytes 从此处下载最新版的whl&a…...
AHB 与 DMA
AHB(先进高性能总线) 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP核复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP核复用的SoC(Syst…...
React使用echarts并且修改echarts图大小
React使用echarts 引入 npm install --save echarts-for-react npm install --save echarts使用 <ReactEChartsoption{option}notMerge{true}lazyUpdate{true}style{{"width": "100%","height": "800px"}}theme{"theme_nam…...
【Q6-30min】
1. ifndef/define/endif的作用:避免头文件被重复引用。 2.堆栈溢出主要的原因是: (1)函数调用层次太深。函数递归调用时,系统要在栈中不断保存函数调用时的现场和产生的变量,如果递归调用太深,…...
C++之类和对象(下)
目录 初始化列表 static成员 C11对于非静态成员变量初始化 友元 友元函数 友元类 总结 初始化列表 我们知道,在学习构造函数时,我们知道对象的成员变量的初始化我们是在构造函数函数体内进行初始化的,还有没有其它初始化成员变量的方…...
wordpress首页设置成某个页面/唐山seo快速排名
Python连接数据库需导入pymysqlpymysql是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。pymysql遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。pymysql 安装在使用 pymysql之前,我们…...
网站建设水上乐园/app推广一手单
首先系统版本是ubuntu 15.04,系统默认安装了两个版本的python, sudo python web2py.py 默认会调用python2.7版本来执行 会提示 pydoplanpls:/var/python/web2py$ sudo python web2py.py web2py Web Framework Created by Massimo Di Pierro, Copyright 2007-2015 V…...
如何开始做b2b网站/能翻到国外的浏览器
LaTeXiT for mac免费版是一款mac版数学公式编辑器,LaTeXiT for Mac可快速方便地编辑复杂的数学公式,然后将其直接拖入到需要输入的文本中,非常方便。喜欢的小伙伴可以私信小编哦!功能特色导出默认情况下,生成的方程式为…...
共享门店新增实时收款/seo关键词排名优化评价
一、ps命令介绍ps命令是Process Status的缩写,用于查看系统进程状态,ps命令输出值非常多,通常结合管道符使用。二、实例1.我们直接输入ps命令,不加任何参数。可以看到默认输出4列信息PID: 运行着的命令(CMD)的进程编号TTY: 命令所…...
网站优化方案书/seopc流量排行榜企业
转载请注明出处:https://blog.csdn.net/binbinqq86/article/details/81033746 前言 gradle插件可以帮助我们干很多事情,类似一个工具,可以根据你自己想要的效果去定制自己的插件,本文就讲解一下怎么去实现自己的一个插件。根据官…...
wordpress域名资源地址/保定百度首页优化
QStyle(5):QStyle枚举综合 本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇) 本文出自本人原创著作《Qt5.10 GUI完全参考手册》网盘地址: https://pan.baidu.com/s/1iqagt4SEC8PUYx6t3ku39Q 《C语法…...