寒假本科创新学习——机器学习(一)

news2024/11/15 6:55:44

绪论

  • 1.1什么是机器学习
    • 1.1.1 Arthur Samuel给出的定义
    • 1.1.2 显著式编程和非显著式编程
    • 1.1.3 Tom Mitshell给出的定义
  • 1.2基本术语

1.1什么是机器学习

1.1.1 Arthur Samuel给出的定义

Arthur Samuel是机器学习领域的先驱之一,
他编写了世界上第一个棋类游戏的人工智能程序

Arthur Samuel 的定义:
Machine Learning is Field of study that gives computers the ability to learn without being explicitly programmed.

机器学习是这样的领域,他赋予计算机学习的能力,(这种学习的能力)不是通过显著式编程获得的。

1.1.2 显著式编程和非显著式编程

什么是显著式编程 ?
举例来说:
比如我们要编写一个程序来自动区别苹果🍎和柠檬🍋,如果我们人为的告诉计算机苹果🍎是红色的,柠檬🍋是黄色的,所以计算机看到红色就把它识别为🍎,看到黄色就把它识别为🍋,这就是显著式编程
在这里插入图片描述非显著式编程 ?
紧接上面的例子,如果我们只给计算机一堆🍎的图片,同时给计算机一堆🍋的图片,然后编写程序让计算机自己去总结🍎和🍋的区别(前提是编写的程序没毛病),那么计算机很有可能通过大量图片也能总结出苹果是红色、柠檬是黄色这个规律,当然,计算机也有可能总结出其他的规律。
我们事先并不约束计算机必须总结出什么规律,而是让计算机自己挑出最能区分🍎和🍋的一些规律,从而完成对苹果和柠檬的识别

像这种让计算机自己总结规律的编程方法,叫做非显著式编程
Arthur Samuel所定义的机器学习是专指这种非显著式的编程方法

另一个例子
比如我们想让一个机器人去教室外给我们接一杯水
显著式的编程是这样的:首先我们要向这个机器人发出指令让它向左转(因为门在机器人的左边),然后我们要让它朝前走五步,接下来,让机器人右转,再向前走五步(走到咖啡机面前),然后我们发指令让机器人把杯子放在合适的位置,再让机器人点 “冲咖啡” 按钮,咖啡冲好之后,再次发指令,让机器人原路返回

由此可见,显著式编程有很大的劣势
我们必须帮机器人规划其所处环境,要把环境调查的一清二楚(机器人的位置在哪里,咖啡机在哪里,咖啡机上的按钮在哪里,机器人应该怎么走······)
(有这个时间为啥还要用机器人呢 ?)

这时候非显著式编程的优势就体现出来了

非显著式的编程是这样的:
首先我们规定机器人可以采取一系列的行为(向左转,向右转,取杯子,按按钮······),接下来,我们规定在特定的环境下,机器人做这些行为所带来的收益,叫做收益函数(比如机器人摔倒了,或者采取了某个行为导致撞到墙上、水洒出杯子,此时规定收益函数的值为负;如果机器人采取了某个行为 成功取到了咖啡,那么我们的程序就要“奖励”这个行为,规定此时收益函数的值为正)我们规定了行为和收益函数后,我们就不用管了,只需构造一个算法让计算机自己去找最大化收益函数的行为
可以想象,一开始计算机采用随机化的行为,但是只要我们的程序编的足够好,计算机是可能找到一个最大化收益函数的行为模式的
由此可见,非显著式编程的优势在于,它通过数据,经验自动的学习,完成我们交给它的任务

1.1.3 Tom Mitshell给出的定义

Tom Mitshell 在他的书《Machine Learning》中提出了一个比较正式的定义 :

A compute program is said to learn from experience E with respect to same task T and some performance measure P,if its performance on T,as measured by P, improves with experience E

一个计算程序被称为可以学习,是指它能够针对某个任务T和某个性能P,从经验E中学习,这种学习特点是,它在T上的被P所衡量的性能,会随着经验E的增加而提高

我们还是举最开始的那个例子,在这个苹果🍎和柠檬🍋的例子中
在这里插入图片描述

在机器学习中,把这大量苹果和柠檬的图片叫做训练样本(training samples)
根据Tom Mitshell对机器学习的定义,机器学习就是根据任务,来构造某种算法,这种算法的特点是当训练样本越来越多时(即E越来越多),识别率也会越来越高
显然,显著式编程是无法达到这个目的的

通过上面的描述可以看出,Tom Mitshell的定义比Arthur Samuel的定义更加数学化
根据经验E来提高性能指标P的过程是典型的最优化问题,数学中的最优化的各种理论都可运用其中,所以数学在现代机器学习中占有重要地位

