深度学习入门之数学基础-一文了解线性代数

本文将简单且形象的对线性代数进行介绍,与传统的线性代数教材不同,我不想聚焦于具体的数学命题和技术,而是想探究线性代数的现实意义与哲学本质。本文主要记录我为了深入了解机器学习而再次学习线性代数的一些所思所感,或许不够严谨,但希望能大家一种了解线性代数的不同视角。

一、定义

线性代数是关于向量空间和线性映射的一个数学分支。它包括对线、面和子空间的研究,同时也涉及到所有的向量空间的一般性质。

所以要了解线性代数,我们必须了解向量空间和线性映射。

对于向量空间,其核心概念是向量和空间。向量数学上看是一个有序数列,而本质上就是代表n维空间的点(也可见其看成原点到该点的有向线段),而这n维空间就是向量空间。那什么是空间呢?我认为能装东西的就是空间,它类似于集合,它既可以包含现实的事物也有包含数学概念。

比如计算机内有存储单元,那么就有内存空间;我们上课有课表,那么就有课表空间;有一个能装载梦境的东西,我们可以叫它盗梦空间。对于数学来说,数学家定义的空间里装载的当然是能运算的东西。从拓扑空间开始,一步步往上加定义,可以形成很多空间。线形空间其实还是比较初级的,如果在里面定义了范数,就成了赋范线性空间。赋范线性空间满足完备性,就成了巴那赫空间;赋范线性空间中定义角度,就有了内积空间,内积空间再满足完备性,就得到希尔伯特空间,如果空间里装载所有类型的函数,就叫泛函空间。

而线性映射表示向量空间的运动,即空间上的一点如何到达另一点,或是n维空间的点如何到达m维空间的某个位置。而完成这个空间运动或者说空间变换的就是矩阵(左乘),所以矩阵的本质就是空间变换。

二、个人想法

看到了运动和空间是不是想起了相对论,或许你还会想起哲学中对运动和空间的讨论。没错运动与空间其实正是自然界中最本质的东西,空间确定了事物的静态属性,运动则确定了它的动态属性。(另一重要概念时间则和另一门大学数学概率论者有者很大关系,因为事物随时间的发展是包含不确定性的,而不确定中又有着一些必然的东西,这不就是概率论所研究的吗。而高等数学研究的则是自然界另一重要概念–极限。所以大学最重要的三门数学课程研究的都是自然界最本质的东西,若深入了解,你将会发现它们是多么的美妙。很可惜,之前由于纯理论的教学方式和自己的不够重视,居然白白浪费了学习这些课程的时间,希望现在重新学起还不晚。)

想到这里我忽然又有了一个想法–信息是相对于所存在空间的,所以无论是信息压缩还是主要信息提取或是特征信息获得,都可以将一个对象从一复杂的空间转换换到一个较为简单的空间!而很多机器学习算法的基础不就是这个吗!甚至深度学习就是通过神经网络将输入信息转换到对应的特征空间,以使其跟容易的学到本质特征。而一层层的神经网络层就是一个个特征空间。(想到这里是不是很兴奋,深度学习也并不是真正神奇的黑箱嘛。不过想象先到这里,想要真了解机器学习的本质,我们现在还是需要先把基础打牢,我们下面继续讨论线性代数)

三、方程组-线性组合-空间变换

通过上面的分析,我们形成了几点共识,向量是空间中的一个点,或者说是空间中的一个对象。而矩阵就是实加在空间点上的运动,或者说是空间变换。那线性代数的线性怎么理解呢,线性的基本意义就是可加性和比例性,用数学语言讲就是,线性空间满足满足对加法和数乘封闭,即空间中的一个对象经过加法和数乘运算后,仍在这个空间中。

说了这么多,或许有人会觉得怎么和自己大学课堂上学的线性代数不太一样。那好,我们现在就通过解方程组->线性组合->空间变换的顺序再次介绍一下线性代数,其实他们本质都是互通的,只是当我们站的角度高了(比如从线性空间的角度看),对它的理解将会更加深刻。

