当前位置: 首页 > news >正文

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前,请先学习Python的基础知识

其他路线:

Python基础 >>

Python进阶 >>

Python爬虫 >>

Python数据分析(数据科学) >>

Python 算法(人工智能) >>

Python Web开发 >>

Python自动化运维 >>

符号表解释:

可根据知识点前的符号按需选学,并获取知识点描述和学习资源。

 

必学:核⼼知识点,经常⽤到。

建议学:重要知识点,专业⼈⼠的基⽯。

⾯试重点:经常出现的⾯试知识点。

可有可⽆:边缘区域,不是必须探索的地⽅。

知识描绘:知识点描述,快速理解。

学习资源:关联的学习资源。

学习⽬标:阶段性⽬标。

学习路线:算法(人工智能)

描述: Python 在人工智能领域广泛应用,作为一种强大的编程语言,它支持各种机器学习和深度学习算法,用于构建智能系统、自然语言处理、计算机视觉和数据分析等领域的应用。

目标:人脸识别系统,利用深度学习模型,构建一个人脸识别系统,可以用于身份验证或监控系统。

学习资源:

  • Python机器学习AI路线 >>>

  • TensorFlow 深度学习从入门到实战 >>>
  • AI 深度学习 Python 实战 Pytorch >>>
  • 大厂 AI 实践 >>>
  • 动手学深度学习 >>>
  • 动手学大模型应用开发 >>>
  • TensorFlow 官方文档中文版 >>>
  • 人工智能学习路线 >>>

一、 

数学基础

1、高等数学:

高等数学是数学的一个分支,涵盖了微积分、微分方程、积分学等内容。在人工智能中,微积分常用于优化算法和神经网络的训练中。

2、线性代数: 
线性代数研究向量、矩阵和线性方程组的理论与应用。在人工智能中,线性代数用于处理多维数据、矩阵运算、特征值分解等,是深度学习中的关键数学概念之一。

3、概率论:
概率论研究随机事件和不确定性的数学理论。在人工智能中,概率论用于建模不确定性、贝叶斯推断、机器学习中的概率模型等。
4、统计分析:
统计分析涵盖了数据收集、分析、解释和模型拟合的方法。在人工智能中,统计分析用于数据预处理、特征选择、模型评估等,是机器学习和数据科学的核心。

二、 

机器学习

1、特征工程:

描述: 特征工程是指对原始数据进行处理和转换,以提取出对机器学习模型有意义的特征。好的特征工程可以显著影响模型的性能,帮助模型更好地学习数据的模式。

2、模型:

描述: 模型是机器学习中的数学表示,用于从数据中学习模式和进行预测。模型可以是线性回归、决策树、神经网络等算法的实例。

  • 模型分类: 根据问题的性质,可以选择不同类型的模型。例如,分类问题可以使用逻辑回归、支持向量机等,而回归问题可以使用线性回归、决策树回归等。
  • 模型评估:评估模型的性能是关键步骤。常见的评估指标包括准确性、精确度、召回率、F1 分数等,用于衡量模型在未见数据上的表现。 
  • 模型训练:模型训练是指使用标记的训练数据来调整模型的参数,使其能够更好地拟合数据。训练通常包括损失函数优化、反向传播等过程。
  • 模型调优:模型调优是通过调整超参数、正则化等方法来改善模型性能的过程。这可以包括交叉验证、超参数搜索等技术。

3、

常用算法:

3.1 监督与无监督学习:

  • 监督学习: 在监督学习中,算法接收带有标签(目标输出)的训练数据,并学习如何映射输入到输出。常见的监督学习任务包括分类和回归。
  • 无监督学习: 在无监督学习中,算法接收没有标签的训练数据,目标是发现数据的结构或模式,通常包括聚类和降维。

3.2 回归(有监督):

  • 线性回归: 线性回归试图拟合数据点与线性函数之间的最佳拟合线,用于预测连续数值。它基于线性关系建立模型。
  • 决策树回归: 决策树回归使用树状结构来建模数据,将输入数据分成多个决策节点,每个节点代表一个决策规则。用于处理非线性关系。
  • 集成算法: 集成算法如随机森林和梯度提升树是组合多个基本模型以提高预测性能的方法。它们通过组合多个模型的预测来降低过拟合风险。

