机器学习-01概论

news2024/11/24 19:26:58

机器学习

人们在生活中可能已经注意到了这样一种现象:我们能够轻松地通过相貌区分出日本人、韩国人和泰国人,但是面对英国人、俄罗斯人和德国人时,我们却很难辨认他们的面孔。造成这种现象的原因一方面是因为日韩泰都是我国的邻国,我们观察这些国家的普通人的机会相对较多,从而使得我们更容易观察到这些国家特有的面貌特征。另一方面,抛开服装和化妆等因素不论,相同人种之间的相似性使得面貌特征更加容易进行比较和辨别,而不同人种之间的差异则更加难以捕捉。

根据大量的观察,可以总结出不同国别人群的面貌特点,如中国人下颌适中,日本人长脸长鼻,韩国人眼小颧高,泰国人肤色暗深。这些特点被用于判断路人甲来自日本还是路人乙来自韩国等。

这是一个简化版的人类学习机制的例子,即从大量现象中提取反复出现的规律和模式。在人工智能中,这种过程被称为机器学习。从形式化的角度定义,机器学习是指算法利用某些经验,使其在特定任务中的性能得到改善。从方法论的角度看,机器学习是计算机基于数据构建概率统计模型,并运用模型对数据进行预测和分析的学科。

机器学习可以从数据中来,到数据中去。已有数据具有一定的统计特性,不同的数据可以视为满足独立同分布的样本。机器学习根据已有的训练数据推导出描述所有数据的模型,并运用该模型对未知的测试数据做出最优预测。

在机器学习中,数据并非通常意义上的数量值,而是对于对象某些性质的描述。被描述的性质叫作属性,属性的取值称为属性值,不同的属性值有序排列得到的向量就是数据,也叫实例。

在文首的例子中,黄种人相貌特征的典型属性包括肤色、眼睛大小、鼻子长短、颧骨高度。标准的中国人实例甲是属性值{浅、大、短、低}的组合,标准的韩国人实例乙则是属性值{浅、小、长、高}的组合。

根据线性代数的知识,数据的不同属性之间可以视为相互独立,每个属性代表一个不同的维度,这些维度共同构成了一个特征空间。每个实例都可以被视为特征空间中的一个点,即特征向量。这里的特征向量不同于特征值对应的向量,而是指特征空间中的向量。通过对输入数据进行分类,根据特征向量进行分类就能够得到输出。

在实际的机器学习任务中,输出的形式可能更加复杂。根据输入输出类型的不同,预测问题可以分为以下三类:

  • 分类问题:输出变量为有限个离散变量,当个数为2时即为最简单的二分类问题;
  • 回归问题:输入变量和输出变量均为连续变量;
  • 标注问题:输入变量和输出变量均为变量序列。

但是,实际上每个国家的人都是独一无二的,其长相自然也会千差万别。因此,一个浓眉大眼的韩国人可能会被误认为是中国人,而一个肤色较深的日本人也可能被误认为泰国人。

在机器学习中,同样的问题也会存在误差。一个算法既不能和所有训练数据完美匹配,也不能对所有测试数据做出准确的预测。因此,误差性能是机器学习的重要指标之一。

在机器学习中,误差定义为学习器的实际预测输出与样本真实输出之间的差异。在分类问题中,常用的误差函数是错误率,即分类错误的样本占全部样本的比例。

误差可以进一步分为训练误差和测试误差两类。训练误差指的是学习器在训练数据集上的误差,也称经验误差;测试误差指的是学习器在新样本上的误差,也称泛化误差。

训练误差描述的是输入属性与输出分类之间的相关性,能够判定给定的问题是不是一个容易学习的问题。**测试误差则反映了学习器对未知的测试数据集的预测能力,是机器学习中的重要概念。**实用的学习器都是测试误差较低,即在新样本上表现较好的学习器。

学习器通过利用已知数据来对真实情况进行拟合,从而得到一个尽可能逼近真实模型的模型。为了确保这个模型能够适用于所有未知数据,我们需要在训练数据集中尽可能地提取出适用于所有数据的普适规律。

然而,如果过分关注训练误差,即追求预测规律与训练数据的完全符合,就会导致学习器对训练样本的非普适特性产生错误理解,将其误认为是所有数据的普遍性质。这样一来,学习器的泛化能力就会下降。

在前文的例子中,如果接触的外国人较少,没有见过双眼皮的韩国人,那么就可能会形成“单眼皮都是韩国人”的错误定式,这种典型的过拟合现象,即把训练数据的特征错当成了整体的特征。

