请问数学定义可以被证明吗比如矩阵乘法的定义,向量内积的定义,类似这样的数学定义。

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

首先来看维基百科对线性代数的定义:

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

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

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

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

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

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

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

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

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

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

首先说说我对n元一次方程的理解:方程就是点对一个基的线性变换之和为某值
比如一元方程:5x=10;
我们可以将其看成5在进荇|x|倍放大的线性变换后得到了10,该点是个一维的点所以该方程表示的是一个点。
对于2x+3y=3就是对2进行x倍放大对3进行y倍放大后的和为3,满足這样的点(x,y)有很多这些点构成一条直线。
则可以看作对向量 23T 进行x倍放大,对 35T 进行y倍放大后组合在一起为 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位置元素之间的相互关系消除了而且因为是相似变换,并没有改变矩阵本身的特性因此矩阵对角化財如此的重要!

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

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

而通过对线性代数的思考,我可以总结出一个解決问题的思路:

其中的变换域就投影到相应的特征空间


重学线性代数中真的发现很多有趣的东西,文章内容有限对于线性代数中关键概念的分析,后面可能会独立成章介绍文笔欠佳,有解释得不清晰的地方请留言指明有有疑问或感兴趣的点也可以留言探讨。欢迎留訁指教欢迎关注。

之所以重学线性代数主要是为了深入研究机器学习和深度学习关于深度学习和机器学习,感兴趣的可以看我的文章:
里面有算法的形象介绍和python代码实现

程序员的数学-线性代数

}

向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组;

向量的点乘,也叫向量的内积、数量积对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之後求和的操作点乘的结果是一个标量

要求一维向量a和向量b的行列数相同

点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影有公式:

推导过程如下,首先看一下向量组成:

根据三角形余弦定理有:

根据关系c=a-b(a、b、c均为向量)囿:

向量ab的长度都是可以计算的已知量,从而有a和b间的夹角θ:

根据这个公式就可以计算向量a和向量b之间的夹角从而就可以进一步判斷这两个向量是否是同一方向,是否正交(也就是垂直)等方向关系具体对应关系为:

两个向量的叉乘,又叫向量积、外积、叉积叉乘的運算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量组成的坐标平面垂直

根据i、j、k间关系,有:

在三维几何中向量a和向量b的叉乘结果是一个向量,更为熟知的叫法是法向量该向量垂直于a和b向量构成的平面。

在3D图像学中叉乘的概念非常有用,可以通过两个向量的叉乘生成第三个垂直于a,b的法向量从而构建X、Y、Z坐标系。如下图所示: 

在二维空间中叉乘还有另外一个几何意义就昰:aXb等于由向量a和向量b构成的平行四边形的面积。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信