[吃瓜教程]概览西瓜书+南瓜书第1、2章

第一章 绪论

1.1机器学习的定义,什么是机器学习?

1)机器学习是这样一门学科,它致力于研究如何通过计算的手段,利用经验改善系统自身的性能
2)机器学习所研究的主要内容是关于在计算机上数据中产生模型算法,即“学习算法”。

1.2基本术语

在这里插入图片描述
在这里插入图片描述
数据相关概念:

  • 数据集(data set):记录的集合;
  • 示例(instance)/样本(sample):关于一个事件或对象的描述;注意一个示例也称为一个特征向量(因为一个示例是属性空间中的一个坐标向量)
  • 属性(attribute)/特征(feature):反映事件或对象在某方面的表现或性质的事项
  • 属性值(attribute value):属性上的取值
  • 属性空间(attribute space)/样本空间(sample space):属性张成的空间
  • 训练数据(training data):训练过程中使用的数据。
  • 训练样本(training sample):训练数据中的每个样本称为一个训练样本。
  • 训练集(training set):训练样本组成的集合;
  • 标记(label):关于示例的结果的信息
  • 样例(sample):拥有了标记信息的示例。
  • 测试(testing):使用模型进行预测的过程称为测试。
  • 测试样本(testing sample):被预测的样本。
  • 假设(hypothesis):学得的模型对应了关于数据的某种潜在的规律。假设是对数据的某种规律或模式的假定。它是我们希望通过模型来捕捉和表达的数据内在规律。
  • 真相/真实(ground-truth):潜在规律本身。

学习任务相关概念:

  • 监督学习(supervised learning):训练数据有标记信息的任务,典型代表,分类和回归任务。
  • 无监督学习(unsupervised learning):训练数据无标记信息的任务,典型代表,聚类。
  • 分类(classification):预测值为离散值的学习任务。
  • 回归(regression):预测值为连续值得学习任务。
  • 二分类任务(binary classification):只涉及两个类别的分类任务,通常称一个类别为正类(positive class),另一个类别为反类(negative class)。
  • 多分类任务(multi-class classification):涉及多个类别的分类任务。
  • 聚类(clustering):将训练集中的样本分为若干组。分成的组称为族(cluster)。

模型相关概念

  • 泛化(generalization):学得模型适用于新样本的能力。

1.3 假设空间和版本空间

再来回顾一下假设的概念:

  • 假设(hypothesis):学得的模型对应了关于数据的某种潜在的规律。假设是对数据的某种规律或模式的假定。它是我们希望通过模型来捕捉和表达的数据内在规律。

可以理解,在机器学习中,假设是关于数据规律的,但通常通过模型来表示和实现这些假设
假设空间 (Hypothesis Space)
假设空间是指所有可能假设的集合。这些假设是用来拟合数据、进行预测或解释数据模式的函数或模型。
版本空间 (Version Space)
版本空间是指在给定训练数据的条件下,所有与训练数据一致的假设的集合。换句话说,版本空间是从假设空间中筛选出的能够正确分类或预测训练数据的假设子集。
假设空间和版本空间的关系
假设空间:表示所有可能的假设集合,是整个搜索范围。
版本空间:表示所有与训练数据一致的假设集合,是在假设空间中的一个子集。
Tips:
事实上,假设空间既可以用假设的集合表示,也可以用模型表示。这两种表示方法其实是互通的,因为特定类型的模型就是我们对数据规律的假设,而所有可能的模型实例构成了假设空间。

1.4 理解归纳偏好

  • 归纳偏好(inductive bias):机器学习算法在学习过程中对某种类型假设的偏好。

第二章 模型评估与选择

2.1经验误差与过拟合

  • 错误率(error rate):分类错误的样本数占样本总数的比例;
  • 精度(accuracy):1-错误率;
  • 误差 (error):学习器的实际预测输出与样本的正式输出之间的差异;(更加一般的一个概念,错误率也是一种误差,在回归任务中错误率不适合表示误差还有其他的误差表示)。
  • 训练误差/经验误差(training error/empirical error):学习器在训练集上的误差;
  • 泛化误差(generalization error):在新样本上的误差。训练模型的目的是得到理想化的最小泛化误差的模型。
  • 过拟合(overfitting):把训练样本自身的一些特点当作了所有潜在样本都具有的一般性质,导致泛化性能的下降。
  • 欠拟合(underfitting):对训练样本的一般性质尚未充分学习。

