Python实现机器学习(上)— 基础知识介绍及环境部署

前言:Hello大家好,我是小哥谈。 本门课程将介绍人工智能相关概念,重点讲解机器学习原理机器基本算法(监督学习及非监督学习)。使用python,结合sklearn、jupyter-notebook进行编程,介绍iris、匹马印第安人数据集,建立AI模型并评估其表现。本节课主要面向刚毕业高中生、大学生、硕士生等对AI行业充满向往的同学们!🌈

目录

🚀1.人工智能是什么?

🚀2.如何入门人工智能?

🚀3.机器学习的主要类别有哪些?

[💥💥3.1 监督式学习](#💥💥3.1 监督式学习)

[💥💥3.2 非监督式学习](#💥💥3.2 非监督式学习)

[💥💥3.3 强化学习](#💥💥3.3 强化学习)

🚀4.开发环境介绍及部署

[💥💥4.1 Python介绍](#💥💥4.1 Python介绍)

[💥💥4.2 scikit-learn介绍](#💥💥4.2 scikit-learn介绍)

[💥💥4.3 jupyter notebook介绍](#💥💥4.3 jupyter notebook介绍)

[💥💥4.4 开发环境准备](#💥💥4.4 开发环境准备)

🚀1.人工智能是什么?

**人工智能(英语:Artificial Intelligence,缩写为AI)**亦称机器智能,指由人制造出来的可以表现出智能的机器。通常人工智能是指通过普通计算机程序来呈现人类智能的技术。该词也指出研究这样的智能系统是否能够实现,以及如何实现。人工智能于一般教材中的定义领域是"智能主体(intelligent agent)的研究与设计",智能主体指一个可以观察周遭环境并作出行动以达致目标的系统。约翰·麦卡锡于1955年的定义是"制造智能机器的科学与工程"。**安德里亚斯·卡普兰(Andreas Kaplan)迈克尔·海恩莱因(Michael Haenlein)**将人工智能定义为"系统正确解释外部数据,从这些数据中学习,并利用这些知识通过灵活适应实现特定目标和任务的能力"。人工智能的研究是高度技术性和专业的,各分支领域都是深入且各不相通的,因而涉及范围极广。🌱

AI的核心问题包括建构能够跟人类似甚至超卓的推理、知识、规划、学习、交流、感知、移物、使用工具和操控机械的能力等。当前有大量的工具应用了人工智能,其中包括搜索和数学优化、逻辑推演。而基于仿生学、认知心理学,以及基于概率论和经济学的算法等等也在逐步探索当中。思维来源于大脑,而思维控制行为,行为需要意志去实现,而思维又是对所有数据采集的整理,相当于数据库,所以人工智能最后可能会演变为机器替换人类。💞

🍀领域

人工智能行业所涵盖的领域,主要有:机器学习计算机视觉自然语言处理语音识别数据挖掘推荐系统等等...🍉 🍓 🍑 🍈 🍌 🍐

🍀分类

人工智能主要分弱人工智能强人工智能超人工智能三类,其含义分别解释如下:

  • **弱人工智能(Artificial Narrow Intelligence(ANI)):**弱人工智能是擅长于单个方面的人工智能。
  • **强人工智能(Artificial General Intelligence(AGI)):**人类级别的人工智能。强人工智能是指在各方面都能和人类比肩的人工智能,人类能干的脑力活它都能干。
  • **超人工智能(Artificial Super Intelligence(ASI)):**知名人工智能思想家Nick Bostrom把超级智能定义为"在几乎所有领域都比最聪明的人类大脑都聪明很多,包括科学创新、通识和社交技能等"。

总结:♨️♨️♨️

人工智能即让机器模拟人的各种能力,包括:感知、推理、创造、理解、语言、逻辑、社交、情感等等。


🚀2.如何入门人工智能?

**人工智能(AI)**是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它是计算机科学的一个分支,旨在理解智能的实质,并生产出一种能以人类智能相似的方式做出反应的智能机器。🌴

如果你想入门人工智能,你需要了解机器学习深度学习这两种实现人工智能的方法。机器学习是一种通过让计算机从数据中学习并自动改进算法的方法,从而使计算机能够解决一些复杂的问题。而深度学习是机器学习的一个分支,它模仿人脑神经网络的工作原理,通过构建深层次的神经网络来实现更加复杂的任务。🌴

总结:♨️♨️♨️

机器学习是一种实现人工智能的方法,而深度学习是一种实现机器学习的技术。

机器学习:使用算法来解析数据并从中学习,然后对真实世界中的事件作出决策和预测,比如:垃圾邮件检测、房价预测等。

深度学习:模仿人类神经网络建立模型并进行数据分析,比如:人脸识别、语义理解、无人驾驶等。

要入门人工智能,你可以从学习机器学习算法开始,了解常见的机器学习算法和它们的应用。你还可以学习编程语言和工具,如Python和TensorFlow,来实现机器学习和深度学习模型。同时,你可以通过参加在线课程、阅读相关书籍和论文,以及参与项目实践来提升自己的人工智能技能。📚

**总结来说,人工智能入门涉及学习机器学习和深度学习的基本概念和方法,掌握相关的编程语言和工具,以及通过实践项目来应用所学知识。这将帮助你逐步了解和掌握人工智能的基础,并为进一步深入研究奠定基础。**📚


🚀3.机器学习的主要类别有哪些?

💥💥3.1 监督式学习

监督式学习是一种机器学习方法,其中算法通过使用带有标签的训练数据集来学习模式和规律。在监督式学习中,我们有一个包含输入特征和对应标签的训练数据集,算法通过学习输入与标签之间的关系,从而能够对新的输入进行预测或分类。🐳

具体来说,监督式学习的目标是通过找到一个函数,将输入映射到输出。这个函数被称为模型,它可以是线性模型、决策树、支持向量机、神经网络等等。在训练阶段,模型使用训练数据集来调整自身的参数,使其能够最好地拟合训练数据中的特征和标签之间的关系。然后,在预测阶段,模型可以根据已学习到的规律对新的输入进行预测或分类。🐳

举个例子,如果我们想构建一个垃圾邮件过滤器,我们可以使用监督式学习。我们会收集一批已经标记好的电子邮件(训练数据集),其中包含了垃圾邮件和非垃圾邮件,并提取出一些特征,比如邮件中的单词、发件人信息等。然后,我们使用这些特征和标签进行训练,让模型学会识别垃圾邮件和非垃圾邮件之间的模式和规律。最后,当我们有一个新的未标记的电子邮件时,模型可以根据已学习到的规律预测它是垃圾邮件还是非垃圾邮件。🐳

**总结来说,监督式学习是一种常用的机器学习方法,通过使用带有标签的训练数据集来训练模型,并用于预测或分类新的输入数据。**🍃

监督式学习核心步骤:

🍀**(1)使用标签数据训练机器学习模型**

  • "标签数据"是指由输入数据对应的正确的输出结果。
  • "机器学习模型"将学习输入数据与之对应的输出结果间的函数关系。

🍀**(2)调用训练好的机器学习模型,根据新的输入数据预测对应的结果。**

💥💥3.2 非监督式学习

非监督式学习是机器学习的一种方法,其目标是从无标签的数据中发现隐藏的结构、模式或关系。与监督式学习不同,非监督式学习不需要预先提供标签或目标变量。相反,它通过对数据进行聚类、降维或异常检测等技术来发现数据的内在结构。🚵

在非监督式学习中,算法主要关注数据本身的特征和相似性,以便从中提取有用的信息。常见的非监督式学习算法包括聚类算法(如K-means、层次聚类)、**降维算法(如主成分分析、独立成分分析)关联规则挖掘算法(如Apriori算法)**等。🚵

非监督式学习在许多领域都有广泛的应用,例如推荐系统、市场分割、图像分割、异常检测等。它可以帮助我们发现数据中的隐藏模式,从而提供洞察力和决策支持。🚵

**相比于监督式学习,非监督式学习不需要标签数据,而是通过引入预先设定的优化准则进行模型训练,比如自动将数据分为三类。**👇

💥💥3.3 强化学习

强化学习是一种机器学习的方法,它通过与环境的交互来学习如何做出最优决策。在强化学习中,一个智能体从环境中观察到一系列状态,并通过采取不同的行动来影响环境。智能体通过接收环境反馈的奖励或惩罚来评估自己的行动,并利用这些信息来调整策略,以最大化长期累积的奖励。🌾

强化学习的核心思想是基于试错学习。智能体通过尝试不同的行动并观察结果,逐步调整策略以获得更好的结果。这种学习方式类似于人类学习的方式,通过不断实践和反馈来提高自己的技能。🌾

强化学习在许多领域都有广泛应用,包括机器人控制、游戏玩法、自动驾驶等。它能够处理复杂的决策问题,并能够在没有明确标签的情况下进行学习。🌾

强化学习的例子有:马尔可夫决策过程(Markov Decision Process)。🌹

总结:♨️♨️♨️

监督式学习:基于数据及结果进行预测

非监督式学习:从数据中挖掘关联性

强化学习:通过与环境的交互来学习如何做出最优决策


🚀4.开发环境介绍及部署

💥💥4.1 Python介绍

Python是一种高级、通用的编程语言,它具有简单易学、可读性强的特点。Python语言的设计注重代码的简洁和可读性,使得开发者能够更快速地编写清晰、可维护的代码。它广泛应用于数据分析、人工智能、网络开发、科学计算等领域。Python有丰富的第三方库和工具生态系统,例如NumPy、Pandas、Django等,这些库大大提高了开发效率。同时,Python也是一种跨平台的语言,可以在多个操作系统上运行。📚

Python语言特点:

🍀**(1)解释性:**不需要编译成二进制代码,可以直接从源代码运行。

🍀**(2)面向对象:**Python既支持面向过程的编程,也支持面向对象的编程。

🍀**(3)可移植性:**由于它的开源本质,可以在不同平台进行开发。

🍀**(4)高层语言:**无须考虑诸如如何管理程序使用的内存一类的底层细节

说明:♨️♨️♨️

Python官网:Welcome to Python.org

💥💥4.2 scikit-learn介绍

Scikit-learn是一个基于Python的机器学习库,它提供了许多用于数据预处理、建模和评估的工具和算法。它包含了各种常用的机器学习算法,例如分类回归聚类降维等。通过使用Scikit-learn,你可以轻松地构建和训练机器学习模型,并对其进行评估和优化。它还提供了丰富的功能,例如特征提取、特征选择和模型选择等,以帮助你更好地处理和分析数据。无论你是机器学习初学者还是专业人士,Scikit-learn都是一个非常有用的工具。🌻

Scikit-learn特点:

🍀(1)集成了机器学习中各类成熟的算法,容易安装和使用,样例丰富,教程和文档也非常详细。

🍀(2)不支持Python之外的语言,不支持深度学习和强化学习。

说明:♨️♨️♨️

Scikit-learn中文社区:scikit-learn中文社区

Scikit-learn官方文档(中文版):scikit-learn (sklearn) 官方文档中文版

💥💥4.3 jupyter notebook介绍

Jupyter Notebook是一个开源的交互式计算环境,可以让你创建和共享实时代码、方程式、可视化和文本。它支持多种编程语言,包括Python、R和Julia等,并且可以在Web浏览器中运行。

Jupyter Notebook的主要特点是所见即所得的编辑和执行代码的能力。它以一种笔记本的形式组织代码和文本,并且你可以在笔记本中编写和运行代码块,同时还可以添加文本、图像、数学公式和交互式图表等内容。🍄

Jupyter Notebook还具有代码自动补全、语法高亮、代码调试和丰富的展示功能等特性,使得它成为数据分析、机器学习、科学研究和教学等领域中广泛使用的工具。🍄

Jupyter Notebook特点:

🍀(1)允许把代码写入独立的cell中,然后单独执行。用户可以在测试项目时单独测试特定代码块,无需从头开始执行代码。

🍀(2)基于web框架进行开发,非常方便。

说明:♨️♨️♨️

Jupyter Notebook官网:Project Jupyter | Home

💥💥4.4 开发环境准备

说明:♨️♨️♨️

安装Python:Python安装教程(2022最新)

安装Pycharm:PyCharm安装教程(详细步骤)

安装Anaconda:PyTorch基础知识(1)--- PyTorch框架介绍和安装步骤

Jupyter Notebook教程:手把手教你安装Jupyter Notebook(保姆级教程)

新建开发环境,安装numpy、Scikit-learn库。👇

python 复制代码
conda create -n env_name(环境名)

pip(conda)install package_name(包名)

相关推荐
轻口味11 分钟前
命名空间与模块化概述
开发语言·前端·javascript
泰迪智能科技011 小时前
高校深度学习视觉应用平台产品介绍
人工智能·深度学习
晓纪同学1 小时前
QT-简单视觉框架代码
开发语言·qt
威桑1 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服1 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans1 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手2 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
算法小白(真小白)2 小时前
低代码软件搭建自学第二天——构建拖拽功能
python·低代码·pyqt