欠拟合是指学习器不能很好地拟合训练数据,而其原因是学习能力太弱,以至于训练数据的基本性质都没有学到。如果学习器能力不足,甚至可能会把黑猩猩的图像误认为人,这就是欠拟合的后果。

欠拟合可以通过改进学习器算法来克服,而过拟合则无法避免,只能尽量降低其影响。由于训练样本数量有限,因此具有有限个参数的模型足以将所有训练样本纳入其中。但是,模型的参数越多,能与这个模型精确相符的数据就越少,将这样的模型运用到无穷的未知数据中时,过拟合的出现便不可避免。

此外,训练样本本身可能包含一些噪声,这些噪声也会给模型的精确性带来额外的误差。整体来说,测试误差与模型复杂度之间呈现抛物线关系。当模型复杂度较低时,测试误差较高;随着模型复杂度的增加,测试误差将逐渐下降并达到最小值;之后,当模型复杂度继续上升时,测试误差会随之增加,对应着过拟合的发生。

为了更准确地估计测试误差,一种广泛应用的方法是交叉验证。交叉验证的思想是重复利用有限的训练样本,通过将数据切分成若干个子集,让不同的子集分别组成训练集和测试集,并在此基础上反复进行训练、测试和模型选择,以达到最优效果。

如果将训练数据集分成 10 个子集 D1-10 进行交叉验证,则需要使用 10 轮训练来测试每个模型。在第一轮中,使用子集 D2-D10 作为训练集,并在子集 D1 上进行测试;在第二轮中,使用子集 D1 和 D3-D10 作为训练集,在子集 D2 上进行测试。依此类推,当模型在所有 10 个子集全部完成测试后,其性能就是 10 次测试结果的平均值。在不同模型中,平均测试误差最小的模型就是最优模型。

机器学习中一个重要的工程问题是参数调整,也称为调参。这是因为算法的参数值对模型性能有着显著的影响。在神经网络和深度学习中,由于参数数量众多,调参变得更加重要和复杂。假设一个神经网络中包含1000个参数,每个参数有10种可能的取值,对于每一组训练/测试集,就有100010个模型需要考察。因此,调参过程中需要权衡性能和效率的关系。

根据训练数据是否带有标签信息,可以将机器学习任务分为三类:监督学习、无监督学习和半监督学习。

  • 监督学习:基于已知类别的训练数据进行学习;
  • 无监督学习:基于未知类别的训练数据进行学习;
  • 半监督学习:同时使用已知类别和未知类别的训练数据进行学习。

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

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

相关文章

信号处理与分析-确定性信号的分析

目录 一、引言 二、确定性信号的定义 三、确定性信号的分类 四、确定性信号的分析方法 4.1 傅里叶变换 4.2 离散傅里叶变换 4.3 离散余弦变换 4.4 小波变换 五、确定性信号的处理方法 六、结论 一、引言 信号分析与处理是现代通信技术和信息处理技术的重要组成部分。…

Redis安装及其配置文件修改

一、redis 安装 点击即可下载 https://download.redis.io/releases/ 将下载后的包通过xftp上传到服务器 解压,我这边是解压到/usr/local目录下 -- 创建路径 mkdir /usr/local/redis -- 解压 tar -zxvf redis-4.0.0.tar.gz -C /usr/local/redis 为防止编译失败&am…

MyBatis-Plus精讲和使用注意事项

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

【国产虚拟仪器】基于Zynq的雷达10Gbps高速PCIE数据采集卡方案(一)总体设计

2.1 引言 本课题是来源于雷达辐射源识别项目,需要对雷达辐射源中频信号进行采集传输 和存储。本章基于项目需求,介绍采集卡的总体设计方案。采集卡设计包括硬件设计 和软件设计。首先对采集卡的性能和指标进行分析,接着提出硬件的总体设计…

详解知识蒸馏原理和代码

目录 知识蒸馏原理概念技巧举例说明KL 散度及损失 KD训练代码导入包网络架构teacher网络student网络 teacher网络训练定义基本函数训练主函数 student网络训练(重点)理论部分定义kd的loss定义基本函数训练主函数 绘制结果teacher网络的暗知识softmax_t推…

使用dockerfile自定义Tomcat镜像

一:创建目录 mkdir /root/tomcat chmod 777 /root/ chmod 777 /root/tomcat 或者chmod -R 777 /root 这里的无效选项是因为我想递归修改root目录及root目录文件以下的权限 chmod :-R 递归修改指定目录下所有子目录和文件的权限 二:将jdk和apache压…

RPG游戏自动打怪之朝向判断

