AI学习笔记:[0]什么是矩阵

作者: iamfanny | 来源:发表于2017-09-03 22:32 被阅读832次

最近估计不少同志也终于开始撸起袖子学人工智能了。如果你像我一样分不清“人工智能”、“机器学习”、“深度学习”、“神经网络”各种词汇之间的关系的话,可以看下这个图:

AI知识图谱

我们(嗯对,就是我以及我家那位)准备在学习的过程中把相关笔记都记录下来。本篇的序号是0,意思就是在尚未正式开始之前的一些准备工作。

相信很多对AI持观望态度的开发者,都是卡在数学这关,因为随便翻开一个资料,一大堆数学公式,各种看不懂。其实学习AI的过程中可能涉及到的数学知识大概有这么几个:线性代数、微积分、概率论。也就是大一大二的知识,没什么深奥的东西——但是,对于大多数人来说,大学里面的数学课自己都不知道是怎么过的。比如对我而言,学得最不好的就是线性代数,如果不是查看维基百科,我都想不起来线性代数里面其实就是学的向量和矩阵相关的知识。

所以,这篇笔记里面我来回顾一些矩阵的基础,尤其是要搞清楚,到底该如何理解矩阵。

矩阵

矩阵的数学定义:

一个m×n的矩阵是一个由m行n列元素排列成的矩形阵列

矩阵乘法

两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积AB是一个m×p矩阵

矩阵相乘

举个例子:

矩阵相乘例子

矩阵的本质

大家应该对上述的矩阵与矩阵乘法并不陌生,毕竟线性代数是大学的必修课。我也学过,但我在学习线性代数的时候其实内心是抗拒的:我为什么要用一堆方框里的数字进行加减乘除?意义在哪里?另外,导数可以用函数曲线的斜率来想象,积分可以用函数覆盖面积来想象,但矩阵相关的一系列知识无法在我脑海中形成一个可以想象的物理模型,导致对里面的各种知识点我只能死记硬背,考完试就忘了。

如果你也有类似的困惑,可以跟我一起来重新认识一下矩阵。

有三篇网文非常直观地解释了矩阵的本质:

理解矩阵(一)
理解矩阵(二)
理解矩阵(三)

其思路概括来说如下:

  1. 首先要有空间的概念,如果不考虑严谨的定义,你可以用我们熟知的二维或者三维空间来想象:里面有无穷多的点,通过某些动作,可以从一个点“移动”到另一个点,容纳运动是空间的本质特征
  2. 线性空间也是一种空间,线性空间是容纳向量对象运动的。如果选定了坐标系,那么一个向量可以用它在每个维度上的坐标值来表示,比如二维空间里可以表示为[x, y],三维空间可以表示为[x, y, z],更高维虽然无法想象,但仍然可以用类似的数学方式表示出来。
  3. 向量共有两种形式,一种为列向量,一种为行向量。虽然我们可能比较习惯行向量,但在这里,我们默认使用列向量。比如[-1,2]就这样表示:
  1. 我们可以通过某种运算,把空间里的一个点“移动”另一个位置。比如我们想把[-1,2]移动到[5,2],可以执行如下运算:
  1. 上图中左边的这个变量,就是一个矩阵,所以矩阵是线性空间中运动(变换)的描述。

换言之,矩阵的乘法,本质是一种运动。但除此以外,还有另外一种理解方式。

我们知道,运动是相对的,把[-1,2]变成[5,2],除了“移动”,还可以通过变换坐标系的方式实现。也就是说,找到这样的一个坐标系,在那里,同样的一个向量可以表示为[5,2]。

在这个情况下,对上面那个矩阵相乘例子而言,里面的那个2x2方阵就可以理解为一个坐标系,在这个坐标系下,[-1,2]这个向量可以表示为[5,2]。

坐标系变换

比如上面这个动图中,通过坐标系变化,把红色向量[0,1]、绿色向量[1,0]变成了[3,0]和[1,-2]。

因此,矩阵的实质就是将坐标整体线性变换

转置矩阵

这里顺带回顾一下转置矩阵的概念。

m×n矩阵A的转置是一个n×m的矩阵,记为AT,其中的第i个行向量是原矩阵A的第i个列向量

转置矩阵

之所以提这个,是因为后续在学习评分函数的时候会看到这个,如果你看到y=WT*X+b,你就这么理解:如前文所说,所有的向量默认都是列向量,因此WT就是一个行向量,根据矩阵相乘法则容易得出WT*X就是一个标量,而b也是标量,所以y也是标量了。

如果你喜欢本文,请不要吝啬你的点赞或打赏,毕竟一个红心就能让我高兴半天

如果你想获取本系列后续的新内容,请关注我的账号,预计会以一周一篇的频率进行更新~

相关文章

  • AI学习笔记:[0]什么是矩阵

    最近估计不少同志也终于开始撸起袖子学人工智能了。如果你像我一样分不清“人工智能”、“机器学习”、“深度学习”、“神...

  • AI学习笔记:[1]神经元与神经网络

    上一篇:AI学习笔记:[0]什么是矩阵 学习吴恩达在网易云课堂上的《深度学习工程师》课程有一周了,差不多学完了4周...

  • 机器学习中的稀疏矩阵

    什么是稀疏矩阵? 大多数元素都是0的矩阵称为稀疏矩阵,否则称为稠密矩阵。规模巨大的稀疏矩阵在应用机器学习中很常见,...

  • tensorflow--tensor 变换

    来源:tensorflow学习笔记(二):tensor 变换矩阵操作 第二个参数是axis,如果为0的话,res[...

  • Numpy 学习笔记

    numpy 笔记 入门基础 转化为矩阵 输出矩阵维度 输出形状 共有多少元素 创建numpy数组 创建0矩阵 创建...

  • 矩阵连乘(DP+递归+备忘录)

    动态规划+递归+备忘录 解决矩阵连乘 问题描述: 给定n个矩阵:A1,A2,...,An,其中Ai与Ai+1是可乘...

  • 稀疏矩阵

    1.什么是稀疏矩阵?2.什么时候使用稀疏矩阵? 稀疏矩阵就是就是在一个矩阵的的阵列中大多数都是默认数据0为什么使用...

  • 2018-08-09

    动态规划之矩阵连乘问题 问题描述 给定n个矩阵:A1,A2,...,An,其中Ai与Ai+1是可乘的,i=1,2....

  • 人工智能

    最近在读《人工智能》这本书。对迎接未来,AI时代该如何学习,学什么,这个板块感触挺深,以下是读书笔记: AI将在未...

  • 矩阵连乘

    给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2 ,…,n-1。如何确定计算矩阵连乘积...

网友评论

    本文标题:AI学习笔记:[0]什么是矩阵

    本文链接:https://www.haomeiwen.com/subject/iivjjxtx.html