3.3 分类(有监督):

  • 逻辑回归: 逻辑回归是一种广泛用于二分类问题的算法。它建立一个线性模型,然后使用逻辑函数(sigmoid 函数)将线性输出映射到概率值,用于判断属于哪个类别。
  • 决策树: 决策树是一种树状结构的模型,用于分类和回归任务。在分类中,它根据特征的条件来分割数据,并最终确定每个叶子节点的类别。
  • 支持向量机 (SVM): 支持向量机是一种用于分类和回归的强大算法。它寻找一个最佳的超平面来分割数据,并尽量使不同类别的数据点离这个超平面最远,以提高分类性能。
  • 集成算法: 集成算法如随机森林和梯度提升树是组合多个模型以提高分类性能的方法。它们通过组合多个弱模型的预测来降低过拟合风险,并在实际中表现出色。
  • 贝叶斯算法: 贝叶斯算法是一组基于贝叶斯定理的概率算法,用于分类问题。它基于先验概率和数据的条件概率来估计后验概率,用于决定最可能的类别。

3.4 聚类(无监督):

  • K 均值聚类(K-means): K 均值聚类是一种无监督学习算法,用于将数据分成 K 个不同的簇(群集)。它的目标是使每个数据点与其所属簇中的聚类中心的距离最小化。K 均值聚类通常需要预先指定簇的数量 K,然后通过迭代优化来找到最佳簇分配。
  • DBSCAN(密度聚类): DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种无监督聚类算法,能够识别具有不同密度的簇。它基于数据点的密度来分割簇,将具有足够密度的数据点分为一个簇,并将稀疏区域的数据点标记为噪声点。DBSCAN 不需要预先指定簇的数量,因此对于发现具有不同形状和大小的簇很有用。

3.5 降维:

  • 主成分分析(PCA): 主成分分析是一种常用的降维技术,旨在减少数据的维度,同时保留最重要的信息。它通过找到数据中的主要方差方向,将数据投影到新的坐标系中,以便能够更紧凑地表示数据。PCA 通常用于数据压缩、可视化和去除冗余信息。
  • 线性判别分析(LDA): 线性判别分析是一种降维方法,通常与分类问题一起使用。它寻找一个新的特征空间,以便不仅最大化不同类别之间的距离,还最小化同一类别内部的距离。LDA 旨在找到具有最好区分性的特征,可以用于提高分类算法的性能。

3.6 进阶:

  • GBDT(梯度提升决策树)算法: GBDT 是一种集成学习算法,用于回归和分类问题。它通过构建多个决策树模型,每个模型都试图修正前一个模型的错误。模型的组合提供了强大的预测性能,因此在许多数据挖掘和预测任务中广泛应用。
  • LightGBM: LightGBM 是一种基于梯度提升的决策树算法,专为高效性能而设计。它使用了一种称为“直方图算法”的技术,能够更快地构建树模型。LightGBM 通常比传统的梯度提升算法更快速且具有竞争力的性能。
  • EM(期望最大化)算法: EM 算法是一种用于解决含有隐含未知变量的概率模型的估计问题的迭代算法。它通过交替进行“期望”步骤(E 步骤)和“最大化”步骤(M 步骤),来估计模型参数。EM 算法在聚类、密度估计和概率分布建模等领域广泛使用。
  • 隐马尔可夫模型(HMM): 隐马尔可夫模型是一种统计模型,用于建模时序数据和序列标注问题。它由隐藏状态、可见状态和状态转移概率组成,常用于语音识别、自然语言处理、生物信息学等领域,可以捕捉序列数据中的潜在结构和模式。

4、多因子模型: 

  • 多因子模型是一种用于解释和预测资产收益或投资组合表现的金融模型。它是一种广泛应用于资产定价和投资决策的工具,用于理解资产收益的来源和影响因素。

5、常用库

5.1 NumPy

  • NumPy 是 Python 中用于科学计算的基础库,提供了多维数组和矩阵操作,是许多其他机器学习库的基础。

5.2 Pandas

  • pandas 是用于数据处理和分析的库,提供了数据结构和数据操作工具,方便加载、清理、转换和分析数据。

5.3 Scikit-learn

  • scikit-learn 是一个广泛使用的机器学习库,包含了各种机器学习算法,如分类、回归、聚类、降维等,以及用于模型选择和评估的工具。

