机器学习(一)——基本概念、模型的评估与选择

目录

  • 1 关于
  • 2 概念
    • 2.1 基础概念
    • 2.2 学习过程
    • 2.3 预测与评估
    • 2.4 标记与分类
      • 2.4.1 标记
      • 2.4.2 分类
    • 2.5 回归分析
    • 2.6 聚类分析
    • 2.7 学习类型
    • 2.8 泛化能力
    • 2.9 统计学概念
  • 3 模型评估与选择
    • 3.1 经验误差与过拟合
    • 3.2 评估方法
      • 3.2.1 留出法
      • 3.2.2 交叉验证法
      • 3.2.3 自助法
      • 3.2.4 调参与最终模型
    • 3.3 性能度量


1 关于

本文是基于西瓜书(第一、二章)的学习记录。提供了机器学习领域的基础知识和概念的概述、模型评估与选择等内容。
西瓜书电子版:百度网盘分享链接


2 概念

2.1 基础概念

  • 记录:一组相关数据项的集合,描述了一个对象或实体的特定信息。
  • 数据集(data set):一组记录的集合,每条记录描述一个事件或对象。
  • 示例(instance)或样本(sample):数据集中的每条记录,代表一个具体的事件或对象。
  • 属性(attribute)或特征(feature):反映事件或对象在某方面的表现或性质的事项。
  • 属性值(attribute value):属性上的取值,例如“青绿”、“乌黑”。
  • 属性空间(attribute space)、样本空间(sample space)或输入空间:由属性张成的空间,用于描述对象。
  • 特征向量(feature vector):属性空间中的每个点对应一个坐标向量,因此一个示例也可以被称为一个特征向量。

2.2 学习过程

  • 学习(learning)或训练(training):从数据中学得模型的过程。
  • 学习算法(learning algorithm):执行学习或训练过程的算法。
  • 训练数据(training data):训练过程中使用的数据。
  • 训练样本(training sample):训练数据中的每个样本。
  • 训练集(training set):由训练样本组成的集合。
  • 假设(hypothesis):学得的模型,对应了关于数据的某种潜在规律。
  • 真相(ground-truth)或真实:潜在规律自身,学习过程的目的是找出或逼近真相。
  • 学习器(learner):有时将模型称为学习器,可看作学习算法在给定数据和参数空间上的实例化。

2.3 预测与评估

  • 预测(prediction):建立模型以帮助判断未剖开的西瓜是否为“好瓜”。
  • 测试(testing):使用学得的模型进行预测的过程。
  • 测试样本(testing sample):被预测的样本。

2.4 标记与分类

2.4.1 标记

  • 标记(label):关于示例结果的信息,如“好瓜”。
  • 样例(example):拥有标记信息的示例。
  • 样本:有时也将标记看作对象本身的一部分,此时“样例”也称为“样本”。

2.4.2 分类

  • 分类(classification):预测离散值的任务,例如“好瓜”“坏瓜”。
    • 二分类(binary classification):涉及两个类别的分类任务。
    • 多分类(multi-class classification):涉及多个类别的分类任务。
    • 正类(positive class):在二分类任务中,通常指定的一个类别。
    • 负类(negative class):在二分类任务中,非正类的类别。

2.5 回归分析

  • 回归(regression):预测连续值的任务,例如西瓜成熟度。

2.6 聚类分析

  • 聚类(clustering):将训练集中的西瓜分成若干组的过程,每组称为一个“簇”。
  • 簇(cluster):聚类过程中形成的组。

2.7 学习类型

  • 监督学习(supervised learning):基于训练数据拥有标记信息的学习任务。
  • 无监督学习(unsupervised learning):基于训练数据不拥有标记信息的学习任务。

2.8 泛化能力

  • 泛化(generalization)能力:学得模型适用于新样本的能力。
  • 新样本:未在训练集中出现的样本。

2.9 统计学概念

  • 分布(distribution):样本空间中全体样本服从的未知分布。
  • 独立同分布(independent and identically distributed, i.i.d.):每个样本都是独立地从分布上采样获得的。

3 模型评估与选择

3.1 经验误差与过拟合

  • 错误率:分类错误的样本数占样本总数的比例
  • 精度:精度= 1-错误率
  • 误差:学习器的实际预测输出与样本的真实输出之间的差异
  • 训练误差:学习器在训练集上的误差
  • 泛化误差:在新样本上的误差
  • 过拟合:当学习器把训练样本学得“太好” 了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降.
  • 欠拟合:指对训练样本的一般性质尚未学好.

3.2 评估方法

  • 通常,我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择.为此 需使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似。测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过。

