【读书笔记】Python在机器学习中的应用:什么是机器学习

简介: 【读书笔记】Python在机器学习中的应用:什么是机器学习

简 介:这本书的名字为Python在机器学习中的应用,该书的作者为著名的余本国老师。该书循序渐进地阐述了机器学习的概念,以及一些机器学习的主流算法。下面是我在读这本书的时候的记录并加上自己的理解。本文意在记录自己近期学习过程中的所学所得,如有错误,欢迎大家指正。

 

关键词:Python、机器学习

一、机器学习的简介

1.机器学习介绍

什么是机器学习呢?说白了就是让机器代替人工从数据中发掘我们所需要的信息,如果对于海量的数据来说,对于人工来做的话将花费大量的人力物力,所以将这项任务交给计算机来做,人们来做更加高级的任务。

那么怎样能够让机器进行学习呢?首先对于人来说,比如让人的肉眼去识别两种植物的图片,如果要求人的识别精度很高的话,那么就需要人类在识别之前观察大量的两种植物图片,来进行积累经验,以至于之后人们再次见到类似图片时,能够精确的分析出图片的内容。这种学习方式对于人类来说比较容易,因为人类有大脑参与可以进行记忆分析,那么对于计算机来说,那么怎么去记住这么多的数据,然后去识别新的数据呢?无非就是建立自变量与因变量之间的某种关系来达到预测学习的作用,这里的自变量就是我们数据的特征,因变量就是数据对应的标签,这就会用到很多常见的机器学习算法,例如随机森林,SVM、支持向量机等算法。

现在我们的生活中有很多机器学习算法的应用,比如说当我们逛淘宝时,淘宝会不断地向我们进行推荐我们之前看过的物品,这是基于关系规则的商品推荐,还有就是最近很火的图像识别,它是利用了深度学习方面的技术。我们在不同的场景下,可以使用不同的算法来实现我们的需求。

有人问?有没有那种非常无敌的算法,其实这个问题很难回答,每种算法有自己使用的领域,针对不用的使用场景需要用到不同的东西,有的算法可能精度非常高,但是可能它的底层的计算方法相当复杂,可能模型运行的时间会相当高,有的算法虽然精度差一些,但是它的速度方面可能略强于别的算法,所以没有什么强不强的,就是看自己的需求有针对性地使用合理地算法。

2.机器学习的几种方式

1)有监督学习

有监督学习是我们最常见的,就是我们的数据集会分成两个部分,一部分是我们的特征,另一部分就是标签,标签的作用就是标注每一个样本集,机器学习就是让计算机通过某种数学算法将我们的特征数据与标签进行产生一定的关系,让计算机看到某种数据就能够知道它的标签,当计算机看到新的数据时,就会搜索自己曾经看到的数据,有无类似的,发现类似的数据将其定为同一标签,其实这样说不太对。

有监督学习又分为分类问题和回归问题:

1.分类问题

所谓分类问题就是我们的标签是离散值,比如手写数字识别和判断某一张图片是猫还是狗,这些都是分类问题,常见的分类问题通常为二分类,即正样本和负样本,分类问题的经典算法有贝叶斯算法、逻辑回归等。

2.回归问题

回归问题可以看成是分类问题的极限,如果某个任务的类别非常多,这个时候就偏于回归,对于回归问题,它的特别指出就是它的标签是连续的,比如某人的薪资,车站的人流数。通常我们的数据会有很多个特征就相当于自变量,标签就是因变量,回归分析就是建立自变量与因变量之间的某种关系来达到预测学习的作用,比如我们预测某人薪资时,就会大量的观察员工的各种指标来进行综合评估。

2)无监督学习

上面说的都是基于数据的标签进行识别不同的数据,无监督学习与它是天然的不同,它不需要任何的标签,只需要不断地喂数据就行,它的基本原理就是利用某种算法计算各个数据样本的相似度或者什么的,然后将相似的样本划分为一类,典型的算法就是K-Means聚类,但是无监督学习不一定就是聚类这种的,像降维这种操作也算是无监督学习。

3)半监督学习

半监督学习就是结合上述两种学习模式,因为在一些实际场景中,我们的数据很难获取,或者获取到了,然后还需要进行人工标注打标签,这样会花费大量的成本,而有些领域,人工标注样本需要专业的领域知识,所以这就是导致我们的有标签数据会很难获得,所以需要结合上述两种方式进行综合考虑。