1.2基本术语

在这里插入图片描述在这里插入图片描述

数据集:我们拿到所有数据构成的一个集合(即上图中《训练数据》这个表 )
训练:我们拿到数据用来建立这个模型,建立这个模型的过程就是训练
测试(test):建立这个模型之后,给一个新的数据,然后用这个模型判断这个数据做对or做错(其实就是使用这个模型)

测试数据的 结果/答案 应该是已知的,否则没法了解模型给出的结果是对是错;同时,为了得到一个客观的结果,测试数据和训练数据应该是分开的→测试数据一开始就应该留出来

🐖测试是把模型拿来用,而这个“用”,既可能是用来考察这个模型好不好,也可能是给个数据让模型真的给出结果

示例(instance)和样例(example)

在这里插入图片描述↑ 每一行就是一个示例(instance)
而每一行加上对应最后一列的 是或否,就是一个样例(example)
区别: example是有结果的,而instance是没有结果的

样本(example):概念比较模糊,有时候可以指每一个样例(example),有时候也可以指整个数据集

属性(attribute)= 特征(feature):表中瓜的色泽、根蒂、敲声都是属性/特征

属性值:可以理解为在某个属性上的 “取值”
比如,第一个瓜在色泽上的属性值是青绿

属性空间 (attribute space)= 样本空间(sample space)= 输入空间:把每个属性想象成一个坐标轴,属性张成的空间就是属性空间 / 样本空间

特征向量(feature vector):每个西瓜🍉都可以在属性空间中找到自己对应坐标的位置,由于空间中的每个点对应一坐标向量,因此我们也把一个示例(注意不是样例)成为一个“特征向量”

标记空间(label space)=输出空间:一般我们用(xi,yi)表示第 i 个样例,其中yi∈Y是示例xi的标记(label),Y是所有标记的集合,Y也称“标记空间” 或 “输出空间”

聚类(clustering)和簇(cluster)
聚类(clustering)是将集中训练的西瓜分成若干组,而分成的每个组称为一个簇(cluster)
这些自动形成的簇肯恶搞对应一些潜在的概念划分,例如“浅色瓜”和“深色瓜”,甚至“本地瓜”和“外地瓜”
这样的学习过程有助于我们了解数据内在的规律,为更深入的分析数据建立基础

监督学习(supervised learning) 和 无监督学习(unsupervised learning) :依据训练数据是否有标记信息,学习任务大致课分为监督学习无监督学习,分类和回归是前者的代表,聚类是后者的代表

在这里插入图片描述

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

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

相关文章

LaTeX公式与MathType公式如何快速转换

目录 一、官网下载链接 二、将MathType公式转换为LaTex公式: 三、将LaTex公式转换为MathType公式: 现在越来越多的人选择使用MathType来编辑公式,有时在MathType公式之间要与LaTex公式之间相互转换。如果公式比较少时,可以直接…

ORB-SLAM2 --- MapPoint::ComputeDistinctiveDescriptors 函数

目录 一、函数作用 二、函数步骤 三、code 四、函数解析 一、函数作用 计算地图点最具代表性的描述子。 由于一个地图点会被许多相机观测到,因此在插入关键帧后,需要判断是否更新代表当前点的描述子,先获得当前点的所有描述子&#xff…

毕业设计-微博评论文本情感分析,SVM+朴素贝叶斯+AdaBoost,含完整项目文档

基于AdaBoost算法的情感分析研究 完整代码及文档下载地址:毕业设计-微博评论文本情感分析 此项目为本科毕业设计项目,大家借鉴一下思路就好 大学时没有好好学算法,毕竟那些树、图实在提不起兴趣,好在毕业设计选择了个机器学习算…

rabbitmq基础9——流控、镜像队列

文章目录一、流控1.1 流控机制1.2 流控原理1.3 流控状态显示1.4 流控对象1.5 性能提升二、镜像队列2.1 机制原理2.1.1 集群结构2.2 镜像结构2.2.1 组播GM2.2.1.1 实现原理2.2.1.2 加入新节点2.2.1.3 节点宕机的影响2.3 配置镜像队列2.3.1 定义参数2.3.2 命令配置2.3.4 相关命令…

数字验证学习笔记——SystemVerilog芯片验证20 ——线程间的通信

一、线程间的通信 测试平台中的所有线程都需要同步并交换数据。一个线程需要等待另一个。多个线程可能同时访问同一个资源。线程之间可能需要交换数据。所有这些数据交换和同步称之为线程间的通信(IPC)。 1.1 event 事件 Verilog 中,一个线…

