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

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

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) :依据训练数据是否有标记信息,学习任务大致课分为监督学习 和 无监督学习,分类和回归是前者的代表,聚类是后者的代表

相关文章
|
2月前
|
机器学习/深度学习 算法
【机器学习】迅速了解什么是集成学习
【机器学习】迅速了解什么是集成学习
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习、深度学习、强化学习和迁移学习简介、相互对比、区别与联系。
机器学习、深度学习、强化学习和迁移学习都是人工智能领域的子领域,它们之间有一定的联系和区别。下面分别对这四个概念进行解析,并给出相互对比、区别与联系以及应用场景案例分析。
133 1
|
4月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
72 7
|
4月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
75 9
|
4月前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
61 1
|
5月前
|
机器学习/深度学习 数据采集 算法
探索机器学习在金融领域的创新应用
随着科技的飞速发展,机器学习技术已深入到各个行业之中,特别是在金融领域。本文将深入探讨机器学习如何革新传统金融服务,包括风险评估、算法交易、信用评分和欺诈检测等多个方面。通过具体案例分析,我们将展示机器学习技术如何提升金融服务的效率和准确性,同时也会讨论其面临的挑战和限制。
57 2
|
4月前
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
148 0
|
5月前
|
机器学习/深度学习 算法 前端开发
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
|
5月前
|
机器学习/深度学习 人工智能 缓存
人工智能平台PAI使用问题之如何配置学习任务
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5月前
|
机器学习/深度学习 算法 Python
强化学习(Reinforcement Learning, RL)** 是一种机器学习技术,其中智能体(Agent)通过与环境(Environment)交互来学习如何执行决策以最大化累积奖励。
强化学习(Reinforcement Learning, RL)** 是一种机器学习技术,其中智能体(Agent)通过与环境(Environment)交互来学习如何执行决策以最大化累积奖励。