3.2.1 留出法

直接将数据集。划分为两个互斥的集合,其中一个集合作为训练集S ,另一个作为测试集T

  • 需注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,例如在分类任务中至少要保持样本的类别比例相似
  • 单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果
  • 常见做法是将大约2/3〜 4/5的样本用于训练,剩余样本用于测试.

3.2.2 交叉验证法

先将数据集D 划分为k个大小相似的互斥子集,然后,每次用k - 1 个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值

  • 交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,为强调这一点,通常把交叉验证法称为“ k 折交叉验证”(k-fold cross validation), k最常用的取值是10 ,此时称为10折交叉验证
  • 示意图

3.2.3 自助法

每次随机从。中挑选一个样本,将其拷贝放入少 ,然后再将该样本放回初始数据集D 中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D

3.2.4 调参与最终模型

  • 除了要对适用学习算法进行选择,还需对算法参数进行设定,这就是通常所说的“参数调节”或简称“调参 "(parameter tuning).
  • 通常把学得模型在实际使用中遇到的数据称为测试数据,为了加以区分,模型评估与选择中用于评估测试的数据集常称为“验证集 "(validation set)。).例如,在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参.

3.3 性能度量

  • 均方误差(回归任务最常用)

  • 错误率:分类错误的样本数占样本总数的比例
  • 精度:是分类正确的样本数占样本总数的比例
  • 查准率:检索出的信息中有多少比例是用户感兴趣的。即预测为正类的样本中,实际为正类的比例
  • 查全率:用户感兴趣的信息中有多少被检索出来了。即在所有实际为正类的样本中,模型预测为正类的比例。
  • F1:查准率和查全率的调和平均数,它试图在两者之间找到一个平衡。
  • 一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低
  • P-R 曲线:根据学习器的预测结果对样例进行排序,排在前面的是学习器认为“最可能”是正例的样本,排在最后的则是学习器认为“最不可能”是正例的样本.按此顺序逐个把样本作为正例进行预测,则每次可以计算出当前的查全率、查准率.以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称 P-R曲线
    • 若一个学习器的P -R 曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者
    • 比较P -R 曲线下面积的大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例.

  • ROC 与 AUC:我们根据学习器的概率预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到了 “ROC曲线”.ROC 曲线的纵轴是“真正例率”(True Positive Rate ,简称 TPR ) , 横轴是“假正例率”
    • 若一个学习器的ROC曲线被另一个学习器的曲线完全“包住"则可断言后者的性能优于前者;若两个学习器的ROC曲线发生交叉,则难以一般性地断言两者孰优孰劣.此时如果一定要进行比较,则较为合理的判据是比较ROC曲线下的面积,即AUC

  • 代价敏感错误:为权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”

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

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

相关文章

leetcode02 --- 合并两个有序链表

题目 . - 力扣(LeetCode) 合并两个有序链表 代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, L…

公开仓库改私有再配置公钥后Git拉取仍需要输入用户名的问题

问题描述:git拉取私有仓库需要输入用户名和密码 我之前写了一个脚本用来定时自动拉取远程仓库更新本地仓库,后来将这个远程仓库改成私有后执行脚本就会需要输入用户名和密码。 [rootLH2020 ~]# ./sync_repo.sh 正在从远程仓库拉取最新更改… Username f…

ssm060基于SSM的高校共享单车管理系统的设计与实现+vue(论文+源码)_kaic

设计题目:高校共享单车管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0…

聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 11月5日消息 比亚迪腾势D9登陆泰国 苹果 iOS 18.2 将发布 真我GT7 Pro防尘防水细节 小米15 Ultra最快明年登场 …

三菱QD77MS定位模块速度更改功能

