摘要
深度学习通常又需要哪些数学基础?深度学习里的数学到底难在哪里?通常初学者都会有这些问题,在网络推荐及书本推荐里,经常看到会列出一系列数学科目,比如微积分、线性代数、概率论、复变函数、数值计算、优化理论、信息论等等。这些数学知识有相关性,但实际上按照这样的知识范围来学习,学习成本会很久,而且会很枯燥,本章我们通过选举一些数学基础里容易混淆的一些概念做以介绍,帮助大家更好的理清这些易混淆概念之间的关系。
1.1 向量和矩阵
1.1.1 标量、向量、矩阵、张量之间的联系
标量(scalar):⼀个标量表⽰⼀个单独的数,它不同于线性代数中研究的其他⼤部分对象(通常是多个数的数组)。我们⽤斜体表⽰标量。标量通常被赋予⼩写的变量名称。
向量(vector):⼀个向量表⽰⼀组有序排列的数。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的⼩写变量名称,⽐如X。向量中的元素可以通过带脚标的斜体表⽰。向量 的第⼀个元素是X1 ,第⼆个元素是 X2,以此类推。我们也会注明存储在向量中的元素的类型(实数、虚数等)。
矩阵(matrix):矩阵是具有相同特征和纬度的对象的集合,表现为⼀张⼆维数据表。其意义是⼀个对象表⽰为矩阵中的⼀⾏,⼀个特征表⽰为矩阵中的⼀列,每个特征都有数值型的取值。通常会赋予矩阵粗体的⼤写变量名称,⽐如 A
张量(tensor):在某些情况下,我们会讨论坐标超过两维的数组。⼀般地,⼀个数组中的元素分布在若⼲维坐标的规则⽹格中,我们将其称之为张量。使⽤A 来表⽰张量“A”。张量 A中坐标为(i,j,k) 的元素记作A(i,j,k) 。
四者之间关系:
标量是0阶张量,向量是⼀阶张量。举例:
标量就是知道棍⼦的⻓度,但是你不会知道棍⼦指向哪⼉。
向量就是不但知道棍⼦的⻓度,还知道棍⼦指向前⾯还是后⾯。
张量就是不但知道棍⼦的⻓度,也知道棍⼦指向前⾯还是后⾯,还能知道这棍⼦⼜向上/下和左/右偏转了多少。
1.2 张量与矩阵的区别?
从代数⾓度讲, 矩阵它是向量的推⼴。向量可以看成⼀维的“表格”(即分量按照顺序排成⼀排), 矩阵是⼆维的“表格”(分量按照纵横位置排列), 那么 阶张量就是所谓的 维的“表格”。 张量的严格定义是利⽤线性映射来描述。从⼏何⾓度讲, 矩阵是⼀个真正的⼏何量,也就是说,它是⼀个不随参照系的坐标变换⽽变化的东⻄。向量也具有这种特性。张量可以⽤3×3矩阵形式来表达。表⽰标量的数和表⽰向量的三维数组也可分别看作1×1,1×3的矩阵。
1.3 矩阵和向量相乘结果
⼀个 m⾏ n列的矩阵和 n⾏向量相乘,最后得到就是⼀个m⾏的向量。运算法则就是矩阵中的每⼀⾏数据看成⼀个⾏向量与该向量作点乘。
1.4 向量和矩阵的范数归纳(范数是一个度量的方式,用来展示在n维空间下的好坏。)
向量的范数
矩阵的范数
关于范数的理解是:范数就是一种度量方式。在计算机领域,一般迭代前后步骤的差值的范数表示其大小,常用的是二范数,差值越小表示越逼近实际值,可以认为达到要求的精度,收敛。对于标量,我们可以通过加法直接比较大小,比如我一米七八就是比一米五高。那我问你,我身高体重是[178,73],另一个人是[176,66],你告诉我,谁更“优秀”?没办法做差了吧,那你还得想一种比较方式,这种比较方式就可以使范数,而范数的特性决定了,它可以作为一种比较方式。范数有什么特性。
我们都知道,函数与几何图形往往是有对应的关系,这个很好想象,特别是在三维以下的空间内,函数是几何图像的数学概括,而几何图像是函数的高度形象化,比如一个函数对应几何空间上若干点组成的图形。但当函数与几何超出三维空间时,就难以获得较好的想象,于是就有了映射的概念,映射表达的就是一个集合通过某种关系转为另外一个集合。通常数学书是先说映射,然后再讨论函数,这是因为函数是映射的一个特例。
为了更好的在数学上表达这种映射关系,(这里特指线性关系)于是就引进了矩阵。矩阵就是表征上述空间映射的线性关系。而通过向量来表示上述映射中所说的这个集合,而我们通常所说的基,就是这个集合的最一般关系。于是,我们可以这样理解,一个集合(向量),通过一种映射关系(矩阵),得到另外一个几何(另外一个向量)。那么向量的范数,就是表示这个原有集合的大小。而矩阵的范数,就是表示这个变化过程的大小的一个度量。
范数数学上有什么特性呢?
1.5 如何判断⼀个矩阵为正定?
有关于线性带的理解自己多去加强一下。
如何理解矩阵特征值:先给一个简短的回答,如果把矩阵看作是运动,对于运动而言,最重要的当然就是运动的速度和方向,那么(我后面会说明一下限制条件):·特征值就是运动的速度·特征向量就是运动的方向
既然运动最重要的两方面都被描述了,特征值、特征向量自然可以称为运动(即矩阵)的特征。注意,由于矩阵是数学概念,非常抽象,所以上面所谓的运动、运动的速度、运动的方向都是广义的,在现实不同的应用中有不同的指代。下面是详细的回答,我会先从几何上简单讲解下特征值、特征向量的定义指的是什么,然后再来解释为什么特征值、特征向量会是运动的速度和方向。
相当于,之前的旋转是指明了拉伸的方向,所以我们理解了:
- 特征值就是拉伸的大小
- 特征向量指明了拉伸的方向
回到我们之前说的运动上去,特征值就是运动的速度,特征向量就是运动的方向,而其余方向的运动就由特征向量方向的运动合成。所以最大的特征值对应的特征向量指明了运动速度的最大方向。
正定矩阵是研究二次型(二次齐次多项式)时所提出的,前提矩阵必须是Hermite矩阵。随便找本线性代数书,都有各种公式。矩阵正定说明其表示的二次曲面位于底面上方,相反,矩阵负定说明其表示的二次曲面位于底面下方。通过引进Hessian矩阵,还可以确定其极值点。矩阵正定性在概率论,凸优化等课程的应用中起了很大作用,
正定二次型的衍生物有马氏距离、协方差矩阵等.
1.6 导数偏导计算
1.7 导数和偏导数有什么区别
1.8 特征值分解与特征向量
1.9 奇异值与特征值有什么关系
1.10 机器学习为什么要使⽤概率
事件的概率是衡量该事件发生的可能性的量度。虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复的随机试验却往往呈现出明显的数量规律。
机器学习除了处理不确定量,也需处理随机量。不确定性和随机性可能来自多个方面,使用概率论来量化不确定性。概率论在机器学习中扮演着一个核心角色,因为机器学习算法的设计通常依赖于对数据的概率假设。
例如在机器学习(Andrew Ng)的课中,会有一个朴秦贝叶斯假设就是条件独立的一个例子。该学习算法对内容做出假设,用来分辨电子邮件是否为垃圾邮件。假设无论邮件是否为垃圾邮件,单词x出现在邮件中的概率条件独立于单词y。很明显这个假设不是不失一般性的,因为某些单词几乎总是同时出现。然而,最终结果是,这个简单的假设对结果的影响并不大,且无论如何都可以让我们快速判别垃圾邮件。