机器学习——第一章 绪论

目录

1. 1 引言

1. 2 基本术语

1.3 假设空间

1.4 归纳偏好


1. 1 引言

机器学习致力于研究如何通过计算的手段,利用经验来玫善系统自身的性能在计算机系统中,"经验"通常以"数据"形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生"模型" (model) 的算法,即"学习算法" (learning algorithm)。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型。,可以说机器学习是研究关于"学习算法"的学问。

1. 2 基本术语

  • 数据集(data set) :一组记录的集合;
  • "示例" (instance) 或"样本" (sample):每条记录关于一个事件或对象的描述;
  • "属性" (attribute) 或"特征" (feature): 反映事件或对象在某方面的表现或性质的事项;
  • "属性空间" (attribute space) “样本空间” (sample space) 或"输入空间":属性张成的空间;
  • "特征向量" (feature vector):一个示例也称为一个特征向量;
  • "学习" (learning) 或"训练" (training):从数据中学得模型的过程;
  • "训练数据" (training data): 训练过程中使用的数据;
  • “训练样本" (training sample):每个样本;
  • "训练集" (training set):训练样本组成的集合;
  • "假设" (hypothesis):学得模型对应了关于数据的某种潜在的规律;
  • "真相"或"真实" (ground-truth): 这种潜在规律自身;
  • "学习器" (learner):学习过程就是为了找出或逼近真相.本书有时将模型称为 “学习器” (learner);
  • "标记" (label) 这里关于示例结果的信息,例如"好瓜";
  • "样例" (example):拥有了标记信息的示例;
  • 测试样本" (testing sample):被预测的样本;
  • 假设空间:假设(hypothesis) 组成的空间;
  • "版本空间" (version space):学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的"假设集合",我们称之为版本空间;

1.3 假设空间

类似由样本构成的样本空间和由标记构成的标记空间,所有的假设共同构成了假设空间。学习的过程就可以看作是在假设空间中搜索最能**匹配(fit)**训练集的假设。

假设空间的规模有多大呢?举个例子,样本空间维度是3,也即每个样本由3个特征来表示。这三个属性可能的取值分别为3,2,2。那么假设空间的规模就是 4 × 3 × 3 + 1 = 37,为什么呢?因为除了可能的取值之外,每个属性还有一种选择就是使用通配符*号表示,即无论取何值都可以。所以一个有3种可能取值的属性在排列组合时有4种情形。最后的加一表示的是**$\varnothing$假设**,它对应的是一种无论属性取何值都不可能达到目的的状况。比方说,前面的假设都是假设怎样的瓜会是好瓜,而$\varnothing$假设则对应于好瓜根本不存在。

有时候会出现多个假设都能匹配训练集的情形,这些假设的集合就称为版本空间(version space)。版本空间是假设空间的子空间。

1.4 归纳偏好

机器学习算法在学习过程中对某种类型假设的偏好,称为 “归纳偏好”(inductive bias), 或简称为“偏好”。

为什么需要归纳偏好?- 从版本空间中找出最准确的假设

因为是使用同一训练样本集进行学习,所以无法判断版本空间中的多个假设的好坏,对于一个具体的学习算法而言,它必须要产生一个模型。这时,学习算法本身的“偏好”就会起到关键的作用。

任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中在同一训练集上“等效”的假设所迷惑,而无法产生确定的学习结果。如果没有偏好,西瓜学习算法产生的模型每次在进行预测时随机抽选训练集上的等效假设,那么将新样本输入模型,时而告诉我们它是好的、时而告诉我们它是不好的,这样的学习结果显然没有意义。

如何引导算法确立“正确的”偏好?- 奥卡姆剃刀
“奥卡姆剃刀" (Occam’s razor)是一种常用的、 自然科学 研究中最基本的原则,即 “若有多个假设与观察一致,则选最简单的那个”。奥卡姆剃刀并非唯一可行的原则,奥卡姆剃刀本身存在不同的诠释,使用奥卡姆剃刀原则并不平凡,需借助其他机制才能解决。 

 

根据奥卡姆剃刀原则,在上图A和B两个假设中,A更简单,所以A优于B,但是,会不会出现现图1.4(b)的 情况:与 A 相比,B 与训练集外的样本更一致?

与 A 相比,B 与训练集外的样本更一致,这种情况完全可能出现。换句话说,对于一个学习算法 a ,若它在某些问题上比学习算法 b 好,则必然存在另一些问题中 b 算法比 a 算法好。

没有免费的午餐定理理 (No Free Lunch Theorem,简称NFL定理)对任何算法均成立,哪怕是把本书后面将要介绍的一些聪明算法作为 a 而将 “随机胡猜”这样的笨拙算法作为 b,没有免费的午餐定理仍然成立。

 

对于学习算法来说,要产生一个模型就意味着要从版本空间中挑选出一个假设。但是版本空间中的假设都和训练集一致,无法直接分辨出哪一个更好,这时候归纳偏好,简称偏好就起作用了。

注意区分偏好特征选择,前者是基于某种领域知识而产生的,后者则是基于对训练样本的分析进行的。