【好书推荐】车载以太网权威指南

20年后,会令你失望的不是做过的事,而是你没做过的,所以解开帆索,从安全的港湾出发,乘风而行,去探索、去梦想、去发现! Twenty years from now you will be more disappointed by the things tha…

Linux系统 Ubuntu18.04安装的详细教程(提供18.04ubuntu镜像)

文章目录一、镜像安装二、vim更新 gcc ifconfig下载三、共享文件夹设置设置使用(测试共享文件夹是否能使用,这步可以省略)四、另外虚拟机名称全名、用户名镜像文件下载:链接:https://pan.baidu.com/s/12bEdRBwO1YbLt23…

数学杂谈:圆上随机落点问题(一)

数学杂谈:圆上随机落点问题(一) 1. 问题描述2. 问题解答 1. 解法一:递推2. 解法二:受限制的均匀分布3. 数值模拟验证 3. 讨论 & 扩展 1. 问题描述 这道题其实很早之前自己做过一遍,然后前阵子发现苏神…

【寒假每日一题】洛谷 P1079 [NOIP2012 提高组] Vigenère 密码

题目链接:P1079 [NOIP2012 提高组] Vigenre 密码 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 16 世纪法国外交家 Blaise de Vigenre 设计了一种多表密码加密算法 Vigenre 密码。Vigenre 密码的加密解密算法简单易用,且破译难度比较高&…

类、对象与接口

前言 类、对象与接口 文章目录前言一、类与对象二、源文件声明的规则三、修饰符四、继承五、多态六、接口1、定义2、接口3、实现4、接口一、类与对象 类:定义一种全新的数据类型,包含一组变量(数据)和函数(逻辑&#…

【django】各种关联关系的模型类设计

文章目录前言一、级联操作二、一对多(多对一)的关联模型类设计1、学生表模型类设计2、渠道表模型类设计三、多对多的关联模型类设计1、课程表模型类设计四、多对多的关联模型类设计(自定义中间表)1、模型类设计课程表模型类设计报…

神经网络的学习率如何选择?

文章目录学习率的概念学习率的选择方法参考资料学习率的概念 这里的学习率指的是深度学习神经网络训练过程中选取的一个超参数。 学习率作为参数更新时的一个乘数项,可以影响网络训练的速度,或者说是每次迈步的大小。 可以这样理解,如果学…

ZC706P+ADRV9009连接RADIOVERSE详解之二

上一个BLOG我们在WIN上安装了RADIOVERSE软件以及做好了SD卡映像。这篇文字我们记录ZC706ADRV9009硬件链接情况: 这里看到USB UART串口是可选的,主要是用来查看启动的系统log。 实际连接如下: 图中: 1,外接12V电源 2…

Python数据结构与算法篇(三)-- 队列的实现和应用

1 队列 1.1 简单队列 队列是一种有次序的数据集合,其特征是新数据项的添加总发生在一端(通常称为“尾rear”端);而现存数据项的移除总发生在另一端(通常称为“首front”端)。当一个元素被加入到队列之后&a…

头歌作业之排序1、2、3、4

(PS:直接拿的友友zy的) 一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion:2023.1.1 Last edited: 2023.1.1 目录 (PS:直接拿的友友的&a…

SCI论文解读复现【NO.2】基于注意机制的YOLOv5改进算法在行星图像中的应用(代码已复现)

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的SCI论文&am…

EMNLP22提示模板生成:GPS: Genetic Prompt Search for Efficient Few-shot Learning

GPS: Genetic Prompt Search for Efficient Few-shot Learning 1 简介 Genetic Prompt Search (GPS) 通过提示改进少样本学习,它利用遗传算法自动搜索高性能提示 遗传提示搜索 (GPS) 算法,该算法使用生成模型逐渐改变提示,并根据它们在小型…

C语言网刷题记录

作者:会敲代码的Steve 座右铭:博学笃志,切问静思。 大家好久不见啊,一看时间我已经好久没发文章了,最近在刷OJ题和学习;就没那么多心思把时间花在写文章上了,我对此感到很抱歉,本文呢…

int8,FLOPS,FLOPs,TOPS 等具体含义

1、定义 算力的计量单位FLOPS(Floating-point operations per second),FLOPS表示每秒浮点的运算次数。具体使用时,FLOPS前面还会有一个字母常量,例如TFLOPS、PFLOPS。这个字母T、P代表次数,T代表每秒一万亿…

Linux学习笔记——MySQL数据库管理系统安装部署

5.1、MySQL数据库管理系统安装部署 5.1.1、简介 1、MySQL简介 MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。 MySQL数据库可谓是软件行业的明星产品,无…