最近在学习矩阵相关知识,但是其抽象的解释让人摸不着头脑,通过浏览一些博客的内容和自己的理解,本文通过通俗的语言将矩阵的内涵做了总结。其中除了书本和个人观点,部分引用博客。本文主要帮助大家理解矩阵,但不一定都是正确的,但愿能起到促进学习的作用。

正式开始之前,我们需要明确一些事情,什么是问题的实质,什么是解决问题的工具。比如相似矩阵,相似是一类问题的实质,虽然两个矩阵相似,但是我们通过矩阵并不能清楚看出他们的特点作用,于是我们引入对角化这个工具,将n阶矩阵通过对角化转成对角矩阵便于运算和理解。本文只讲思想,不测重计算,所以举例皆为3阶及以下矩阵。

第一节:

矩阵这么多的应用是有一个前提条件的,那就是这个矩阵是位于线性空间当中的。本节主要讲述什么是线性空间,以及一些基本的规定(概念)。

  • 线性空间(又称向量空间)和子线性空间。 

书本概念:线性空间是满足……的一个封闭空间。线性子空间是在满足上述特点的同时还要是父空间(自定义概念,便于理解)的子集。那什么是线性空间?我们怎么才能从线性空间中分割一个子线性空间出来呢。举个很简单的例子:

我们以三维空间T为例,它的x,y,z轴坐标分别从负无穷到正无穷。根据以往的经验很显然,它是一个封闭的空间,而且满足线性空间的特点,所以它肯定是一个线性空间。现在我去掉它的一个维度,比如让Z=常数,这时候我们得到一个二维空间S,空间S实际上只包含x,y两个维度,根据以往的经验,很容易知道它也是一个线性空间,因此S也是T的子线性空间。同理我们再去掉一个维度,让空间变成一维空间。这些也是成立的。

  • 特殊的向量空间。 

欧式空间:简单理解为可以用长度角度等来度量的线性空间,带有内积的空间(内积可以理解为投影,是空间可以度量的一种表现形式,我们通过长度和夹角来求内积,也可以反过来用内积表示长度和大小)高中几何的空间就是欧式空间。

酉空间:一种特殊的带有正定埃尔米特型的复内积空间V(非完备内积空间),可以进行与欧式空间类似的度量,度量工具如:范数(范数:简单理解为向量的长度,到0点的距离,将向量空间对象进行欧式空间的描述,简化理解)。

希尔伯特空间:完备的内积空间。

完备性:其中完备性的意思就是空间中的极限运算不能跑出该空间,如有理数空间中的√2 的小数表示,其极限随着小数位数的增加收敛到√2,但√2 属于无理数,并不在有理数空间。

关于空间的推导递进关系可以参考博客: 

http://blog.csdn.net/shijing_0214/article/details/51052208

理解:现在我们学习的空间是对我们生活中常用的欧式欧式空间的一个抽象提升,比如距离长度对应抽象提升为范数,角度的表示抽象成内积相关,理解简化学习难度。

  • 空间的维数,基与坐标。 

在这门学科中,空间的物体都是由向量或者向量的组合进行表示。在之前的数学中,我们使用的坐标系是固定的,为了简化,我们规定坐标系后就忽略了基向量,但现在因为坐标系不在固定(个人觉这是因为,矩阵中使用的空间是一种广义的空间,所有的物体都包含在该空间内,没有人可以跳出这个空间来规定哪里是基向量,我们都是处于空间中不同的角度来观察这个空间,这样我们必须同时使用所处的相对坐标系和相对坐标来描述空间的物体,这种空间在某种意义上涵盖更为广泛,更加贴近对现实的客观描述),我们描述一个物体时就要同时表明他的坐标系(基向量的组合)和坐标。

基向量相当于每个维度的单位向量,我们用向量或者向量的组合表示的物体可以整理为坐标+基向量,例如在基向量x,y,z.构成的空间中,我们有一个点O,我们有三个方向的向量表示该点:a,b,c。那么我们也可以说是在以x,y,z为基向量的空间中,点O的坐标为:(|a|/|x|,|b|/|y|,|c|/|z|)。

这几个概念都非常简单,后面章节有用到的会相应的说明。

第二节

这一节主要讲矩阵的线性变换,这些变换是整个线代的基础重点,弄懂了这些东西的实际物理意义将会大大帮助后面的学习和理解。

什么是线性变换(这是一种规定性质,很容易理解这里不做解释)?线性变换可以用一个矩阵来描述,所以矩阵的本质是一个变换,矩阵的乘法就是将这个变换施加给被乘的对象(可以是单点对象也可以是多点对象,单点对应一个向量,多点对应一个矩阵)。这么说可能不太具体,你可能还有疑问说,左乘和右乘的结果为啥不一样?我们举个简单的例子来证明这个观点。