2.2 评估方法

为了评估不同的模型的泛化性能,找到最小泛化误差的模型,我们需要用到测试集。
(1)测试集:用来测试学习器对新样本的判别能力,以测试集上的测试误差作为泛化误差的近似。
(2)测试集的选取标准:测试样本是从样本真实分布中独立同分布采样而得的,同时,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过。

如何从数据集中产生训练集和测试集?以下是常用的几种方法:
1.留出法(hold out):直接将数据集划分为两个互斥的集合,一个集合作为训练集,一个集合作为测试集。
注意,训练/测试的划分要尽可能的保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。同时即使给定划分比例,仍然存在多种划分方式,而不同的划分将导致不同的训练/测试集,模型的评估结果也会有差异,因此得到的结果往往不够稳定可靠,常常需要若干次随机划分后取平均值。
2.交叉验证法(cross validation):先将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性(通过分层采样得到),然后每次用k-1个子集的并集作为训练集,剩下的一个作为测试集。最终返回的k个测试结果的均值。同样由于划分方式的不同,通常要随机使用不同的划分方式重复p次,最终的结果是这p次k折交叉验证结果的均值。

特殊情况: 当数据集包含m个样本,令k=m,则得到了交叉验证法的一个特例:留一法(Leave-One-Out)。
优点: 留一法的评估结果往往被认为比较准确;
缺点: 数据集较大时,训练m个模型的计算开销难以忍受。
3.自助法(bootstrapping):对于给定的包含m个样本的数据集D,对它进行采样得到数据集D’,每次随机从D中放回式的挑选一个样本放入D‘中,重复该过程m次,得到包含有m个样本的数据集D’。显然,D中有一部分样本会在D‘中多次出现,而另一部分样本不出现。约有38.6%(1/e)的样本未出现在采样数据集D’中。
优点:在数据集小,难以有效划分时很有用,对集成学习等方法有好处;
缺点:改变了初始数据集的分布,引入了估计偏差,在数据集足够时,一般不用。

2.3 性能度量

模型的好坏是相对的,不仅取决于算法和数据,还取决于任务需求。因此就需要有衡量模型泛化能力的评价标准,也就是性能度量(performance measure)。
回归任务常见的性能度量:

  • 均方误差(mean squared error):
    E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D) = \frac{1}{m}\sum\limits_{i=1}^m(f(x_i)-y_i)^2 E(f;D)=m1i=1m(f(xi)yi)2

  • 错误率:分类错误的样本数占样本总数的比例

E ( f , D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f,D)=\frac{1}{m}\sum\limits_{i=1}^m\mathbb I (f(x_i)\neq{y_i}) E(f,D)=m1i=1mI(f(xi)=yi)

  • 精度:分类正确的样本数占样本总数的比例.
    a c c ( f , D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f , D ) acc(f,D)=\frac{1}{m}\sum\limits_{i=1}^m\mathbb I (f(x_i)={y_i}) =1-E(f,D) acc(f,D)=m1i=1mI(f(xi)=yi)=1E(f,D)
    在这里插入图片描述

  • 查准率/准确率(precision):它衡量的是模型预测的正类样本中有多少是正确的
    P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP

  • 查全率/召回率(recall):它衡量的是实际的正类样本中有多少被正确地预测为正类
    R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

  • P-R曲线:P-R曲线是通过绘制不同阈值下精度和召回率的变化关系得到的。通常,曲线的横轴表示召回率,纵轴表示精度。
    P-R曲线的绘制步骤
    1)模型预测: 对于给定的分类模型,使用不同的阈值对数据进行预测。每个阈值会产生一组不同的精度和召回率。
    2)计算精度和召回率: 对每个阈值,计算对应的精度和召回率。
    3)绘制曲线: 以召回率为横轴,精度为纵轴,绘制精度-召回曲线。
    在这里插入图片描述

  • F1度量:
    F 1 = 2 ∗ P ∗ R P + R F1=\frac{2*P*R}{P+R} F1=P+R2PR
    一般形式:(能表达出对查准率/查全率的不同偏好)
    F β = ( 1 + β 2 ) ∗ P ∗ R ( β 2 ∗ P ) + R F_\beta=\frac{(1+\beta^2)*P*R}{(\beta ^2*P)+R} Fβ=(β2P)+R(1+β2)PR
    其中 β \beta β>0度量了查全率对查准率的相对重要性。 β = 1 \beta=1 β=1时退化为标准的F1; β > 1 \beta>1 β>1时查全率有更大影响; β < 1 \beta<1 β<1时查准率有更大影响。
    宏F1(macro-F1):
    微F1(micro-F1):

