人工智能中的数学

> Mathematical & Statistical Subjects in Artificial Intelligence Algorithms

探索AI算法的数学和统计主题。

概述:

· 介绍

· 为什么需要数学。

· 列出AI的子字段/模块。

· 数学主题和必修主题。

· 在神经网络中应用数学主题进行多分类示例。

· 结论

在本文中,以上指标分为两部分,第一部分(1-4)仅对数学主题进行了理论解释,第二部分(5)将概念应用于多分类神经网络。

第一节理论解释

介绍 :

本文基于数学和统计学的AI算法解释了数学在AI中的重要性。AI算法背后的数学很难理解,需要陡峭的学习曲线。AI算法使用数学主题,即使概念取自其他学科(例如:人工神经网络的生物神经元)。

为什么选择数学:以下是AI中需要数学的几个原因。

· 您无法获得任何算法的清晰画面或内部工作原理

· 大多数读者使用方程式,公式,技术,结果等来撰写研究论文,并以纯数学的观点来参与必修课程以完成任务。 要求您了解数学以理解符号,主题和应用技术。

· 在一些复杂的AI项目中,例如SDC,Robotics,NLP,您需要基于已经存在的框架(例如PyTorch,Tensorflow,Keras等)定义自己的框架。要开发复杂的项目,您必须热衷于AI算法的内部工作。

· 有时,您可能需要通过更改参数值来微调算法,如果您不热衷于算法角度并且不了解数学的内部工作原理,那么您将无法进行微调。

· 作为AI架构师或研究人员,您无法以正常方式传达实验结果,您必须以数学方式进行解释。

AI中的模块或字段

人工智能中有许多模块,根据Stuart Russell和Peter Norvig撰写的《人工智能:现代方法》一书,我列出的模块很少。

要知道下面的AI模块的目的就是描述它的示意图,即使是新手也可以理解模块的路线图。

AI及其领域/模块/子模块的目的

> Purpose of AI Subjects/fields to be understand by newbie

作为AI字段的概述,可以在下图中进行分类。

> Broadly categorizes the fields of AI into 5 groups

数学主题/概念将涵盖几乎所有领域(AI领域),不仅限于机器学习和深度学习。

下一篇文章将简要介绍AI领域及其算法中涉及的数学主题/概念的方式。

AI-数学科目和必修主题

遍历每个主题并简短地提及所需的主要概念以及在AI算法中的何处以及如何使用。通过提及,这些读者在学习和开发算法时会很熟悉。

> Requires to to understand the concepts, notations and advanced subjects.

基本公式,函数,指数,对数,欧几里得距离,平面,超平面,线性,非线性,斜率,曲线和基础,抛物线,圆等

> Euclidean Distance

> Abstract, Linear and Vector Algebra. Linear Algebra is a computation tool in AI

简介:代数有多种变体,例如抽象代数,向量代数,线性代数。

抽象代数:代数定律,群,同态,同构,环理论等,

以下是线性代数和向量代数中需要的主题。请注意,向量代数的概念很少,在一些线性代数中涉及的教科书中。

线性代数概念:向量,矩阵-矩阵类型(恒等,逆,伴随),张量,矩阵性质(跟踪,行列式,正交,投影,对称,奇异等),乘积规则-内积,外积,向量矩阵,矩阵乘法,向量的线性组合,哈达玛(Hadamard),分解-本征值分解,SVD等。

线性代数用法简介:线性代数是人工智能(AI)的主要计算工具。

向量论在ML和其他领域中的应用:

> Concepts, Types and Usages of Vectors

> Deals with Reasoning and Uncertainty

描述性统计:均值,方差,中位数,众数,标准偏差,协方差,期望,分布(伯努利,均匀,正态(单变量和多元),泊松,二项式,指数,伽玛),联合和边际分布,概率,概率公理,条件概率,随机变量,贝叶斯规则(最重要),链规则,参数估计:MLE(最大似然估计),MAP(最大后验),贝叶斯网络或概率模型或图形模型。

该博客介绍了适用于人工智能主要领域的基本概率论概念。

> Major Statistical Concepts used in AI

> Deals with Changes in the parameters, functions , errors and Approximations.

导数:导数规则:加法,乘积,除法,链规则,双曲(tanh),导数的应用(如最小值,最大值等),积分(如果使用转换)。

注意:我们没有使用标量导数,但是这些将有助于理解向量和矩阵演算,以及很好地理解数值计算。

多变量微积分,偏导数,梯度算法。

微积分与线性代数的变化:矢量微积分和矩阵微积分在机器学习和深度学习中最重要

向量和矩阵微积分的概念:梯度,链规则,雅可比,黑森州。

下图描述了梯度下降算法,该算法在神经网络体系结构的反向传播(BP)中用于优化参数。

BP描述了'神经网络实现'部分。

> Gradient Descent Algorithm working on Parameters or Weights in an ML/DL algorithm

> Uses to measuring the uncertainty in algorithms

概念:熵(Shannon熵),信息增益,交叉熵,Kullback-Leibler(KL)发散。 熵衡量分布的无序性。

下面是香农熵图,描述了分布。

> Entropy in Classification Problems

> Uses for Convergence/Divergence

集,序列,极限,度量空间,单值和连续函数,收敛,发散和泰勒级数。

> Converge and Diverge parameters in a model

> Computation methods & Optimizing with respect to constraints

极值,最小值,最大值,鞍点,溢出,方向导数,下溢,凸,凹,凸,拉格朗日不等式。

在ML和DL中权重优化中使用的以下概念:

> Graphically Minimum, Maximum, Saddle Point, Convex ,Concave

> Optimize Cost (minimize / maximize)