先看一般情况,普通空间中,我们通过旋转,缩放来描述一个物体的变换。下面是三维空间下的旋转矩阵,我们可以尝试将其放在右面去乘一个向量点,我们发现点会绕规定的坐标旋转,但是尺寸没有发生变化,因为这些旋转因子的行列式为1,使得旋转不会影响尺寸的变化。

矩阵在三个方向的旋转因子:

矩阵的缩放因子:

矩阵三个方向的平移因子:

关于这三种变换可以看博客:

http://blog.csdn.net/leaf6094189/article/details/18554549

说完右乘,我们看一下左乘,由于矩阵运算的特殊性,A*B != B*A。我们引入一个工具来使其相等,这个工具就是转置。将一个右乘的矩阵公式按照一定规律改变一下位置就可以实现左乘。如下:

这样我们就很容易的实现左右乘的转换。

有了以上对变化的理解,我们还是会有疑问,一个看起来毫无规律的矩阵我们怎么知道他描述了怎样的变化?对于一个普通的矩阵我们确实无法直观的看出它描述了怎样的变化,我们需要先将普通矩阵进行等价变换(初等变换),然后根据旋转,缩放,平移的因子矩阵,就可以看出这个矩阵的具体含义。比如对于单纯的缩放矩阵,它可以变换成对角矩阵,这样我们很容易看出它的缩放因子。比如对于单纯的平移矩阵,我们可以将它变换成初等矩阵,这样我们很容易看出它的平移关系。对于旋转来说变换较为麻烦,但是原理相似,看官可以自行推导。

上面使用了一种变换工具,初等变换。通过上面的例子,相信我们就不难理解,书本上为什么要花费不少篇幅来讲解初等变换和初等矩阵了。

矩阵为什么支持分块计算?我们该怎么分块。

先从简单的划分开始:

(1)我们把左边的矩阵当作变换矩阵,那么右边的矩阵就相当于待变换点的组合,无论是一个还是两个都不影响计算结果,所以右边矩阵的任意行划分都不影响结果。

(2)我们把右边的矩阵当作变换矩阵,那么左边的矩阵就相当于待变换点的组合,无论是一个还是两个都不影响计算结果,所以左边矩阵的任意列划分都不影响结果。

接下来看左矩阵的列划分和右矩阵的行划分。

从网上找了个例题:要想能使用矩阵乘法计算,我们必须把A的列每段划分的个数与B行每段划分的个数相同,这个不难理解。现在我们忽略掉矩阵中的0元素,将其当作普通元素处理。那么我们会得到下面的式子:

不难看出计算结果和不分块时完全一样,只是简单的拆分组合。究其原因我们可以将其理解为在满足划分特点的情况下,分块计算就相当于对某个或某几个维度分量进行计算,然后求和的过程。

综合上面几条,满足上面特点的任何划分都是成立的。

逆矩阵:AA-1 =E;

目前先了解逆矩阵相当于矩阵的倒数,两者相乘等于单位矩阵。它有很多特点,后面使用到了会继续解释,比如非奇异矩阵行列式,|A|=1/|A-1|.等等。如果从倒数的角度出发就很容易理解。

第三节:行列式与秩

为了描述行列式的意义,我们自己引入一个概念叫做维度积,举例理解一下,二维维度积表示面积,三维维度积叫做体积,对于高维我们将其抽象为维度积。有了这个概念之后,我们发现,行列式的代数结果表示的正是矩阵向量所围成的这种维度积。

关于这个的证明是一项不小的工作量,前人已经证明过了,这里贴出博客:

http://blog.csdn.net/vernice/article/details/48512203

由上面的行列式的几何含义,我们可以推断出什么是奇异矩阵,奇异矩阵就是维度积为0的矩阵(方阵),当方阵中向量不全部线性无关时,维度积为0,比如不完全线性相关的二维方阵表示一条直线,它的二维维度积(面积)为0,比如不完全线性相关的三维方阵表示一条直线或一个平面,它的三维维度积(体积)为0。

所以行列式只有对非奇异矩阵成立,且det(A)=1/det(A-1)。A-1就是定义了A的逆变换,是矩阵A的延伸,用于还原A的变换。

求解A-1除了之前的初等变换方法外,我们还可以通过代数余子式的方式求解。

余子式:在一个n阶行列式D中,把元素aij (i,j=1,2,…..n)所在的行与列划去后,剩下的(n-1)^2个元素按照原来的次序组成的一个n-1阶行列式Mij,称为元素aij的余子式。

