当前位置: 首页 > news >正文

机器学习笔记——Chapter 1 – The Machine Learning landscape

ML学习笔记

Chapter 1 – The Machine Learning landscape

1.如何定义机器学习?

Answer:机器学习是一门通过编程让计算机从数据中进行学习的科学(和艺术)。

2.机器学习在哪些问题上表现突出,你能给出四种类型吗?

Answer:①有解决方案(但需要进行大量人工微调/需要遵循大量规则)的问题:ML通常可以简化代码,相比传统方法性能更好。②传统方法难以解决的复杂问题,ML可能会找到背后的不易发现的规律。③环境有波动的情况下,ML可以适应新数据。④可以洞察复杂问题,进行数据挖掘。

3.什么是被标记的训练数据集?

Answer:在有监督学习中,提供给算法的包含所需解决方案的训练集称为标签,这些训练数据集是被标记的。

4.最常见的两种监督学习任务是什么?

Answer:分类任务和回归任务。

5.你能举出四种常见的无监督学习任务吗?

Answer:聚类算法、k-means算法、DBSCAN、分层聚类分析HCA、异常检测和新颖性检测、单类SVM、孤立森林、可视化和降维、主成分分析PCA、核主成分分析、局部线性嵌入LLE、t-分布随机近邻嵌入t-SNE、关联规则学习、Apriori、Eclat

6.要让一个机器人在各种未知的地形中行走,你会用什么类型的ML算法?

Answer:强化学习。强化学习是ML的一个分支,在一个给定的环境(如游戏)中,训练代理(机器人)选择在一段时间内对它们的奖励最大化的行动。AlphaGo就是用强化学习构建的。

7.要将顾客分成多个组,你会使用什么类型的算法?

Answer:聚类算法

8.你会将垃圾邮件检测的问题列为监督学习还是无监督学习?

Answer:有监督学习。现在最先进的垃圾邮件过滤器可能是使用深度神经网络模型对垃圾邮件和常规邮件进行训练,完成动态信息。这使其成为一个在线的、基于模型的有监督学习系统。

9.什么是在线学习系统?

Answer:在线学习中,可以循序渐进地给系统提供数据,逐步积累学习成果。每一步学习都很快速,成本低,系统就可以根据飞速写入的最新数据进行学习。即——模型经过训练并投入生产环境,然后随着新数据的进入而不断学习。
在线学习系统的一个重要参数就是适应不断变化的数据的速度,这就是学习率。如果设置的学习率很高,系统会迅速适应新数据而忘记旧数据。如果学习率过低,学习就会更换满,同样也会对新数据中的噪声/非典型数据点(离群值)的序列更不敏感。
在线学习系统的一个重大挑战——如果给系统输入不良数据,系统的性能会逐渐下降。为了降低这种风险,需要密切监控系统。一旦检测到性能下降,就及时中断学习(可能还需要恢复到之前的工作状态)。同时还需要监控输入数据,并对异常数据做出相应(例如使用异常检测算法)。

10.什么是核外学习?

Answer:对于超大数据集——超出一台计算机的主存储器的数据,在线学习算法也同样使用,这称为核外学习。算法每次只加载部分数据,并针对这部分数据进行训练,然后不断重复这个过程,直到完成所有数据的训练。

11.什么类型的学习算法依赖相似度来做出预测?

Answer:基于实例的学习。如通过编程让系统标记与已知的垃圾邮件非常相似的邮件。系统用心学习这些例子,通过相似度度量来比较新实例和已经学习的实例/子集,从而泛化新实例。

12.模型参数与学习算法的超参数之间有什么区别?

Answer:超参数是学习算法的参数,而并非模型的参数。因此,它不受算法本身的影响。超参数必须在训练前设置好,并且在训练期间保持不变。调整超参数是构建机器学习系统非常重要的组成部分。

13.基于模型的学习算法搜索的是什么?它们最常使用的策略是什么?它们如何做出预测?

Answer:基于模型的学习算法搜索的是模型参数。它们构建一组示例集的模型,定义一个效用函数/适应度函数来衡量模型有多好,或者定义一个成本函数来衡量模型有多差。然后使用该模型进行预测,实现基于模型的学习。

14.你能给出ML中的四个主要挑战吗?