5.4 TensorFlow

  • TensorFlow 是 Google 开发的深度学习框架,用于构建神经网络和深度学习模型。它提供了高级 API(例如 Keras)和低级 API,适用于各种深度学习任务。

5.5 PyTorch

  • PyTorch 是 Facebook 开发的深度学习框架,受到研究人员和实践者的欢迎。它提供了灵活的动态计算图和易于使用的 API,使深度学习模型的构建更加直观。

5.6 Keras

  •  Keras 是一个高级神经网络 API,可以运行在 TensorFlow、Theano 和 CNTK 等后端上。它是构建深度学习模型的简单且用户友好的接口。

5.7 SciPy

  • SciPy 是一个用于科学计算的库,包括了许多数学、优化和统计算法,对于高级机器学习任务非常有用。

5.8 NLTK: 

  • 自然语言工具包(NLTK)是用于自然语言处理的库,包含了文本处理、分词、标记化、词干提取等功能。

三、

深度学习

描述: Python 深度学习是一种机器学习方法,利用神经网络模型来处理复杂的数据任务,如图像识别、自然语言处理和预测分析。它依赖于 Python 编程语言和各种开源库,如 TensorFlow 和 PyTorch。

1、数据预处理

  • Python 深度学习中的数据预处理是指将原始数据转换为适合神经网络模型输入的格式。这通常包括数据清洗、标准化、归一化、特征工程和划分训练集与测试集等步骤。数据预处理的目标是提高模型的性能和训练效率,确保模型能够有效地学习和泛化。

2、 

常用算法

2.1 神经网络:

  • 神经网络是一种受到人类大脑结构启发的算法,它由多个神经元组成的层次结构。这些神经元通过连接权重进行信息传递,通过前向传播和反向传播来学习和调整权重,以解决各种机器学习问题,如分类、回归和聚类。

2.2 卷积神经网络:

  • 卷积神经网络是一种专门用于处理图像和视觉数据的神经网络。它包含卷积层,池化层和全连接层,能够有效地捕捉图像中的特征和模式,广泛用于图像分类、目标检测和图像生成等任务。

2.3 递归神经网络:

  • 递归神经网络是一种用于处理序列数据的神经网络,它具有记忆功能,能够捕捉序列中的时间依赖关系。RNN 在自然语言处理、时间序列分析和语音识别等领域广泛应用。

2.4 对抗生成网络: 

  • 对抗生成网络是由生成器和判别器组成的对抗性模型。生成器试图生成与真实数据相似的数据,而判别器尝试区分真实数据和生成数据。这个过程通过竞争使生成器不断提高生成数据的质量,用于生成图像、音频和文本等内容。

2.5 序列网络模型: 

  • 序列网络模型通常是指用于处理序列数据的各种神经网络,包括 RNN、LSTM(长短时记忆网络)、GRU(门控循环单元)和 Transformer 等。它们广泛用于自然语言处理、机器翻译、文本生成和音乐生成等领域,能够捕捉序列数据中的长期依赖性。

3、框架和平台
3.1 TensorFlow 2: 

  • TensorFlow 2 是由 Google 开发的深度学习框架,具有高度的灵活性和可扩展性。它提供了动态计算图和静态计算图的两种模式,以满足不同需求。TensorFlow 2 的 Keras API 被整合为默认的高级 API,使模型的创建和训练变得更加容易。

3.2 

PyTorch: 

  • PyTorch 是由 Facebook 开发的深度学习框架,以其动态计算图的特性而著称。它具有直观的 API,支持动态图和静态图,使研究人员和开发人员能够更自由地定义和修改模型结构。PyTorch 在学术界和研究中广泛使用。

3.3 Keras: 

  • Keras 是一个高级深度学习 API,最初独立存在,后来被整合到 TensorFlow 中。它设计用于简化模型构建和训练过程,适用于快速原型开发。Keras 提供了用户友好的接口,使得创建神经网络模型变得非常容易。

3.4 Caffe: 

  • Caffe 是一个由 Berkeley Vision and Learning Center(BVLC)开发的深度学习框架,早期用于图像分类和卷积神经网络的研究。它的设计注重性能和速度,但不太适合新手,因为配置和扩展需要一定的技术经验。