代数余子式:余子式Mij带上符号(-1)^(i+j)称为aij的代数余子式,记作Aij=(-1)^(i+j) Mij。

余子式相当于某一面的片面维度积,我们按正负将他们运算组合就可以得到实际维度积。

两种计算过程中需要的矩阵。

伴随矩阵:A*,每项为矩阵的代数余子式。伴随矩阵用来求逆:A-1=A*/|A|。

增广矩阵:将线性方程组的前后两个部分写在一个矩阵中,通过化简求解或者通过秩来判断解的个数。这就引入了一个工具秩。

秩:矩阵A的列秩是A的线性独立的纵列的极大数。通常表示为r(A),rk(A)或rank A。

相似矩阵:相似矩阵是通过一个变换在不同视角的表现形式,它们的特点相同。我们可以通过计算相似矩阵来简化运算。B=P-1AP,该公式可以简单理解为矩阵B与后面三个矩阵的组合效果相同。假设我们有一个向量x,让x进行B变化,等到在B所在视角下的变换结果。等号右面让x先做P变换,将坐标点变换到A所在的坐标系当中,然后对变换点做A变换,然后将变换结果逆变换到B的坐标系下。这时我们发现两个结果相同,显然很容易理解这个结果。

第四节:特征值,特征向量与二次型

特征值和特征向量在机器学习等的算法中极为常见也十分重要,这里对他们实际表示的意义和特点做一个简单的理解。

设T是数域K上的线性空间Vn的线性变换,且对K中某一数a,存在非0向量x属于Vn,使得Tx=ax成立,则称a为T特征值,x为T的属于a的特征向量。

如上式:1为矩阵的特征值,向量为特征向量。那么他们分别代表什么含义呢。我们知道,矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值。根据之前提到缩放因子,我们知道这个矩阵可以变换成对角阵。但是它对机器学习中的特征提取有什么用呢?首先声明机器学习中的特征值并不是矩阵论中的特征值,机器学习中的特征值是指变化较为显著,能作为描述一个物体的一个主要特点。当我们有一百个方面来描述一个物体时,我们发现它的计算量十分庞大而且有些方面对结果几乎不起作用,这时候我们就需要提取出它的主要特征。目的是让所有样本尽量分散,这样数据信息就能更充分的表现出来,我们就很容易通过简单的曲线将数据分类。为了将数据分散,我们先列出所有方面的两两协方差矩阵。实对称矩阵可以化成对角矩阵,而且两个矩阵相似,通过对角矩阵我们不难发现,经过变换后某些维度的数据信息较为分散,即对角阵上较大的特征值,我们将这几个特征值选取出来,并提取他们的特征向量,该向量描述了一种变换,我们将这些方向的变换向量组成一个变换矩阵,然后将原始数据变换到新的空间。该空间的数据就会相对分散,易于分类。

详细解释见博客:

http://www.360doc.com/content/13/1124/02/9482_331688889.shtml

二次型:n个变量的二次多项式称为二次型,即在一个多项式中,未知数的个数为任意多个,但每一项的次数都为2的多项式。这个概念和我的学习内容不太相关就没有仔细看,提一下以后用到再回头学习。

到此终于结束。仅仅记录一下自己初看矩阵论的想法,肯定是漏洞百出,以后再看肯定会有不同的感悟和见解,以后的感悟以后再做记录。上面只是将抽象的东西讲的便于理解,并没有严谨的证明。所以认真推导和练习是必不可少的。

————

编辑 ∑Pluto

来源:CSDN

更多精彩:

☞泰勒定理的奇闻轶事

☞丘成桐:漫谈微分几何

☞Leibniz 如何想出微积分?(一)

☞线性相关和秩的物理意义

☞数学史上你认为最丑陋的公式是什么?

☞陶哲轩谈什么是好的数学

☞田渊栋:数学的用处(下篇)

☞你绝对没想过原来数学家这么流氓,一言不合就进行暴力证明

☞世界上最牛的五篇博士论文

☞数学中有哪些巧合让人眼前一亮?

☞算法立功!清华毕业教授美国被抢车,警察无能为力自己用“贪心算法”找回

☞学术史上的奇文:怎样用数学抓狮子

☞台大教授的反思:最难的一课 我们却没教给学生

☞麻省理工学院(MIT)研究生学习指导—— 怎样做研究生

☞分享 数学,常识和运气 ——投资大师詹姆斯·西蒙斯2010年在MIT的讲座

算法数学之美微信公众号欢迎赐稿

稿件涉及数学、物理、算法、计算机、编程等相关领域,经采用我们将奉上稿酬。

投稿邮箱:math_alg@163.com