RPG游戏辅助想要做到自动打怪 获得到最近怪物信息以后 还需要面向怪物 否则背对怪物等等情况是没有办法攻击以及释放技能的 游戏设计的时候朝向是有很多种情况的 第一种 2D,2.5D老游戏,例如传奇 他的朝向一般是极为固定的4朝向或则8朝向 也就是不…

数组题目总结 -- 花式遍历

目录 一. 反转字符串中的单词思路和代码:I. 博主的做法II. 东哥的做法III. 其他做法1IV. 其他做法2 二. 旋转图像思路和代码:I. 博主的做法II. 东哥的做法 三. 旋转图像(逆时针旋转90)思路和代码:I. 博主和东哥的做法 …

SpringBoot2-基础入门(一)

SpringBoot2-基础入门(一) 文章目录 SpringBoot2-基础入门(一)1. 为什么学习SpringBoot1.1 SpringBoot的优点1.2 SpringBoot的缺点1.3 SpringBoot开发环境 2. 第一个SpringBoot程序2.1 添加依赖2.2 编写主程序类 -- 固定写法2.3 编…

SpringCloud(25):熔断降级实现

熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之…

硅谷新王登国会山,呼吁加强 AI 监管;马斯克任命推特新 CEO;数字媒体巨头申请破产;欧盟通过全球首个全面监管加密资产框架 | 经济学人第 21 周

1. 硅谷新王登国会山,呼吁加强 AI 监管 Sam Altman, the chief executive of OpenAI, the firm behind the ChatGPT chatbot, called for tighter regulation of rapidly developing generative artificial intelligence, such as by forcing disclosure on images …

【文件操作与IO】

目录 一、文件 1、文件的定义 2、File类 🍅File类中的常见属性 🍅File类中的构造方法 🍅File类中的常用方法 二、文件内容的读取-数据流 🍅InputStream概述 🍅FileInputStream 🍅OutputStream 概…

真题详解(汇总)-软件设计(八十三)

真题详解(include)-软件设计(八十二)https://blog.csdn.net/ke1ying/article/details/130828203 软件交付后进入维护阶段,采用专门的程序模块对文件或者数据中记录进行增加、删除和修改操作,属于? 解析&a…

Netty重试一定次数后调用System.exit(n)退出应用程序(二)

System.exit()方法 原型:System.exit(int status) 其功能主要是调用Runtime.getRuntime().exit(status); 作用是终止当前正在运行的Java虚拟机,这个status表示退出的状态码,非零表示异常终止。(可以返回给其他进程的调用者一个调用的返回码…

RES 新的数据集 Advancing Referring Expression Segmentation Beyond Single Image 论文笔记

RES 新的数据集 Advancing Referring Expression Segmentation Beyond Single Image 论文笔记 一、Abstract二、引言三、相关工作3.1 Referring Expression Segmentation (RES)3.2 CoSalient Object Detection (CoSOD) 四、提出的方法4.1 概述文本 & 图像编码器TQM & H…

OpenStreetMap实战

介绍 OpenStreetMap(OSM)是一个由志愿者创建并维护的免费和开源的地图数据库。其目的是为全球任何人提供可自由使用、编辑和分发的地图数据。OpenStreetMap数据库中的地理要素包括道路、建筑、河流、森林、山脉、公共设施等。由于OpenStreetMap是开放的…

数据结构初阶 —— 二叉树链式结构

目录 一,二叉树链式结构 二,二叉树的遍历(四种) 前序遍历 中序遍历 后序遍历 层序遍历 三,二叉树接口 四,试题 一,二叉树链式结构 普通二叉树的增删查改,意义不大&#xff1b…

JavaScript基础扫盲

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 本篇文章为大家带来JavaScript的学习,一图胜千言~~~ 目录 文章目录 1.1 JavaScript (简称 JS) 1.2 JavaScript发展历史 1.3 JavaScript运行过程 二、JavaScript的基础语法 2.1 …

Linux内核源码分析-进程调度(五)-组调度

出现的背景 总结来说是希望不同分组的任务在高负载下能分配可控比例的CPU资源。为什么会有这个需求呢,假设多用户计算机系统每个用户的所有任务划分到一个分组中,A用户90个任务,而B用户只有10个任务(这100个任务假设都是优先级一…

物联网手势控制小车所遇问题与解决方案

LCD1602无法显示问题 问题描述:按照开源社区教程完成LCD1602驱动显示程序的编写,成功点亮屏幕,开启背光,但无法观察到显示数据。 分析过程与解决方案: 1.是否IIC地址不对 使用以下代码扫描IIC总线上的设备&#xf…