4、自然语言处理 (NLP)

  • 自然语言处理是深度学习领域的一个重要分支,涉及计算机对人类语言的理解和生成。它包括文本分析、语言模型、机器翻译、情感分析、命名实体识别等任务。深度学习在 NLP 中广泛应用,例如使用循环神经网络(RNN)和变换器(Transformer)来处理文本数据。

5、图像处理

  • 图像处理是指通过计算机算法对图像进行分析、改进和转换的过程。深度学习已经在图像处理中取得了巨大的成功,特别是卷积神经网络(CNN)在图像分类、目标检测、图像分割和风格转换等任务中的应用。

6、计算机视觉

  • 计算机视觉是深度学习的一个重要应用领域,旨在使计算机能够理解和解释图像和视频数据。它包括目标检测、人脸识别、动作识别、三维重建、虚拟现实和自动驾驶等任务。深度学习方法在计算机视觉中已经实现了突破性的进展,尤其是卷积神经网络的发展使得图像识别和分析变得更加准确和高效。

相关文章:

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前,请先学习Python的基础知识 其他路线: Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析(数据科学) >> Python 算法(人工智能) >> Pyth…...

C++直接内存管理new和delete

0、前言 C语言定义了两个运算符来分配和释放动态内存。运算符new分配内存,delete释放new分配的内存。 1、new动态内存的分配 1.1、new动态分配和初始化对象 1)、new内存分配 在自由的空间分配的内存是无名的,new无法为其分配的对象…...

Linux 内核中网络接口的创建与管理

在 Linux 系统中,网络接口(如 eth0、wlan0 等)是计算机与外部网络通信的桥梁。无论是物理网卡还是虚拟网络接口,它们的创建和管理都依赖于 Linux 内核的复杂机制。本文将深入探讨 Linux 内核中网络接口的创建过程、命名规则、路由选择以及内核如何将网络接口映射到实际的硬…...

人工智能 前馈神经网络练习题

为了构建一个有两个输入( X 1 X_1 X1​、 X 2 X_2 X2​)和一个输出的单层感知器,并进行分类,我们需要计算权值 w 1 w_1 w1​和 w 2 w_2 w2​的更新过程。以下是详细的步骤和计算过程: 初始化参数 初始权值&#xff1a…...

Windows搭建RTMP服务器

目录 一、Nginx-RTMP服务器搭建1、下载Nginx2、下载Nginx的RTMP扩展包3、修改配置文件4、启动服务器5、查看服务器状态6、其它ngnix命令 二、OBS推流1 、推流设置2、查看服务器状态 三、VLC拉流四、补充 本文转载自:Windows搭建RTMP服务器OBS推流VLC拉流_浏览器查看…...

Vue重新加载子组件