参考文献

[1]周志华.机器学习[M].清华大学出版社,2016.
[2]https://www.bilibili.com/video/BV1Mh411e7VU/?p=2&vd_source=0e750184037a989618cbfa3e8e030c7d

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

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

相关文章

给日期加上15天

// 给当前日期加上15天 function toAndTimeFifteen(params) {let startDate new Date(params); // 创建一个Date对象表示2024年5月31日startDate.setDate(startDate.getDate() 15); // 给当前日期加上15天let dateString formatDate(startDate)// 转换时间格式return dateSt…

之所以选择天津工业大学,因为它是双一流、报考难度适宜,性价比高!天津工业大学计算机考研考情分析!

天津工业大学&#xff08;Tiangong University&#xff09;&#xff0c;简称“天工大”&#xff0c;位于天津市&#xff0c;是教育部与天津市共建高校、国家国防科技工业局和天津市共建的天津市重点建设高校、国家“双一流”建设高校、天津市高水平特色大学建设高校、中国研究生…

【html】用html+css做地表最强王者荣耀辅助工具

源码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><style>* {margin: 0;padding: 0;}body{background-color: blue;}.con {width: 300px;height: 500px;background-color: rgba(230,…

比特币-系统架构师(十四)

1、传统的软件生命周期划分为&#xff1a;软件定义、软件开发、软件运行、软件维护。 2、以下关于区块链所用系统重挖矿行为描述中&#xff0c;错误的是&#xff08;&#xff09;。 A旷工挖矿取得区块链计账权&#xff0c;同时获得代币 B挖矿本质是尝试计算一个hash碰撞 C挖…

6.Hugging Face Transformers 快速入门

Hugging Face Transformers 库独特价值 丰富的预训练模型&#xff1a;提供广泛的预训练模型&#xff0c;如BERT、GPT、T5等&#xff0c;适用于各种NLP任务。易于使用&#xff1a;设计注重易用性&#xff0c;使得即使没有深厚机器学习背景的开发者也能快速上手。最新研究成果的…

程序员之路:塑造卓越职业素养的探索与实践

序章 在这个数字时代&#xff0c;程序员作为技术进步的推动者&#xff0c;不仅需要掌握扎实的技术技能&#xff0c;更需具备高尚的职业素养&#xff0c;以应对日益复杂的行业挑战。职业素养&#xff0c;犹如编程中的“算法”&#xff0c;虽无形却决定着个人发展的效率与质量。本…

chrome 录制器及性能分析工具的使用

需求背景&#xff1a; 对比不同VPN方案网络延迟的差异。 验证工具&#xff1a; chrome浏览器自带的录制器、性能插件可以完美的解决这个问题。 注意&#xff1a;录制的操作都在当前页面&#xff0c;不存在新开标签页的场景 解决方案&#xff1a; 使用chrome录制器&#xf…

18张Python数据科学速查表.png

数据科学已经发展成为一个庞大的系统&#xff0c;包含数学、统计学、概率论、计算机、数据库、编程等各种理论技术。 目前在主流的数据科学领域一般有三大生态&#xff0c;一是以sas、matlab、spss等为代表的商业软件生态&#xff0c;二是围绕R语言建立起来的开源生态&#xf…

[Linux] 文件/目录命令

pwd print working directory cd change directory cd #返回主目录 cd ..返回上级目录 cd . 不动 cd ~ 用户名 进入某用户的主目录 mkdir mkdir 目录名 mkdir -p xx/yy/zz #一次创建多重目录 rmdir remove directory 删除空目录&#xff0c;只能删除空目录&#xff0c;别的不能…

C++ lambda表达式举例

C lambda表达式 Lambda表达式是一种简洁的方式来创建匿名函数&#xff0c;可以直接在函数调用的地方定义&#xff0c;主要用于简化代码。 Lambda表达式的基本语法如下&#xff1a; [capture](parameters) -> return_type {// function body };示例1&#xff1a;基本用法 …

嵌入式开发十八:USART串口通信实验

上一节我们学习了串口通信的基本理论&#xff0c;串口通信是学习单片机的一个重要的一步&#xff0c;非常重要&#xff0c;这一节我们通过实验来学习串口通信的使用&#xff0c;以及串口的接收中断的使用。 一、发送单个字节uint8_t数据或者字符型数据 实现的功能&#xff1a;…

React@16.x(33)动画(上)

目录 1&#xff0c;Transition一些常用 props1&#xff0c;mountOnEnter2&#xff0c;unmountOnExit3&#xff0c;appear 2&#xff0c;CSSTransition2.1&#xff0c;和 Transition 组件的区别2.2&#xff0c;举例2.3&#xff0c;常用 props2.3.1&#xff0c;classNames2.3.2&a…

【UE数字孪生学习笔记】 Apifox一体化接口测试平台

声明&#xff1a;部分内容来自于b站&#xff0c;知乎&#xff0c;慕课&#xff0c;公开课等的课件&#xff0c;仅供学习使用。如有问题&#xff0c;请联系删除。 部分内容来自UE官方文档&#xff0c;博客等 Apifox接口测试 Apifox 是集 API 文档、API 调试、API Mock、API 自动…

C++初学者指南第一步---8.类型系统(基础)

C初学者指南第一步—8.类型系统&#xff08;基础&#xff09; 文章目录 C初学者指南第一步---8.类型系统&#xff08;基础&#xff09;1.用const声明常量2.类型别名3.类型推导 auto4.常量表达式&#xff1a;constexpr (C11) 1.用const声明常量 语法&#xff1a; Type const v…

Python 设计模式(第2版) -- 第二部分(结构型模式)

Python 设计模式(第2版) 然后介绍下结构型设计模式。 下面是一些结构型设计模式的例子&#xff1a; 适配器模式&#xff1a;将一个接口转换成客户希望的另外一个接口。它试图根据客户端的需求来匹配不同类的接口。桥接模式&#xff1a;该模式将对象的接口与其实现进行解耦&a…

[手机Linux PostmarketOS]一,1加6T真正的手机Linux系统

前面用Linux deploy软件安装了Linux系统在手机&#xff0c;实则不是真正的手机刷成了linux系统&#xff0c;而是通过Linux deploy软件在容器里安装了Linux系统&#xff0c;在使用方面会有诸多限制&#xff0c;并不能发挥Linux的真实强大之处&#xff0c;于是我又百度又谷歌(真不…

Docker(四)-Docker镜像

1.概念 镜像是一种轻量级的、可执行的独立软件包&#xff0c;它包含运行某个软件所需的所有内容&#xff0c;我们把应用程序和配置依赖 打包好形成一个可交付的运行环境(包括代码&#xff0c;运行时需要的库&#xff0c;环境变量和配置文件等)&#xff0c;这个打包好的运行环境…

记录锁为什么都加在索引上?

记录锁&#xff08;Record Lock&#xff09;加在索引上的原因主要与数据库的性能优化和数据一致性有关。具体来说&#xff0c;锁加在索引上而不是直接加在数据行上&#xff0c;有以下几个关键原因&#xff1a; 1. 提高查询效率 当锁加在索引上时&#xff0c;数据库可以更高效…

wireshark常见使用表达式

目录 1. 捕获过滤器 (Capture Filters)基本捕获过滤器组合捕获过滤器 2. 显示过滤器 (Display Filters)基本显示过滤器复杂显示过滤器协议特定显示过滤器 3. 进阶显示过滤器技巧使用函数和操作符逻辑操作符 4. 常见网络协议过滤表达式示例HTTP 协议HTTPS 协议DNS 协议DHCP 协议…

Scala入门教程

Scala入门教程可以按照以下步骤进行&#xff0c;以下是详细的内容分点表示和归纳&#xff1a; 一、Scala简介 Scala是一门多范式编程语言&#xff0c;融合了面向对象编程和函数式编程的特性。它运行在Java虚拟机&#xff08;JVM&#xff09;上&#xff0c;因此可以直接使用Ja…