速度更改功能” 是以任意时机将控制中的速度更改为新指定的速度的功能。更改后的速度直接设置到缓冲存储器中,并根据速度更改指令([cd.15速度更改请求)或者外部指令信号执行速度更改。 但是,机械原点复位的情况下,检测出近点狗 ON 并开始向蠕…

2024系统分析师---微服务架构(淘宝押题)

2020年6月,我单位联合 xxx、xxx有限公司开发了省 xxx 综合应用管理平台,作为公司核心技术骨干,我担任了系统架构师的职务,主要负责xxx应用系统架构体系设计及核心组件的开发工作。该系统按照省机关业务类型划分,依次包含基础功能支撑板块、平台资源管理板块、煤炭能源板块…

读多写少业务中,MySQL如何优化数据查询方案?

小熊学Java​站点:https://www.javaxiaobear.cn 编程资料合集:https://pqgmzk7qbdv.feishu.cn/base/QXq2bY5OQaZiDksJfZMc30w5nNb?from=from_copylink 看一看当面试官提及“在读多写少的网络环境下,MySQL 如何优化数据查询方案”时,你要从哪些角度出发回答问题??? 案例…

flink 内存配置(二):设置TaskManager内存

flink 内存配置(一):设置Flink进程内存 flink 内存配置(二):设置TaskManager内存 flink 内存配置(三):设置JobManager内存 flink 内存配置(四)…

js 好用的字符操作方法

序:突然感觉有些方法常见有时也用,但怕有时不记得,顺便记录一下! 一、获取类方法 let str "Hello,你们好!" console.log(str.charAt(6)) // 你 console.log(str.charAt(12)) // (空字符串)console.log(st…

Flutter鸿蒙next中的按钮封装:自定义样式与交互

在Flutter应用开发中,按钮是用户界面中不可或缺的组件之一。它不仅用于触发事件,还可以作为视觉元素增强用户体验。Flutter提供了多种按钮组件,如ElevatedButton、TextButton、OutlinedButton等,但有时这些预制的按钮样式无法满足…

线段树专题(1)

线段树 线段树可维护的信息类型 线段树可以维护的信息类型,父范围上的某个信息,可以用O(1)的时间,从子范围的信息加工得到,例如求某个范围的最大最小值,给某个范围每个位置加相同的数字,进行求和。 0到2范…

Neo4j数据库清理指南:如何安全地删除所有节点和索引

Neo4j数据库清理指南:如何安全地删除所有节点和索引 1. 基础知识2. 安全注意事项3. 清理数据库的步骤3.1 删除所有节点和关系3.2 删除所有索引和约束 4. 在Python中执行这些操作5. 常见问题解答6. 最佳实践建议结语 在使用Neo4j图数据库进行开发时,我们有…

NoETL自动化指标平台为数据分析提质增效,驱动业务决策

直觉判断往往来源于多年的经验和专业知识,能够在复杂和不确定的环境中快速做出决策反应。但这种方式普遍存在主观偏见,缺乏合理的科学依据,无法全面、客观、精准地评估和识别市场趋势与用户需求,从而造成决策失误,给业…

软考高级架构 - 8.1 - 系统质量属性与架构评估 - 超详细讲解+精简总结

第8章 系统质量属性与架构评估 软件系统属性包括功能属性和质量属性,而软件架构重点关注质量属性。 8.1 软件系统质量属性 8.1.1 概述 软件系统的质量反映了其与需求的一致性,即:软件系统的质量高低取决于它是否能满足用户提出的需求&#…

Windows系统使用OpenSSL生成自签名证书

Nginx服务器添加SSL证书。 要在Windows系统的Nginx Web服务器上使用OpenSSL生成证书,并确保该证书能在局域网内被计算机信任,你可以按照以下详细步骤进行操作: 一、生成证书 下载并安装OpenSSL: 从OpenSSL的官方网站下载适用于Wi…

Jmeter常见的几种报错及解决方案

在性能测试的过程中,使用JMeter进行负载测试是一项常见而重要的任务。然而,测试中常常会遇到各种报错,这些问题可能会影响测试结果的准确性。了解这些错误的原因及解决方案,是每位测试工程师必备的技能 进行Jmeter项目练习的时候…

《JavaEE进阶》----21.<基于Spring图书管理系统②(图书列表+删除图书+更改图书)>

PS: 开闭原则 定义和背景‌ ‌开闭原则(Open-Closed Principle, OCP)‌,也称为开放封闭原则,是面向对象设计中的一个基本原则。该原则强调软件中的模块、类或函数应该对扩展开放,对修改封闭。这意味着一个软…

仿真APP助力汽车零部件厂商打造核心竞争力

汽车零部件是汽车工业的基石,是构成车辆的基础元素。一辆汽车通常由上万件零部件组成,包括发动机系统、传动系统、制动系统、电子控制系统等,它们共同确保了汽车的安全、可靠性及高效运行。 在汽车产业快速发展的今天,汽车零部件…

现代Web开发:Vue 3 组件化开发实战

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 现代Web开发:Vue 3 组件化开发实战 现代Web开发:Vue 3 组件化开发实战 现代Web开发:Vue 3 组…

Unity引擎智能座舱解决方案

作为全球领先的 3D 引擎之一,Unity引擎为车载3D HMI提供全栈支持。即为从概念设计到量产部署的整个 HMI 工作流程提供创意咨询、性能调优、项目开发等解决方案,从而为车载信息娱乐系统和智能驾驶座舱打造令人惊叹的交互式体验。 专为中国车企打造的HMI引…