背景:组件需要重新加载,即重新走一遍组件的生命周期常见解决方案: 使用v-if指令:v-if 可以实现 true (加载)和 false (卸载) async reloadComponent() {this.show false// 加上 nextTick this.$nextTick(function() {this.show…...

【VScode】设置代理,通过代理连接服务器

文章目录 VScode编辑器设置代理1.图形化界面1.1 进入proxy设置界面1.2 配置代理服务器 2.配置文件(推荐)2.1 打开setting.json 文件2.2 配置代理 VScode编辑器设置代理 根据情况安装nmap 1.图形化界面 1.1 进入proxy设置界面 或者使用快捷键ctrl , 。…...

js es6 reduce函数, 通过规格生成sku

const specs [{ name: 颜色, values: [红色, 蓝色, 绿色] },{ name: 尺寸, values: [S, M, L] } ];function generateSKUs(specs) {return specs.reduce((acc, spec) > {const newAcc [];for (const combination of acc) {for (const value of spec.values) {newAcc.push(…...

基于R语言的DICE模型

DICE型是运用最广泛的综合模型之一。DICE和RICE模型虽然代码量不多,但涉及经济学与气候变化,原理较为复杂。 一:DICE模型的原理与推导 1.经济学 2.气候变化问题 3.DICE模型的经济学部分 4.DICE模型的气候相关部分 5.DICE模型的目标函数…...

【C】PAT 1006-1010

1006 换个格式输出整数 让我们用字母 B 来表示“百”、字母 S 表示“十”&#xff0c;用 12...n 来表示不为零的个位数字 n&#xff08;<10&#xff09;&#xff0c;换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234&#xff0c;因为它有 2 个“…...

力扣双指针-算法模版总结

lc-15.三数之和 &#xff08;时隔13天&#xff09; 目前可通过&#xff0c;想法上无逻辑问题&#xff0c;一点细节小错误需注意即可 lc-283.移动零&#xff08;时隔16天&#xff09; 总结&#xff1a;观察案例直觉就是双指针遇零交换&#xff0c;两次实现都通过了&#xff0c…...

解释一下:运放的输入偏置电流

输入偏置电流 首先看基础部分:这就是同相比例放大器 按照理论计算,输入VIN=0时,输出VOUT应为0,对吧 仿真与理论差距较大,有200多毫伏的偏差,这就是输入偏置电流IBIAS引起的,接着看它的定义 同向和反向输入电流的平均值,也就是Ib1、Ib2求平均,即(Ib1+Ib2)/2 按照下面…...

Windows 11 上通过 WSL (Windows Subsystem for Linux) 安装 MySQL 8

在 Windows 11 上通过 WSL (Windows Subsystem for Linux) 安装 MySQL 8 的步骤如下&#xff1a; ✅ 1. 检查 WSL 的安装 首先确保已经安装并启用了 WSL 2。 &#x1f527; 检查 WSL 版本 打开 PowerShell&#xff0c;执行以下命令&#xff1a; wsl --list --verbose确保 W…...

信用租赁系统助力企业实现免押金租赁新模式

内容概要 在现代商业环境中&#xff0c;信用租赁正在迅速崛起。通过结合大数据与区块链技术&#xff0c;信用租赁系统彻底改变了传统的租赁流程。什么是信用租赁呢&#xff1f;简单说&#xff0c;就是不需要押金&#xff0c;你也能够租到你想要的物品&#xff0c;这对企业和消…...

OSPF特殊区域(open shortest path first LSA Type7)

一、区域介绍 1、Stub区域 Stub区域是一种可选的配置属性。通常来说&#xff0c;Stub区域位于自治系统的边界&#xff0c;例如&#xff0c;只有一 个ABR的非骨干区域。在这些区域中&#xff0c;设备的路由表规模以及路由信息传递的数量都会大量减少。 kill 4 5类type 传递1 …...

Element-plus表单总结

表单包含输入框&#xff0c;单选框&#xff0c;下拉选择&#xff0c;多选框等用户输入的组件。输入表单&#xff0c;您可以收集、验证和提交数据。 经典表单 最基础的表单包括各种输入表单项&#xff0c;比如input、select、radio、checkbox等。 在每一个form组件中&#xff0…...

unity学习13:gameobject的组件component以及tag, layer 归类

目录 1 gameobject component 是unity的基础 1.1 类比 1.2 为什么要这么设计&#xff1f; 2 从空物体开始 2.1 创建2个物体 2.2 给 empty gameobject添加组件 3 各种组件和新建组件 3.1 点击 add component可以添加各种组件 3.2 新建组件 3.3 组件的操作 3.4 特别的…...

51单片机——中断(重点)

学习51单片机的重点及难点主要有中断、定时器、串口等内容&#xff0c;这部分内容一定要认真掌握&#xff0c;这部分没有学好就不能说学会了51单片机 1、中断系统 1.1 概念 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的&#xff0c;中断功能的存在&#…...

企业级Java 实体对象类定义规范

1. 查询参数类 (Query) 命名规则: xxxQuery.java用途: 用于封装查询操作的请求参数&#xff0c;通常包含分页、过滤、排序等字段。与数据库查询或 API 请求紧密相关。示例: ProductQuery.java、UserQuery.java使用场景: 查询条件的封装&#xff0c;发送查询请求时使用。 2. 返…...

【网络云SRE运维开发】2025第2周-每日【2025/01/07】小测-【第7章 GVRP链路捆绑】理论和实操

文章目录 一、理论题1.1 GVRP协议在华为设备中的主要作用是什么&#xff1f;1.2 在华为交换机上&#xff0c;配置GVRP时&#xff0c;端口的注册模式有哪些&#xff1f;并简要说明其特点。1.3 简述华为设备中GVRP协议的工作过程。1.4 在华为交换机上配置GVRP时&#xff0c;如果两…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...