Answer:坏数据:①训练数据的数量不足。大部分ML算法需要大量的数据才能正常工作。对复杂问题而言,数据比算法更重要,但是中小型数据集依然非常普遍。②训练数据不具有代表性。为了更好地实现泛化,训练数据一定要非常有代表性。如果样本集太小,会出现采样噪声;即使非常大的样本数据,如果采样方式欠妥,也同样可能导致非代表性数据集。这就是所谓的采样偏差。③数据质量低。如果训练集的错误、异常值和噪声很多,系统的表现不可能良好。因此,清洗数据是模型训练前的一个必要步骤。④特征无关。只有训练数据中包含足够多的相关特征以及较少的无关特征,系统才能够完成学习。一个成功的机器学习项目,其关键部分是提取出一组好的用来训练的特征集。这个过程叫做特征工程。
坏算法:①过拟合训练数据。当模型相对于训练数据的数量和噪度都过于复杂时,会发生过拟合。可以通过简化模型、收集更多的训练数据、减少训练数据中的噪声等方式来解决。②欠拟合训练数据。模型太过简单,而数据结构过于复杂。可以选择带有更多参数、更强大的模型,通过特征工程给算法提供更好的特征集,或者减少正则化超参数等模型约束。

15.如果模型在训练数据上表现很好,但是应用到新实例上的泛化结果却很糟糕,是怎么回事?能给出三种可能的解决方案吗?

Answer:可能是模型对训练集过拟合。解决方案:①使用更简单的模型进行训练;②收集更多的训练数据;③对数据进行特征工程,减少训练数据的噪声。

16.什么是测试集,为什么要用测试集?

Answer:测试集是数据分割出来的,用来测试和评估模型的一部分数据。通过测试集来评估模型,可以得到对这个误差的评估。这个估值可以显示模型在处理新场景时的能力。

17.验证集的目的是什么?

Answer:验证集是训练集的一部分,可以在去掉验证集的训练集数据中训练具有各种超参数的多个模型,并选择在验证集上表现最佳的模型。但是如果验证集太小,模型评估将不够精确。

18.什么是train-dev集,什么时候需要它,怎么使用?

Answer:train-dev集又称为训练开发集,当数据来源不同时,模型训练后在训练开发集上进行评估,来判别模型效果不佳的原因。如果模型在train-dev集上表现良好,在验证集上表现不佳,则说明模型没有过拟合,问题出自数据不匹配;如果模型在train-dev集上表现不佳,则说明模型在训练集上发生了过拟合。

19.如果你用测试集来调超参数会出现什么错误?

Answer:可能会导致模型对于新的数据不太可能有良好的表现。泛化能力较弱。
解决方法:保持验证:只需保持训练集的一部分,来评估几种候选模型并选择最佳模型。新的保留集称为验证集/开发集。在此保持验证之后,在完整的训练集(包括验证集)上训练最佳模型,这就是你的最终模型。最后在测试集上评估该模型,来获得泛化误差的估计值。

相关文章:

机器学习笔记——Chapter 1 – The Machine Learning landscape

ML学习笔记 Chapter 1 – The Machine Learning landscape 1.如何定义机器学习? Answer:机器学习是一门通过编程让计算机从数据中进行学习的科学(和艺术)。 2.机器学习在哪些问题上表现突出,你能给出四种类型吗&am…...

skimage.feature--corner_harris、hog、local_binary_pattern说明

skimage.feature说明–corner_harris、hog、local_binary_pattern 文章目录skimage.feature说明--corner_harris、hog、local_binary_pattern1. 前言2. corner_harris2.1 介绍2.2 参数及返回3. hog3.1 介绍3.2 参数及返回4. local_binary_pattern4.1 介绍4.2 参数及返回5. 总结…...

致敬白衣天使,学习Python读取

名字:阿玥的小东东 学习:Python、c 主页:阿玥的小东东 故事设定:现在学校要求对所有同学进行核酸采集,每位同学先在宿舍内等候防护人员(以下简称“大白”)叫号,叫到自己时去停车场排…...

JVM - 认识JVM规范

目录 重识JVM JVM规范作用及其核心 JVM 整体组成 理解ClassFile结构 ASM开发 重识JVM JVM概述JVM: Java Virtual Machine,也就是Java虚拟机所谓虚拟机是指: 通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统…...

文献阅读笔记 # CodeBERT: A Pre-Trained Model for Programming and Natural Languages

《CodeBERT: A Pre-Trained Model for Programming and Natural Languages》EMNLP 2020 (CCF-B)作者主要是来自哈工大、中山大学的 MSRA 实习生和 MSRA、哈工大的研究员。资源:code | pdf相关资源:RoBERTa-base | CodeNN词汇: bimodal: 双模态…...

