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

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

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

 

关键词:Python、机器学习

一、机器学习的简介

1.机器学习介绍

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

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

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

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

2.机器学习的几种方式

1)有监督学习

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

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

1.分类问题

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

2.回归问题

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

2)无监督学习

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

3)半监督学习

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

3.机器学习架构流程

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

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

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



目录
相关文章
|
3天前
|
jenkins 持续交付 Docker
一个python应用在CI/CD中的例子分享
一个python应用在CI/CD中的例子分享
20 10
|
3天前
|
机器学习/深度学习 算法 Python
从菜鸟到大师:一棵决策树如何引领你的Python机器学习之旅
【9月更文挑战第9天】在数据科学领域,机器学习如同璀璨明珠,吸引无数探索者。尤其对于新手而言,纷繁复杂的算法常让人感到迷茫。本文将以决策树为切入点,带您从Python机器学习的新手逐步成长为高手。决策树以其直观易懂的特点成为入门利器。通过构建决策树分类器并应用到鸢尾花数据集上,我们展示了其基本用法及效果。掌握决策树后,还需深入理解其工作原理,调整参数,并探索集成学习方法,最终将所学应用于实际问题解决中,不断提升技能。愿这棵智慧之树助您成为独当一面的大师。
13 3
|
1天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的奥秘与应用
本文深入浅出地探讨了人工智能领域中的核心技术——机器学习,揭示了其背后的原理和广泛的实际应用。通过浅显易懂的语言和生动的例子,本文旨在为非专业读者打开一扇了解并利用机器学习的大门,同时激发对这一前沿技术的兴趣和思考。
12 1
|
3天前
|
数据采集 机器学习/深度学习 搜索推荐
Python爬虫技术基础与应用场景详解
本文介绍了爬虫技术的基本概念、原理及应用场景,包括数据收集、价格监测、竞品分析和搜索引擎优化等。通过一个实战案例展示了如何使用Python爬取电商网站的商品信息。强调了在使用爬虫技术时需遵守法律法规和道德规范,确保数据抓取的合法性和合规性。
|
5天前
|
Kubernetes Docker Python
如何在K8s中使用Python应用
一文带你了解如何在K8s中使用Python应用
15 4
|
4天前
|
机器学习/深度学习 人工智能 搜索推荐
如何让你的Uno Platform应用秒变AI大神?从零开始,轻松集成机器学习功能,让应用智能起来,用户惊呼太神奇!
【9月更文挑战第8天】随着技术的发展,人工智能与机器学习已融入日常生活,特别是在移动应用开发中。Uno Platform 是一个强大的框架,支持使用 C# 和 XAML 开发跨平台应用(涵盖 Windows、macOS、iOS、Android 和 Web)。本文探讨如何在 Uno Platform 中集成机器学习功能,通过示例代码展示从模型选择、训练到应用集成的全过程,并介绍如何利用 Onnx Runtime 等库实现在 Uno 平台上的模型运行,最终提升应用智能化水平和用户体验。
13 1
|
5天前
|
机器学习/深度学习 算法 Python
决策树下的智慧果实:Python机器学习实战,轻松摘取数据洞察的果实
【9月更文挑战第7天】当我们身处数据海洋,如何提炼出有价值的洞察?决策树作为一种直观且强大的机器学习算法,宛如智慧之树,引领我们在繁复的数据中找到答案。通过Python的scikit-learn库,我们可以轻松实现决策树模型,对数据进行分类或回归分析。本教程将带领大家从零开始,通过实际案例掌握决策树的原理与应用,探索数据中的秘密。
14 1
|
2天前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络入门到精通:Python带你搭建AI思维,解锁机器学习的无限可能
【9月更文挑战第10天】神经网络是开启人工智能大门的钥匙,不仅是一种技术,更是模仿人脑思考的奇迹。本文从基础概念入手,通过Python和TensorFlow搭建手写数字识别的神经网络,逐步解析数据加载、模型定义、训练及评估的全过程。随着学习深入,我们将探索深度神经网络、卷积神经网络等高级话题,并掌握优化模型性能的方法。通过不断实践,你将能构建自己的AI系统,解锁机器学习的无限潜能。
9 0
|
5天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的基本原理与Python代码实践
【9月更文挑战第6天】本文深入探讨了人工智能领域中的机器学习技术,旨在通过简明的语言和实际的编码示例,为初学者提供一条清晰的学习路径。文章不仅阐述了机器学习的基本概念、主要算法及其应用场景,还通过Python语言展示了如何实现一个简单的线性回归模型。此外,本文还讨论了机器学习面临的挑战和未来发展趋势,以期激发读者对这一前沿技术的兴趣和思考。
|
4月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
198 14