3.机器学习架构流程

  • 数据预处理
  • 根据数据及应用场景选择合适的算法模型
  • 训练模型
  • 模型验证
  • 模型上线测试
  1. 数据预处理:主要就是我们的数据获取来的时候,很多是不能够用于模型进行学习的,有很多空值或者异常值,需要进行处理,有时候还需要进行降维操作,降维就是降低特征数,因为数据量很大的时候采取高维特征会拉跨算法的效率,所以为了追求速度,丢弃一定有用的信息。还有就是对我们现有特征进行处理,比如特征创造,利用已有数据创造出更有效的特征,或者将数据正则化、归一化这些。
  2. 选择算法模型:针对自己的业务场景,以及我们的数据的特性选择合适的模型
  3. 训练模型:首先将数据拆分为几部分,训练集、验证集、测试集,将训练集用于模型的训练,使计算机通过训练集的数据发掘其中的规律,来建立能够拟合的数据模型
  4. 模型验证:就是用分割的验证集进行验证每次调参或者修正之后的模型效果,选择最优的参数组合
  5. 模型上线测试:使用确定好的测试集去测试验证好的模型,查看是否到达了上线要求,如果不达要求,就继续训练

这里有个地方很容易模糊就是训练集、验证集、测试集分别是干什么的,有人会问验证集感觉和测试集作用差不多,自己学习的过程中经常是将数据分为训练集和测试集,根本没考虑到验证集。

  • 训练集:训练集不用说,就是用于训练模型的
  • 验证集:验证集经常会出现在深度学习中,在传统机器学习中验证集较少用,深度学习中的验证集的作用就是验证我们训练每一批次的模型效果,用于验证模型的超参数调整是否正确
    在传统机器学习中验证集较少用,深度学习中的验证集的作用就是验证我们训练每一批次的模型效果,用于验证模型的超参数调整是否正确
  • 测试集:就是用来检验已经训练好的模型(超参数达到最优、验证集验证过)在新的数据上的效果,检验训练好的模型精度是否达标,如果达标上线使用,没有达标继续用训练集进行训练,用验证集进行超参数的调整



目录
相关文章
|
30天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
13天前
|
机器学习/深度学习 监控 算法
机器学习在图像识别中的应用:解锁视觉世界的钥匙
机器学习在图像识别中的应用:解锁视觉世界的钥匙
224 95
|
9天前
|
算法 数据处理 Python
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
Savitzky-Golay滤波器是一种基于局部多项式回归的数字滤波器,广泛应用于信号处理领域。它通过线性最小二乘法拟合低阶多项式到滑动窗口中的数据点,在降噪的同时保持信号的关键特征,如峰值和谷值。本文介绍了该滤波器的原理、实现及应用,展示了其在Python中的具体实现,并分析了不同参数对滤波效果的影响。适合需要保持信号特征的应用场景。
52 11
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
|
21天前
|
机器学习/深度学习 数据采集 运维
机器学习在运维中的实时分析应用:新时代的智能运维
机器学习在运维中的实时分析应用:新时代的智能运维
73 12
|
2天前
|
人工智能 运维 API
PAI企业级能力升级:应用系统构建、高效资源管理、AI治理
PAI平台针对企业用户在AI应用中的复杂需求,提供了全面的企业级能力。涵盖权限管理、资源分配、任务调度与资产管理等模块,确保高效利用AI资源。通过API和SDK支持定制化开发,满足不同企业的特殊需求。典型案例中,某顶尖高校基于PAI构建了融合AI与HPC的科研计算平台,实现了作业、运营及运维三大中心的高效管理,成功服务于校内外多个场景。
|
1月前
|
缓存 开发者 Python
深入探索Python中的装饰器:原理、应用与最佳实践####
本文作为技术性深度解析文章,旨在揭开Python装饰器背后的神秘面纱,通过剖析其工作原理、多样化的应用场景及实践中的最佳策略,为中高级Python开发者提供一份详尽的指南。不同于常规摘要的概括性介绍,本文摘要将直接以一段精炼的代码示例开篇,随后简要阐述文章的核心价值与读者预期收获,引领读者快速进入装饰器的世界。 ```python # 示例:一个简单的日志记录装饰器 def log_decorator(func): def wrapper(*args, **kwargs): print(f"Calling {func.__name__} with args: {a
41 2
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索未来编程:Python在人工智能领域的深度应用与前景###
本文将深入探讨Python语言在人工智能(AI)领域的广泛应用,从基础原理到前沿实践,揭示其如何成为推动AI技术创新的关键力量。通过分析Python的简洁性、灵活性以及丰富的库支持,展现其在机器学习、深度学习、自然语言处理等子领域的卓越贡献,并展望Python在未来AI发展中的核心地位与潜在变革。 ###
|
12天前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
46 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
52 1
|
2月前
|
设计模式 开发者 Python
Python编程中的设计模式应用与实践感悟####
本文作为一篇技术性文章,旨在深入探讨Python编程中设计模式的应用价值与实践心得。在快速迭代的软件开发领域,设计模式如同导航灯塔,指引开发者构建高效、可维护的软件架构。本文将通过具体案例,展现设计模式如何在实际项目中解决复杂问题,提升代码质量,并分享个人在实践过程中的体会与感悟。 ####