偏好指的是,在多个假设等效时,学习算法会认为某一种假设更优,并选择这种假设来建立最终的模型。如果一个学习算法没有偏好,比方说每次随机地从版本空间中选择一个假设,则它所给出的结果是时好时坏,自相矛盾的。所以任何一个有效的学习算法都应当有自己的归纳偏好。

怎样确定归纳偏好呢?一个常用的原则是奥卡姆剃刀(Occam's razor),用一句话概述就是:若多个假设与观察一致,则选最简单的那个。注意,奥卡姆剃刀并不是唯一的准则,并且如何诠释“最简单”也是待考虑的。

给定基于某种归纳偏好的算法产生的模型A和基于另一种归纳偏好的算法产生的模型B,有时我们会注意到,A和B在不同的样本集上的表现各有好坏,有时候A的效果更好,有时候B的效果更好。甚至一个随机产生的模型都有可能在某个样本集上表现得优于我们精心设计的算法所产生的模型。怎样去定位这个问题呢?

书中使用NFL定理(No Free Lunch Theorem)来解答了这个问题,有一个关键点就是总误差与学习算法无关,证明在书上有,这里主要解析一下书中想要表达的思路。当我们考虑样本空间的所有可能分布,并认为它们都以相同的概率出现或同等重要时,无论使用什么模型,造成的总误差都是相同的,与学习算法无关!

但是!现实中并不是这样的,我们只考虑样本空间服从同一种分布的情形。打个比方,模型A是精心设计的算法产生的,模型B则简单地设定为把任何样本预测为负类。那么对于按照样本分布抽样所得的测试集,模型A效果会比B好;但是如果只抽取负类样本作为测试集,则模型B优于A。显然这种情况下模型B没有任何意义,因为我们根本就不care全是负类这种分布!

所以说,若考虑所有潜在的问题,则所有算法都一样好。**要谈论算法的优劣,必须结合具体问题!**学习算法的归纳偏好和问题是否相配,往往起到决定性的作用。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

由字节对齐引发的一场“血案“

最近在搞个网络通信协议, 采用socket udp传输, 运行时,居然报段错误了, 经过debug,发现居然是因为字节对齐问题导致的。 这个问题在实现通信协议,是经常会遇到的问题, 为了方便读者理解&am…

PSVR2下个月将正式支持PC

PlayStation VR 2将于下个月正式支持PC平台。连接PC,需要使用PlayStation VR2头显PC适配器,该适配器将于8月7日发售。 需要注意的是,玩家还需要一根兼容DisplayPort 1.4的线缆、一个Steam账号以及满足最低配置要求的PC。 索尼特别强调&#…

js 替换json中的转义字符 \

例如有以下字符串 "\"{\\\"account\\\":\\\"66\\\",\\\"name\\\":\\\"66\\\"}\"" 想得到如下字符串 {"account":"66","name":"66"} 执行替换字符串 "\"{…

大坝安全监测设备有哪些主要功能?

推荐型号&#xff1a;TH-WY1】大坝安全监测设备的主要功能包括以下几个方面&#xff1a; 1. **实时监测大坝的各项物理参数**&#xff1a;包括应变、位移、水位、流量等<sup>1</sup><sup>2</sup>。 2. **数据处理和分析**&#xff1a;对监测数据进行处…

热门音效、BGM哪里可以免费下载?

剪辑的奇妙世界等你探索&#xff01;在这个创意的领域里&#xff0c;音效是创造氛围、增强表现力的重要元素。我整理了8个优质的剪辑音效素材网站&#xff0c;它们提供了丰富多样的音效资源&#xff0c;无论是制作视频、音乐还是动画&#xff0c;都能为你提供所需的声音。 1、b…

单关节电机动力学辨识

这是一个单关节电机的动力学辨识过程&#xff0c;这是一个yaw轴转动电机的动力学辨识过程 1、动力学建模 &#xff08;1&#xff09;整体动力学 F J α f F J\alpha f FJαf 单关节的物理量包括惯性项、离心力和科氏力、摩擦力。这里忽略离心力和科氏力&#xff0c;据说…

信息学奥赛初赛天天练-47-CSP-J2020完善程序1-质数、因数、质因数、质因数分解算法、质因数分解算法优化

PDF文档公众号回复关键字:20240727 2020 CSP-J 完善程序1 1 完善程序 (单选题 &#xff0c;每小题3分&#xff0c;共30分) 质因数分解给出正整数 n&#xff0c;请输出将 n 质因数分解的结果&#xff0c;结果从小到大输出 例如&#xff1a;输入 n120&#xff0c;程序应该输出…

mysql报错:Unknown collation: ‘utf8mb4_0900_ai_ci‘的原因及解决方法

参考博客&#xff1a;http://t.csdnimg.cn/NRzyk 报错场景描述 使用navicate在查询中运行sql语句时报错&#xff1a;Unknown collation: utf8mb4_0900_ai_ci 报错原因 生成转储文件的数据库版本为8.0&#xff0c;我本地数据库版本为5.6&#xff0c;高版本导入到低版本&…

【C++】透析类和对象(下)

有不懂的可以翻阅我之前文章&#xff01; 个人主页&#xff1a;CSDN_小八哥向前冲 所属专栏&#xff1a;CSDN_C入门 目录 拷贝构造函数 运算符重载 赋值运算符重载 取地址运算符重载 const成员函数 取地址重载 再探构造函数 初始化列表 类型转换 static成员 友元 内…

【CN】Argo 持续集成和交付(一)

1.简介 Argo 英 [ˈɑ:ɡəu] 美 [ˈɑrˌɡo] Kubernetes 原生工具&#xff0c;用于运行工作流程、管理集群以及正确执行 GitOps。 Argo 于 2020 年 3 月 26 日被 CNCF 接受为孵化成熟度级别&#xff0c;然后于 2022 年 12 月 6 日转移到毕业成熟度级别。 argoproj.github.i…

(最全最小白易懂版)Yolov8新手教程-配置环境、数据集处理、目标检测、结果分析处理(图像指标、可视化结果)、报错分析等全过程学习记录

目录 一、安装环境&#xff08;配置yolo、demo测试&#xff09; 二、数据集准备&#xff08;格式学习&#xff09; 三、训练数据集 1.划分数据集 2.训练数据集 2.1常规训练 2.2微调 3.各种报错记录 3.1AttributeError 3.2TypeError 3.3Error while loading conda en…

Flutter Dio网络请求报错FormatException: Unexpected character

最近开发Flutter项目&#xff0c;网络请求采用的是Dio框架&#xff0c;在发起网络请求的时候报错&#xff1a; 网络请求返回的数据为&#xff1a; var returnCitySN {\"cip\": \"127.0.0.1\", \"cid\": \"00\", \"cname\"…

浅谈 JVM 的内存划分、类加载、垃圾回收机制

文章目录 一、JVM内存划分1.1、JVM为什么要进行内存划分&#xff1f; 二、JVM类加载2.1、什么是类加载&#xff1f;2.2、类加载大体过程2.3、何时触发类加载&#xff1f;2.4、双亲委派模型[!面试高频问题]2.4.1、类加载器2.4.1、什么是双亲委派模型&#xff1f; 三、JVM 垃圾回…

Flink SQL 的工作机制

前言 Flink SQL 引擎的工作流总结如图所示。 从图中可以看出&#xff0c;一段查询 SQL / 使用TableAPI 编写的程序&#xff08;以下简称 TableAPI 代码&#xff09;从输入到编译为可执行的 JobGraph 主要经历如下几个阶段&#xff1a; 将 SQL文本 / TableAPI 代码转化为逻辑执…

书生大模型实战营--L1关卡-OpenCompass 评测 InternLM-1.8B 实践

一、使用 OpenCompass 评测 internlm2-chat-1.8b 模型在 MMLU 数据集上的性能 1、使用lmdeploy部署 internlm2-chat-1.8b模型 2、根据OpenCompass官网教程安装并下载数据集 opencompass/README_zh-CN.md at main open-compass/opencompass GitHub 注意&#xff1a; pyhton…

【Java】this关键字、构造方法、标准javabean类(009)

目录 ♦️构造方法 &#x1f383;无参数构造方法&#xff08;空参构造&#xff09; &#x1f383;有参数构造方法 ♦️this关键字 &#x1f383;就近原则 &#x1f383;使用this关键字调用本类中的属性 ​编辑 &#x1f383;使用this关键字调用成员方法 ​编辑 &#x…

Collention集合基础知识

Array 数组是一种连续的内存空间存储相同数据类型数据的线性数据结构 数组获取其他元素的地址值 寻址公式 a[i] baseaddress i*datatypesize 为什么数组索引从0开始 从1开始不行吗 从0开始寻址公式 a[i] baseaddress i*datatypesize 从1开始寻址公式 a[i] baseadd…

【计算机网络】无线网络和移动网络(第9章)大纲(共70+页)

最后只复习了1.5天&#xff0c;应用层简单过了一遍。 本来是mindmap的&#xff0c;但是太大了只能导出成提纲了&#xff0c;凑合看吧orz。 如果你找我要源文件&#xff0c;最好是在2024年&#xff0c;不然我可能就找不到了&#xff08;&#xff09;。

基于STC8H系列单片机的中断系统

基于STC8H系列单片机的中断系统 STC8H4K64TL单片机介绍STC8H4K64TL单片机管脚图(48个引脚)STC8H4K64TL单片机串口仿真与串口通信STC8H4K64TL单片机管脚图(32个引脚)STC8H4K64TL单片机管脚图(20个引脚)STC8H系列单片机管脚说明STC8H系列单片机I/O口STC8H系列单片机I/O口相…

【C++】:红黑树的应用 --- 封装map和set

点击跳转至文章&#xff1a;【C】&#xff1a;红黑树深度剖析 — 手撕红黑树&#xff01; 目录 前言一&#xff0c;红黑树的改造1. 红黑树的主体框架2. 对红黑树节点结构的改造3. 红黑树的迭代器3.1 迭代器类3.2 Begin() 和 End() 四&#xff0c;红黑树相关接口的改造4.1 Find…