一次方程

首先说说我对n元一次方程的理解:方程就是点对一个基的线性变换之和为某值。
比如一元方程:5x=10;
我们可以将其看成5在进行|x|倍放大的线性变换后得到了10,该点是个一维的点,所以该方程表示的是一个点。
对于2x+3y=3就是对2进行x倍放大,对3进行y倍放大后的和为3,满足这样的点(x,y)有很多,这些点构成一条直线。

方程组

那么方程组:
2x+3y=3
3x+5y=7
则可以看作对向量(2,3)^T 进行x倍放大,对(3,5)^T 进行y倍放大后组合在一起为(3,7)^T,
2x+3y=3是n个一维(每个一维都是不同维度)的线性组合,构成了n维事物,而方程组则是n个n维的线性组合,这样就把遗漏的信息补全,从而可以真正的确定一点。

所以n个n变量的方程构成的方程组可以看作是求n个n维物体相交的一点。也认为是对n个向量进行线性组合后得到结果向量,求表示组合规则的向量(即这个点)。在这里我们把方程组求解问题转化为了一个线性组合的问题。

而这里说的n个向量其实是n个基底,它们在一起表示一个空间,线性组合就是点对这些基底的线性组合,换过来说就是这些基底构成的空间对点的变换(运动是相对的)。所以线性组合也等价于空间变换。

四、矩阵即变换

当然我们把矩阵当作一种变换(运动),是在左乘矩阵时。而当我们右乘矩阵时,矩阵(方阵)代表的是坐标系,是由基底构成的空间。

当然,矩阵代表的是变换那么,对基础的变换由哪几种呢,对于于向量来说伸缩和旋转,就是最为基础的变换。

而矩阵乘法就是把任意一个向量变成另一个方向或长度都大多不同的新向量在这个变换的过程中,向量主要发生正是旋转、伸缩的变化。

旋转由旋转矩阵实现,旋转矩阵是一个完美的矩阵——正交矩阵。它的行列式为1,且每个列向量都是单位向量且相互正交,它的逆等于它的转置。旋转矩阵的角度变大时,行向量表示的坐标顺时针旋转,列向量表示的坐标逆时针旋转。

伸缩则是由对角矩阵实现的,而谈到伸缩我们要先了解一个概念–特征向量和特征值。即Ax=λx,A为向量,λ是常数。即矩阵A对向量x的变换只是在x的方向上进行了λ倍的伸缩,而换一个角度来说x则是矩阵A的一个特征向量,它表示A的一个主要特征,特征λ表示该特征的长度。当然特征向量和特征值是先对于方阵的,对于一般矩阵,要获取特征,我们用到的就是SVG(奇异值分解),而机器学习中的主成分分析正是基于此而来的。

五、特征空间

特征值问题其实就是选取了一组很好的基,就把矩阵i位置和j位置元素之间的相互关系消除了。而且因为是相似变换,并没有改变矩阵本身的特性。因此矩阵对角化才如此的重要!

特征值的思想不仅仅局限于线性代数,它还延伸到其他领域。在数学物理方程的研究领域,我们就把特征值称为本征值。如在求解薛定谔波动方程时,在波函数满足单值、有限、连续性和归一化条件下, 势场中运动粒子的总能量(正)所必须取的特定值,这些值就是正的本征值。属于将某事物映射(变换)到另一个特征空间,或许留下的就是主要特征,信息维度大大减小。或许下图可以让你体会到特征的空间转换在各个领域中的应用。

而各种变换都有对应的核(投影到相应核空间)

file

而通过对线性代数的思考,我可以总结出一个解决问题的思路:
其中的变换域就投影到相应的特征空间。

作者:Doit_
来源:CSDN
原文:https://blog.csdn.net/qq_31456593/article/details/74852203
版权声明:本文为博主原创文章,转载请附上博文链接!

为者常成,行者常至