深度学习中的数学基础总结

Posted AI浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习中的数学基础总结相关的知识,希望对你有一定的参考价值。

摘要

深度学习通常又需要哪些数学基础?深度学习里的数学到底难在哪里?通常初学者都会有这些问题,在网络推荐及书本推荐里,经常看到会列出一系列数学科目,比如微积分、线性代数、概率论、复变函数、数值计算、优化理论、信息论等等。这些数学知识有相关性,但实际上按照这样的知识范围来学习,学习成本会很久,而且会很枯燥,本章我们通过选举一些数学基础里容易混淆的一些概念做以介绍,帮助大家更好的理清这些易混淆概念之间的关系。

1.1 向量和矩阵

1.1.1 标量、向量、矩阵、张量之间的联系

标量(scalar)
一个标量表示一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。

向量(vector)
​一个向量表示一组有序排列的数。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称,比如xx。向量中的元素可以通过带脚标的斜体表示。向量 X X X的第一个元素是 X 1 X_1 X1,第二个元素是 X 2 X_2 X2,以此类推。我们也会注明存储在向量中的元素的类型(实数、虚数等)。

矩阵(matrix)
​矩阵是具有相同特征和纬度的对象的集合,表现为一张二维数据表。其意义是一个对象表示为矩阵中的一行,一个特征表示为矩阵中的一列,每个特征都有数值型的取值。通常会赋予矩阵粗体的大写变量名称,比如 A A A

张量(tensor)
​在某些情况下,我们会讨论坐标超过两维的数组。一般地,一个数组中的元素分布在若干维坐标的规则网格中,我们将其称之为张量。使用 A A A 来表示张量“A”。张量 A A A中坐标为 ( i , j , k ) (i,j,k) (i,j,k)的元素记作 A ( i , j , k ) A_{(i,j,k)} A(i,j,k)

四者之间关系

标量是0阶张量,向量是一阶张量。举例:
​标量就是知道棍子的长度,但是你不会知道棍子指向哪儿。
​向量就是不但知道棍子的长度,还知道棍子指向前面还是后面。
​张量就是不但知道棍子的长度,也知道棍子指向前面还是后面,还能知道这棍子又向上/下和左/右偏转了多少。

1.1.2 张量与矩阵的区别

  • 从代数角度讲, 矩阵它是向量的推广。向量可以看成一维的“表格”(即分量按照顺序排成一排), 矩阵是二维的“表格”(分量按照纵横位置排列), 那么 n n n阶张量就是所谓的 n n n维的“表格”。 张量的严格定义是利用线性映射来描述。
  • 从几何角度讲, 矩阵是一个真正的几何量,也就是说,它是一个不随参照系的坐标变换而变化的东西。向量也具有这种特性。
  • 张量可以用3×3矩阵形式来表达。
  • 表示标量的数和表示向量的三维数组也可分别看作1×1,1×3的矩阵。

1.1.3 矩阵和向量相乘结果

若使用爱因斯坦求和约定(Einstein summation convention),矩阵 A A A, B B B相乘得到矩阵 C C C可以用下式表示:
a i k ∗ b k j = c i j (1.3-1) a_{ik}*b_{kj}=c_{ij} \\tag{1.3-1} aikbkj=cij(1.3-1)
其中, a i k a_{ik} aik, b k j b_{kj} bkj, c i j c_{ij} cij分别表示矩阵 A , B , C A, B, C A,B,C的元素, k k k出现两次,是一个哑变量(Dummy Variables)表示对该参数进行遍历求和。
而矩阵和向量相乘可以看成是矩阵相乘的一个特殊情况,例如:矩阵 B B B是一个 n × 1 n \\times 1 n×1的矩阵。

1.1.4 向量和矩阵的范数归纳

向量的范数(norm)
​ 定义一个向量为: a ⃗ = [ − 5 , 6 , 8 , − 10 ] \\vec{a}=[-5, 6, 8, -10] a =[5,6,8,10]。任意一组向量设为 x ⃗ = ( x 1 , x 2 , . . . , x N ) \\vec{x}=(x_1,x_2,...,x_N) x =(x1,x2,...,xN)。其不同范数求解如下:

  • 向量的1范数:向量的各个元素的绝对值之和,上述向量 a ⃗ \\vec{a} a 的1范数结果就是:29。

∥ x ⃗ ∥ 1 = ∑ i = 1 N ∣ x i ∣ \\Vert\\vec{x}\\Vert_1=\\sum_{i=1}^N\\vert{x_i}\\vert x 1=i=1Nxi

  • 向量的2范数:向量的每个元素的平方和再开平方根,上述 a ⃗ \\vec{a} a 的2范数结果就是:15。

∥ x ⃗ ∥ 2 = ∑ i = 1 N ∣ x i ∣ 2 \\Vert\\vec{x}\\Vert_2=\\sqrt{\\sum_{i=1}^N{\\vert{x_i}\\vert}^2} x 2=i=1Nxi2

  • 向量的负无穷范数:向量的所有元素的绝对值中最小的:上述向量 a ⃗ \\vec{a} a 的负无穷范数结果就是:5。

∥ x ⃗ ∥ − ∞ = min ⁡ ∣ x i ∣ \\Vert\\vec{x}\\Vert_{-\\infty}=\\min{|{x_i}|} x =minxi

  • 向量的正无穷范数:向量的所有元素的绝对值中最大的:上述向量 a ⃗ \\vec{a} a 的正无穷范数结果就是:10。

∥ x ⃗ ∥ + ∞ = max ⁡ ∣ x i ∣ \\Vert\\vec{x}\\Vert_{+\\infty}=\\max{|{x_i}|} x +=maxxi

  • 向量的p范数:

L p = ∥ x ⃗ ∥ p = ∑ i = 1 N ∣ x i ∣ p p L_p=\\Vert\\vec{x}\\Vert_p=\\sqrt[p]{\\sum_{i=1}^{N}|{x_i}|^p} Lp=x p=pi=1Nxip

矩阵的范数

定义一个矩阵 A = [ − 1 , 2 , − 3 ; 4

以上是关于深度学习中的数学基础总结的主要内容,如果未能解决你的问题,请参考以下文章

深度学习正餐开始,五万字总结深度学习基础。

计算机视觉+人工智能面试笔试总结——深度学习基础题21~40

深度学习及pytorch基础

《繁凡的深度学习笔记》前言目录大纲 一文弄懂深度学习所有基础

《繁凡的深度学习笔记》前言目录大纲 一文弄懂深度学习所有基础

深度学习——深度学习中的梯度计算