没有合适的资源?快使用搜索试试~ 我知道了~
首页探索机器学习入门:第1章讲解与历史视角
探索机器学习入门:第1章讲解与历史视角
需积分: 0 0 下载量 151 浏览量
更新于2024-07-01
收藏 10.47MB PDF 举报
"《机器学习实战-中文版1》是一本深入介绍机器学习基础知识的实用指南。第一章“机器学习基础”旨在为读者提供一个全面的入门框架,理解这一领域的核心概念。作者首先定义了什么是机器学习,强调了在当今大数据时代,传感器技术的发展和海量数据的收集使得机器学习变得尤为重要。通过生动的案例,如伊斯特里亚人的插画,展示了历史上地区间的差异化特征,引出机器学习如何帮助我们理解和分析这些复杂的数据模式。 章节内容详尽,探讨了传感器如何作为数据采集的重要工具,它们如何捕获现实世界的信号,并转化为可供机器学习算法处理的数据。接着,作者深入阐述了机器学习在众多实际应用中的价值,如预测、分类、聚类和优化,这些都是现代AI技术的基础。1.1.2节进一步强调了机器学习对解决现实生活问题的关键作用,如在识别个人喜好、疾病诊断、金融风险评估等方面的重要性。 关键术语部分,作者列举并解释了一系列与机器学习相关的专业词汇,确保读者能够准确掌握和运用这些基本概念,如监督学习、无监督学习、神经网络、模型训练等。通过这些术语的学习,读者将能更好地理解后续章节中的算法和技术。 《机器学习实战-中文版1》不仅提供了理论知识,还鼓励读者思考如何将这些理论应用于实践,通过丰富的实例和案例,使读者能够在探索和实践中掌握机器学习的基本技能。全书旨在引导读者从历史的角度看待技术发展,特别是如何从过去的信息差异中汲取灵感,应用于当前这个数据驱动的世界。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86288486/bg10.jpg)
1 . 8 本章小结 13
>>> randMat = mat(random.rand(4,4))
由于使用随机函数产生矩阵,不同计算机上输出的值可能略有不同
>>> randMat.I
ma tri x([[ 0.24497106, 1. 75854497,
[1.49792202, 2 .12925479,
[ 2 . 76042144, 1. 6727177 9,
[-2.03011142, -3.0783213 6,
1.77728665, -0.0834912 ],
1.32132491, -9.75890849],
0.29226613, -8.45413693],
1.4420448 , 9.62598044]])
.工操作符实现了矩阵求逆的运算。非常简单吧?没有>^«^^库 ,?7出^1也不能这么容易算出
来矩阵的逆运算。不记得或者没学过矩阵求逆也没关系,^^«1^^库帮我们做完了,执行下面的命
令存储逆矩阵:
>>> invRandMat = randMat.I
接着执行矩阵乘法,得到矩阵与其逆矩阵相乘的结果:
>>> randMat*invRandMat
mat ri x([[
1.00000000e+00,
1.77635684e-15],
0.00000000e+00,
0.00000000e + 00] '‘
0.00000000e+00,
-8.88178420e-16],
-2.22044605e-16,
0.00000000e+00,
1.00000000e+00,
4.44089210e-16,
0.00000000e+00,
2.22044605e-16,
0.00000000e+00,
1.00000000e+00,
1.11022302e-16,
1.00000000e+00]])
结果应该是单位矩阵,除了对角线元素是1,4 \ 4 矩阵的其他元素应该全是0。实际输出结果略有
不同,矩阵里还留下了许多非常小的元素,这是计算机处理误差产生的结果。输人下述命令,得
到误差值:
>>> myEye
>>> myEye
randMat*invRandMat
e y e (4)
ma tr ix ([[ 0
00000000e+00, -6
59194921e-17,
-4 85722573e-l7
-4
99600361e-16],
[ 2
22044605e-16,
0
00000000e+00,
—6
03683770e-16
~1
77156117e-16],
[ ' 5 55111512e-17,
-1 04083409e-17,
-3
33066907e-16
-2
2204460Se-16],
[ 5 55111512e-17, 1 56125113e-17, -5 55111512e-17
函 数 0 7 6 (4)创 建 4><4的 单 位 矩 阵 0
只要能够顺利地完成上述例子,就说明已经正确地安装了& 0 ^ 函数库,以后我们就可以利
用它构造机器学习应用程序。即使没有提前学习所有的函数也没有关系,本书将在需要的时候介
绍更多的^*»1^^函数库的功能。
1 .8 本章小结
尽管没有引起大多数人的注意,但是机器学习算法巳经广泛应用于我们的日常生活之中。每
天我们需要处理的数据在不断地增加,能够深人理解数据背后的真实含义,是数据驱动产业必须
具备的基本技能。
![](https://csdnimg.cn/release/download_crawler_static/86288486/bg11.jpg)
14 第 1章机器学习基础
学习机器学习算法,必须了解数据实例,每个数据实例由多个特征值组成。分类是基本的机
器学习任务,它分析未分类数据,以确定如何将其放人已知群组中。为了构建和训练分类器,必
须首先输人大量巳知分类的数据,我们将这些数据称为训练样本集。
尽管我们构造的鸟类识别专家系统无法像人类专家一样精确地识别不同的鸟类,然而构建接
近专家水平的机器系统可以显著地改进我们的生活质量。如果我们可以构造的医生专家系统能够
达到人类医生的准确率,则病人可以得到快速的治疗;如果我们可以改进天气预报,则可以减少
水资源的短缺,提高食物供给。我们可以列举许许多多这样的例子,机器学习的应用前景几乎是
无限的。
第一部分的后续6章主要研究分类问题,它是监督学习算法的一个分支,下一章我们将介绍
第一个分类算法—— &-近邻算法。
![](https://csdnimg.cn/release/download_crawler_static/86288486/bg12.jpg)
卜近邻算法
本章内容
□女-近邻分类算法
□ 从文本文件中解析和导人数据
口使用Matplotlib创建扩散图
□ 归一化数值
众所周知,电影可以按照题材分类,然而题材本身是如何定义的?由谁来判定某部电影属于哪
个题材?也就是说同一题材的电影具有哪些公共特征?这些都是在进行电影分类时必须要考虑的问
题。没有哪个电影人会说自己制作的电影和以前的某部电影类似,但我们确实知道每部电影在风格
上的确有可能会和同题材的电影相近。那么动作片具有哪些共有特征,使得动作片之间非常类似,
而与爱情片存在着明显的差别呢?动作片中也会存在接吻镜头,爱情片中也会存在打斗场景,我们
不能单纯依靠是否存在打斗或者亲吻来判断影片的类型。但是爱情片中的亲吻镜头更多,动作片中
的打斗场景也更频繁,基于此类场景在某部电影中出现的次数可以用来进行电影分类。本章第一节
基于电影中出现的亲吻、打斗出现的次数,使用^ 近邻算法构造程序,自动划分电影的题材类型。
我们首先使用电影分类讲解各近邻算法的基本概念,然后学习如何在其他系统上使用卜近邻算法。
本章介绍第一个机器学习算法:A-近邻算法,它非常有效而且易于掌握。首先,我们将探讨女-
近邻算法的基本理论,以及如何使用距离测量的方法分类物品;其次我们将使用?7««^从文本文件
中导人并解析数据;再次,本书讨论了当存在许多数据来源时,.如何避免计算距离时可能碰到的一
些常见错误;最后,利用实际的例子讲解如何使用匕近邻算法改进约会网站和手写数字识别系统。
2.1 k-近邻算法概述
简单地说,谷近邻算法采用测量不同特征值之间的距离方法进行分类。
| ■ 卜近邻算法 ■ - i
< .
优点:精度高、对异常值不敏感、无数据输入假定。
缺点:计算复杂度高、空间复杂度高。
适用数据范围:数值型和标称型。
![](https://csdnimg.cn/release/download_crawler_static/86288486/bg13.jpg)
16 第 2 章 A-近邻算法
本书讲解的第一个机器学习算法是& 近邻算法(_ ) , 它的工作原理是:存在一个样本数
据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据
与所属分类的对应关系。输人没有标签的新数据后,将新数据的每个特征与样本集中数据对应的
特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们
只选择样本数据集中前&个最相似的数据,这就是&-近邻算法中&的出处,通常*是不大于20的整数。
最后,选择&个最相似数据中出现次数最多的分类,作为新数据的分类。
现在我们回到前面电影分类的例子,使用&-近邻算法分类爱情片和1动作片。有人曾经统计过
很多电影的打斗镜头和接吻镜头,图2-1显示了6部电影的打斗和接吻_ 头数。假如有一部未看过
的电影,如何确定它是爱情片还是动作片呢?我们可以使用_ 来解决这个问题。
California Man
H e ’s Not Really inlo Dudes
?
Beautiful W om an
Kevin Longblade
Robo Slayer 3000
Amped II
电影中出现的打斗镜头次数
图2 - 1 使 用 打 斗 和 接 吻 镜 头 数 分 类 电 影
首先我们需要知道这个未知电影存在多少个打斗镜头和接吻镜头,图2-1中问号位置是该未
知电影出现的镜头数图形化展示,具体数字参见表2-1。
表2 - 1 每部电影的打斗镜头数、接吻镜头数以及电影评估类型
电影名称
打斗镜头
接吻镜头
电影类型
California Man
3
104
爱情片
He 's Not Really into Dudes
2
100
爱情片
Beautiful Woman
1
81
爱情片
Kevin Longblade
10】
10
动作片
Robo Slayer 3000
99
5
动作片
Amped //
98
2
动作片
?
18
90
未知
即使不知道未知电影属于哪种类型,我们也可以通过某种方法计算出来。首先计算未知电影
与样本集中其他电影的距离,如表2-2所示。此处暂时不要关心如何计算得到这些距离值,使用
Python实现电影分类应用时,会提供具体的计算方法D
电
现
的
接
吻
镜
头
次
数
![](https://csdnimg.cn/release/download_crawler_static/86288486/bg14.jpg)
2.1 A-近邻算法概述 17
表2 - 2 已知电影与未知电影的距离
________________
电影名称
______________
___________________与未知电影的距离______________________
California Man
m 5
He 's Not Really into Dudes
18.7
Beautiful Woman
19.2
Kevin Longblade
115.3
Robo Slayer 3000
117.4
Amped II
_________________
m 3
____________________
现在我们得到了样本集中所有电影与未知电影的距离,按照距离递增排序,可以找到乂个距
离最近的电影。假定^=3,贝丨』三个最靠近的电影依次是故》#0;办(7//少如0/3»如 、Beautiful Woman
和 。 _ _ 从 氣 4-近邻算法按照距离最近的三部电影的类型,决定未知电影的类型,而这三部
电影全是爱情片,因此我们判定未知电影是爱情片。
本章主要讲解如何在实际环境中应用々-近邻算法, 同时涉及如何使用?7出(^工具和相关的机
器学习术语。按照1.5节开发机器学习应用的通用步骤,我们使用?乂出如语言开发&-近邻算法的简
单应用,以检验算法使用的正确性。
k-近邻算法的一般流程 f ,-
■ A .廣,^a.. :¾
(1)收集数据:可以使用任何方法。
(2)准备数据:距离计算所需要的数值,最好是结构化的数据格式。
(3)分析数据:可以使用任何方法。
(4)训练算法:此步驟不适用于1 近邻算法。
(5)测试算法:计算错误率。
(6)使用算法:首先需要输入样本数据和结构化的输出结果,然后运行女-近邻算法判定输
入数据分别属于哪个分类,最后应用对计算出的分类执行后续的处理。
2 .1 .1 准 备 :使 用 Python导 入 数 据
首先,创建名为 麵孙的?沖 0濃 块 ,本章使用的所有代码都在这个文件中。读者可以按照自
己的习惯学习代码,既可以按照本书学习的进度,在自己创建的?7^«^文件中编写代码,也可以直
接从本书的源代码中复制_ 仍文件。我推荐读者从头开始创建模块,按照学习的进度编写代码。
无论大家采用何种方法,我们现在已经有了kNN.py文件。在构造完整的丨-近邻算法之前,我
们还需要编写一些基本的通用函数,在kNN.py文件中增加下面的代码:
from numpy import ★
import operator
def createDataSet{):
group = a rr ay ([[1.0,1.1] • [1.0,1. 0], [0,0], [0,0.1]])
labels = ['A', 'A', 'B', 'B1]
return group, labels
在上面的代码中,我们导人了两个模块;第一个是科学计算包> ^ ! ^ ^ 第二个是运算符模块,
剩余295页未读,继续阅读
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/bae03a7b996f41a68df7e39f18b57186_weixin_35815766.jpg!1)
IYA1738
- 粉丝: 25
- 资源: 270
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 电力电子系统建模与控制入门
- SQL数据库基础入门:发展历程与关键概念
- DC/DC变换器动态建模与控制方法解析
- 市***专有云IaaS服务:云主机与数据库解决方案
- 紫鸟数据魔方:跨境电商选品神器,助力爆款打造
- 电力电子技术:DC-DC变换器动态模型与控制
- 视觉与实用并重:跨境电商产品开发的六重价值策略
- VB.NET三层架构下的数据库应用程序开发
- 跨境电商产品开发:关键词策略与用户痛点挖掘
- VC-MFC数据库编程技巧与实现
- 亚马逊新品开发策略:选品与市场研究
- 数据库基础知识:从数据到Visual FoxPro应用
- 计算机专业实习经验与项目总结
- Sparkle家族轻量级加密与哈希:提升IoT设备数据安全性
- SQL数据库期末考试精选题与答案解析
- H3C规模数据融合:技术探讨与应用案例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)