深度学习中的数学基础总结
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}
aik∗bkj=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=1∑N∣xi∣
- 向量的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=1∑N∣xi∣2
- 向量的负无穷范数:向量的所有元素的绝对值中最小的:上述向量 a ⃗ \\vec{a} a的负无穷范数结果就是:5。
∥ x ⃗ ∥ − ∞ = min ∣ x i ∣ \\Vert\\vec{x}\\Vert_{-\\infty}=\\min{|{x_i}|} ∥x∥−∞=min∣xi∣
- 向量的正无穷范数:向量的所有元素的绝对值中最大的:上述向量 a ⃗ \\vec{a} a的正无穷范数结果就是:10。
∥ x ⃗ ∥ + ∞ = max ∣ x i ∣ \\Vert\\vec{x}\\Vert_{+\\infty}=\\max{|{x_i}|} ∥x∥+∞=max∣xi∣
- 向量的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=1∑N∣xi∣p
矩阵的范数
定义一个矩阵
A
=
[
−
1
,
2
,
−
3
;
4
以上是关于深度学习中的数学基础总结的主要内容,如果未能解决你的问题,请参考以下文章 计算机视觉+人工智能面试笔试总结——深度学习基础题21~40 《繁凡的深度学习笔记》前言目录大纲 一文弄懂深度学习所有基础