简介:运筹学(OR)是将数学应用于业务问题的研究。它是应用数学的一个子领域。或使用数学和统计学来回答优化问题。

算法与统计:

或严重依赖算法,数学和统计学。 OR中最重要的算法是优化算法:试图找到最大值或最小值的算法。

优化:具有挑战性的是,在给定的限制条件下,一个问题的最佳解决方案。优化可以是成本或收益的最大化或最小化。

主要是在成本函数的OR中使用优化技术。

> OR works on Typical ML/DL algorithm

> Basics for Logic, Algorithms and proofs

集合,函数,一阶逻辑,关系,数据结构,算法,算法的时间和空间复杂性,递归,组合,树,图,有限状态机,动态编程等

请注意,某些学科或概念是离散数学的一部分,例如概率,矩阵,布尔代数,语言,但它们将出现在各自的领域中。

在下图中,仅提及在算法中适用的众所周知的DM概念。 为了避免混淆和冲突,未提及其他各种概念,例如有限自动机,形式语言,布尔代数,概率,矩阵。

> DM Concepts applying in Algorithms for various usages

> There are many subjects/concepts will come into picture and have to learn as and when required

其他主题/概念:变换(拉普拉斯变换,Z变换,傅立叶变换),分布函数(Sigmoid,Softmax,Softplus,Tanh等),信号处理,生物神经元概念,拓扑,物理基础和控制理论, 等等,仅提及很少的主题/概念,但列表是详尽的。

第2节神经网络中的应用数学概念

让我们将这些主题(如上所述)组合成一种算法,看看它们是如何工作的。为此,我使用了'多类'文本分类示例,在本示例中,我使用了神经网络体系结构并解释了数学主题如何完成任务。

下图说明了数学科目如何参与神经网络。 在神经网络中实现ML算法,使用户可以轻松地一次掌握两种学习技术。

神经网络体系结构的每一层都有许多节点,而我们的输入和输出层也有许多层。 在此示例中,我使用了1个隐藏层和1个输出层以及输入层。

多类别分类算法的层:

输入层:以矢量形式输入的要素或尺寸。

隐藏层:我们可以在每个层中包含多个隐藏层和神经元。在此示例中,我们仅使用一个隐藏层。

输出层:Soft-max函数产生分布。

神经网络架构建立在神经元的概念上。深度学习的一部分,所有神经网络体系结构(例如NN,CNN,RNN,生成模型,自动编码器,解码器等)都适用于人工神经网络。

> Neural Network Architecture for Multi-class Classification

下图比较了生物神经元和人工神经元。

> (a) Biological Neural Network (BNN) & (b) Artificial Neural Network (ANN) and representing in BNN

人工神经网络用于多类别分类。

神经网络训练可以在前馈传播或正向传播和向后传播或向后传播中进行。

每层中的每个节点都是Vector中的Element,每个层都被矢量化。前馈传播结合了权重和输入(输入层中的输入和隐藏层中的节点)的线性组合,可以使用矢量和矩阵乘积以及偏置矢量的相加来完成。

由于我们有2个隐藏层和输出层,因此,前馈和后向传播将分两个阶段进行计算。

第一阶段前馈

让我们在上述神经网络中定义中间变量。

> Defining Intermediate Variables in Neural Network

知道参数的尺寸:

> Dimensions of Intermediate Variables

我在本文中详细介绍了深度学习中的矩阵和向量。

线性代数-如何在人工智能中使用?

了解线性代数如何在AI中应用。

让我们计算第一阶段的中间变量。

> Calculation of Feedforward Propagation for Hidden Layer

第二阶段前馈:

让我们计算第二阶段的中间变量。现在,输入已隐藏到输出层。

> Calculation of Feedforward Propagation for Output Layer

前馈传播完成后,反向传播开始。 BP分两个阶段完成。 输出层的阶段1和隐藏层的阶段2。

第一阶段反向传播:

BP从前馈停止处开始。从成本函数J或H开始。BP涉及许多数学主题,例如实数分析,数值计算,凸优化,诸如梯度下降及其变型算法的优化算法,矩阵演算/矢量演算等。

Sigmoid和Softmax的链规则及其导数:

> Chain Rule and function Derivatives

中间变量和反向传播:

> Back Propagation goes in reverse order of Forward Propagation

多类别分类的成本函数

> Cost Function for Multi-Class Classification

我们针对每一层中的参数区分成本函数。即

> Generic Formula for param derivative

从输出层参数开始,可以在数学上对其进行描述

> Output Layer's Weight param derivatives

在上式中,第一部分的导数是

> Derivative of first part

接下来关于方程式(1)的第二部分进行微分

> Derivative of second part

> Substituting Derivatives of first and second parts in equation (1)

同样,我们需要针对偏见区分J

> Differentiating Cost J with respect to Bias in output layer

第二阶段反向传播:

在这里,我正在扩展链式链接术语,并在确切的位置进行替换,而没有给出太多解释,因为这有可能引起混淆。

> Phase-2 Back Propagation

下图清楚地说明了每一层的正向和反向传播输出。

> Forward and Back Propagation yields activation and derivatives of parameters

简单来说,我们训练整个训练集,一旦完成纪元数或达到极小值,所有参数都将得到优化,并在未知数据上提供良好的结果以及准确性。 纳入学习(ML / DL)。

数学和统计学科目非常重要,没有像没有灵魂的人体那样的东西。只要需要掌握和开始工作的科目,就可以将数学科目视作报酬至少需要了解AI算法中的任何主题或概念。

(本文由闻数起舞翻译自Particles, Symmetries, And The Weird World Of Quantum Mechanics的文章《AI & Mathematics》,转载请注明出处,原文链接:https://medium.com/swlh/ai-mathematics-699a9ea2a0d6)

(0)

相关推荐