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

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

     目录

🚀1.人工智能是什么?

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

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

💥💥3.1 监督式学习

💥💥3.2 非监督式学习

💥💥3.3 强化学习

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

💥💥4.1 Python介绍

💥💥4.2 scikit-learn介绍

💥💥4.3 jupyter notebook介绍

💥💥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库。👇

conda create -n env_name(环境名)pip(conda)install package_name(包名)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/103541.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Android原生制作毛玻璃效果图片

毛玻璃效果,也被称为模糊效果,是许多现代应用中流行的一种视觉效果。在 Android 中,我们可以通过多种方式实现该效果。本文将探讨如何使用 Android 原生的 Bitmap 类和 RenderScript 来实现毛玻璃效果。 1. 准备工作 首先,你需要…

中国有多少个省?【最新】

2023.09.09 中华人民共和国省级行政区是指中国现行的34个一级行政区, 包括23个省(河北、山西、黑龙江、吉林、辽宁、江苏、浙江、安徽、福建、江西、山东、河南、湖北、湖南、广东、海南、四川、贵州、云南、陕西、甘肃、青海、台湾)、 5个…

2023数学建模国赛B题完整论文来啦!(含一二问求解代码及三四问仿真模拟代码)

大家好呀,从昨天发布赛题一直到现在,总算完成了全国大学生数学建模竞赛B题完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 说实话团队通宵一直到现在做…

如何查看APK的MD5签名及无法显示MD5签名的解决办法

https://blog.asroads.com/post/3358e0c4.html 之前的文章内已经介绍了不少的关于Android环境下出Apk 包遇到的各种填坑操作,以及一些设置小技巧,但坑是未知的,今天又踩一个坑,这次的问题是和电脑环境有关的。于是下面记录一下。 …

Arthas 排查JVM问题总结

一、安装 在Arthas官网:https://arthas.aliyun.com/中下载安装包。 执行java -jar arthas-boot.jar就可以启动。 二、常见命令 dashboard:查看JVM全局概览,包括线程、堆内存、GC还有系统信息等 thread:常见命令,查看…

原生JavaScript+PHP多图上传实现

摘要 很多场景下需要选择多张图片上传&#xff0c;或者是批量上传以提高效率&#xff0c;多图上传的需求自然就比较多了&#xff0c;本文使用最简单的XMLHttpRequest异步上传图片。 界面 上传示例 代码 index.html <!DOCTYPE html> <html><head><titl…

1987-2021年全国31省专利申请数和授权数

1987-2021年全国31省国内三种专利申请数和授权数 1、时间&#xff1a;1987-2021年 2、来源&#xff1a;整理自国家统计局、科技统计年鉴、各省年鉴 3、范围&#xff1a;31省市 4、指标&#xff1a;国内专利申请受理量、国内发明专利申请受理量、国内实用新型专利申请受理量…

Logstash--logstash-syslog-putput插件安装及使用

这篇文章讲的是如何在Linux服务器上安装logstash-syslog-output插件及使用&#xff0c;是集网上之大成&#xff0c;择选出一条正确有效简短的路。 安装 插件logstash-syslog-output&#xff0c;如果你的logstash没有&#xff0c;则需要安装。 查看logstash是否含有这个插件的…

Vue+Element Progress 进度条显示文字 %修改,使用format方法显示文字可自定义

需求 要实现这样子的 将进度条里显示的文字 后的 %去掉 主要用到 format 方法 代码 <el-progress :text-inside"true" :stroke-width"30" :format"format":percentage"usageA"></el-progress>methods: {format(percent…

JVM调优

JVM测试 jstat命令&#xff1a; Java的jstat命令使用详解 jstat -gcutil vmid jinfo命令&#xff1a; jinfo vmid Xms为2G&#xff0c;而Xmx约为30G jmap命令&#xff1a; jmap -heap vmid 串行GC &#xff0c;Serial GC Concurrent Mark-Sweep GC &#xff1a;CMS回收器…

Android SDK 上手指南||第十一章 虚拟与物理设备

第十一章 虚拟与物理设备 在之前的文章里&#xff0c;大家已经了解了Android项目当中的基本元素、接触了用户界面的设计以及数据存储方案。接下来&#xff0c;我们将一同探索如何在物理及虚拟设备上运行自己的应用程序并与之互动。在系列文章的下一篇中&#xff0c;我们将分步…

【iOS】属性关键字

文章目录 前言一、深拷贝与浅拷贝1、OC的拷贝方式有哪些2. OC对象实现的copy和mutableCopy分别为浅拷贝还是深拷贝&#xff1f;3. 自定义对象实现的copy和mutableCopy分别为浅拷贝还是深拷贝&#xff1f;4. 判断当前的深拷贝的类型&#xff1f;(区别是单层深拷贝还是完全深拷贝…