openHarmony的UI开发

自适应布局 拉伸能力 ​ Blank在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column时生效,即是线性布局。这样便可以在两个固定宽度或高度的组件中间添加一个Blank(),将剩余空间占满,从而实现…...

【JavaSE】深入HashMap

文章目录1. HashMap概述2. 哈希冲突3. 树化与退化3.1 树化的意义3.2 树的退化4. 二次哈希5. put方法源码分析6. key的设计7. 并发问题参考 如何防止因哈希碰撞引起的DoS攻击_hashmap dos攻击_双子孤狼的博客-CSDN博客 为什么 HashMap 要用 h^(h >>&#…...

华为机试题:HJ62 查找输入整数二进制中1的个数(python)

文章目录博主精品专栏导航知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方法2、print() :打印输出。1、整型int() :将指定进制&#xf…...

代码随想录训练营一刷总结|

分为几个大部分: 数组 最先接触的部分,虽然说感觉是最简单的,但是需要掌握好基础,特别是小心循环。这里面需要再仔细看的就是螺旋矩阵那一块,其他的在后续刷的时候能用一种方法一次a就行。 链表 需要注意链表的基础…...

CSS中的几种尺寸单位

一、尺寸单位 CSS 支持多种尺寸单位,包括: px:像素,固定大小单位em:相对于当前元素字体大小的单位rem:相对于根元素(HTML)字体大小的单位%:相对于父元素的百分比单位vh…...

运维必会:ansible剧本(piaybook)

playbooks 概述以及实例操作 Playbooks 组成部分: Inventory Modules Ad Hoc Commands Playbooks Tasks: 任务,即调用模块完成的某些操作 Variables: 变量 Templates: 模板 Handlers: 处理器,由某时间触发执行的操作 Roles: 角色 YAML 介绍…...

活动星投票午间修身自习室制作在线投票投票制作网页

“午间修身自习室”网络评选投票_免费小程序投票推广_小程序投票平台好处手机互联网给所有人都带来不同程度的便利,而微信已经成为国民的系统级别的应用。现在很多人都会在微信群或朋友圈里转发投票,对于运营及推广来说找一个合适的投票小程序能够提高工…...

C#泛型:高级静态语言的效率利器

文章目录引入类型约束子类泛型常用的泛型数据结构前文提要: 💎超快速成,零基础掌握C#开发中最重要的概念💎抽丝剥茧,C#面向对象快速上手💎Winform,最友好的桌面GUI框架💎懂了委托&a…...

澳大利亚访问学者申请流程总结

澳大利亚访问学者申请需要注意些什么?下面知识人网小编整理澳大利亚访问学者申请流程总结。1、取得wsk英语成绩,现在都是先买票再上车了。2、联系外导,申请意向接收函(email)。3、向留学基金委CSC提出申请。4、获批后,申请正式邀请…...

cookie和Session的作用和比较

目录 什么是cookie cookie的工作原理 什么是session Session的工作原理 为什么会有session和cookie cookie和session如何配合工作 cookie和Session作用 什么是会话 什么是cookie cookie是web服务器端向我们客户端发送的一块小文件,该文件是干嘛的呢&#xf…...

测试员都是背锅侠?测试人员避“锅”攻略,拿走不谢

最近发生了一起生产事故,究其根源,事故本身属于架构或者需求层面需要规避的问题,测试人员的责任其实是非常小的,但实际情况是:相关测试人员因此承担了很大的压力,成为质量问题的“背锅侠”。 实际上&#…...

C++: C++模板<template>

C template content😊前言😁模板💕1、泛型编程😍2、函数模板😒2.1:函数模板概念👌2.2:函数模板的格式😘2.3:函数模板原理😁2.4:函数模…...

chmod命令详解

用法:chmod [选项]… 模式[,模式]… 文件…  或:chmod [选项]… 八进制模式 文件…  或:chmod [选项]… --reference参考文件 文件… Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of R…...

状态机设计中的关键技术

⭐本专栏针对FPGA进行入门学习,从数电中常见的逻辑代数讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。 🔥文章和代码已归档至【Github仓库&#xf…...

单片机开发---ESP32S3移植NES模拟器(二)

书接上文 《单片机开发—ESP32-S3模块上手》 《单片机开发—ESP32S3移植lvgl触摸屏》 《单片机开发—ESP32S3移植NES模拟器(一)》 暖场视频,小时候称这个为—超级曲线射门!!!!!&am…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...