c++求矩阵的秩_一篇文章搞定矩阵相关概念及意义通俗解释汇总相关推荐

  1. 一篇文章搞定矩阵相关概念及意义--通俗解释汇总

    一篇文章理解矩阵在讲什么. 最近在学习矩阵相关知识,但是其抽象的解释让人摸不着头脑,通过浏览一些博客的内容和自己的理解,本文通过通俗的语言将矩阵的内涵做了总结.其中除了书本和个人观点,部分引用博客:. ...

  2. c++求矩阵的秩_一文搞定矩阵相关概念 使用Excel矩阵计算不用愁

    知识要点: 矩阵的本质 矩阵的计算公式 实例演示 背景 矩阵计算是我们经常碰到的一个问题.在几乎所有跟"学问"二字稍微沾点边的东西里,矩阵这个家伙从不缺席.那Excel在其中扮演什 ...

  3. 关于python论文2000字_一篇文章搞定Python全部基础知识

    前言: 1.Python软件安装 第一章.字符串及数字变量 1.变量 2.数字型数据 要点提炼:这下面那张图就行,至于其它的,就是文本转字数(int),数字转文本(Str) 3.字符串 要点提炼:字符 ...

  4. asp.net javascrip获取session的值_一篇文章搞定 Django Cookie 与 Session

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  5. matlab基于dct的图像压缩编码解码_一篇文章搞定DCT在JPEG中的本质

    前序傅立叶变换,离散傅立叶变换,推荐这个回答的介绍 想和大家讨论一下jpeg中的dct变换,为什么有效?它有什么更深层次的本质吗?​www.zhihu.com 全篇参考下文,英文较好可以直接看. uc ...

  6. 深度学习数据集制作_一篇文章搞定人工智能之深度学习创建训练数据集的方法

    基础数据准备 训练所需要的数据集合都存储在数据库中,还有部分文本文件 首先对数据进行分类结构化存储[因为涉及到的是多分类问题] 整理并存储原始数据集 使用numpy将所有需要数据读取出来 splitl ...

  7. mysql当前时间往后推一周_一篇文章搞定Mysql日期时间函数

    前言 日期和时间函数部分也是我们日常工作中使用频率比较高的一部分.这一篇我们主要讲讲mysql里面的日期时间相关的函数,不同数据库之间基本相同,只会有个别函数的差异.大家掌握一个数据库的,其他的遇到不 ...

  8. 通俗篇:一文搞定矩阵相关概念及意义

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自 | 深度学习这件小事 最近在学习矩阵相关知识,但是其抽象的 ...

  9. Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发

    Android NDK开发之旅(2):一篇文章搞定android Studio中使用CMake进行NDK/JNI开发 (码字不易,转载请声明出处:http://blog.csdn.NET/andrex ...

最新文章

  1. \\s+ split替换
  2. 老公,等儿子长大,我去天堂找你(推荐)
  3. Ubuntu中python调用SimpleITK来显示图像
  4. 一款非常好用的音乐标签及管理工具:Yate for Mac
  5. for循环和while循环
  6. 系统学习机器学习之正则化(二)
  7. android 动画停止播放,Android动画暂停和播放问题
  8. 向 Linux kernel 社区提交patch补丁步骤总结(已验证成功)
  9. BFS算法(广度优先搜索)java
  10. excel换行按什么键_4种方法,教你excel怎么自动换行
  11. RTI_DDS自定义插件开发 9 API NDDS_Transport_Unshare_RecvResource_Fcn_rrEA
  12. 推荐几个图标搜索网站
  13. SAS中output的运用
  14. 网络基本知识【数据传输流程】
  15. 如何在win10自带的Edge浏览器中切换成IE浏览器浏览网站
  16. 关于pip安装gap_statistic
  17. 中国电信超 2 亿用户信息被卖,售价低至 0.01 元/条!个人信息安全何在?
  18. 7-2 输油管道问题
  19. Vue中的export和export default{}用法
  20. 【博客546】组播IP地址与组播MAC地址的联系与转换

热门文章

  1. .NET CF WM上创建快捷方式
  2. C++中调用DLL中的函数的两种方式
  3. IT大佬整理的Python机器学习十大算法案例
  4. 限制php-cgi进程数量,php-fcgi进程数超过预设值问题的解决
  5. 山东省青岛市黄海学院计算机考试,2017年3月山东计算机等级考试考点联系方式...
  6. java恶作剧小程序_一个Java恶搞小程序
  7. 028_SpringBoot整合Redis
  8. 011_SpringBoot视图层技术thymeleaf-日期格式化
  9. 模板格式丢失_公司法人私章证明丢失应该怎么办,需要补办吗?
  10. php 可以做pc客户端吗,vue.js能做pc端吗