向量,矩阵概念|学习笔记

简介: 快速学习向量,矩阵概念

开发者学堂课程【大数据学习-数学基础及应用:向量,矩阵概念】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/354/detail/4177


向量,矩阵概念

内容介绍:

一、学前须知

二、向量的基本概念

三、向量的表示方法

四、向量相关的数学操作

五、矩阵的概念

六、矩阵的数学操作:


一、学前须知:

本次微课堂的题目为:程序员的数学基础及应用,主要重温大学的数学内容。本次课堂的目的:学习数学上的基础概念,比如向量、矩阵、导数,梯度等基础概念,做一个系统性的回顾。

课程主要分为下面五个部分:第一是向量,矩阵的概念,第二个是向量在游戏中的应用。第三个是矩阵的一个应用场景,就是奇异值分解及其应用,第四是导数梯度的基本概念,第五个是最优化方法,以及相关的一些应用。


二、向量的基本概念

首先介绍一下向量的基本概念。不知道大家在平时的生活中有没有注意到有两个量,就在生活中经常出现,但是不知道有没有思考过这两个量有什么不同,其中一个就是位移,另一个是距离。观看下图:

image.png

有两个线段,一个是 OA ,一个是 AB 。他们一个明显的区别就是 AB是有方向的,是一个有效性的。OA 是距离。AB 是位移,两个线段一个是OA,现在 oA 1500米,另一个是线段 AB  2千米。不同的是 AB 是有方向的有向线段。所以 AB 表示的是位移,Oa 表示的是距离。位移作为一个既有大小又有方向的量,它是一个向量。距离是只有大小没有方向的量,是一个数量,生活中常见的一些数量包括质量,身高,面积,体积等等,常见的一些向量包括重力速度,加速度,物理中经常见到的量,以及其他的一些量。


三、向量的表示方法

向量的表示方法有两种,一种是几何表示法,还有一种是字母表示法。几何表示法:

image.png

常用有向线段表示。这个线段的长度就是表示这个向量的大小,通常也叫做向量的模。箭头所指的方向就会表示向量的方向。

字母表示法:是通常在书面上写公式时会使用到这种方法,它也分为两种,一种是用一个小写的字母去直接代表这个线段,然后在字母上方加一个箭头,表示他是一个向量。另一种方法是用两个大写字母前面的字母表示下面的起点,后面一个字母表示的是有向线段的终点,在上方再加一个箭头。也同样表示一个向量。

图片上都显示了有向线段,现在可以表示向量。

但其实有向线段与向量还是有明显的区别:

有向线段有固定起点大小以及方向。但是向量是可选任意点作为一个作为起点,只要他的方向和大小一致,向量就相等。

image.png

两个特殊的向量:

零向量:零向量就是代表长度为零的向量。记做零,然后上面加一个箭头。零向量的一个最大的特点就是它的方向是不确定的,也就是它的方向是无穷的。

单位向量:单位向量是另一个特殊向量,它的长度等于一个单位长度。但是这里的单位长度并不是表示他是一,这个单位是可以在不同的场景中进行不同的定义。

平行向量:平行向量也可以称作共线向量,只要两个或多个向量,它们的方向是相同或者相反。而且他们的长度不是零,那么这些向量就可以看作是平行向量。如下图:

image.png

这些向量都是平行向量的例子。

如何判断向量相等:

因为向量一个有方向的量,所以在长度相等的同时,必须方向也相同,这样的向量才能认为它们相等。所以从平行和相等这两个概念出发,可以推出来向量相等,一定能够推出来向量平行。向量相等是向量平行的充分条件,但是从向量平行反推相等,这样是不成立的。


四、向量相关的数学操作

首先是向量的加法:

两个向量相加,得到的和一定是从一个向量的起点。到另一个向量的终点,获得的这样一个新的向量。如下图:

image.png

比如 a 加 B ,得到的一个最终的结果向量就是如上图矩形的对角线,其中有两个 a 和两个 B,比如右侧的 a 是左侧 a 向量的一个拷贝,右侧的 B 向量也是左侧 B 向量的一个拷贝,他们是完全相同的,因为向量,只要它的大小和方向都相同,它是相等的,所以这两个向量相加可以看作是在这个平行四边形上,得到它的一个对角线。

向量点乘:

向量点乘是一个标量,它的结果是一个纯数字,是不带方向信息的一个量,公式是 a 向量和 B 向量的点乘,结果是 a 的模乘以 B 的模,再乘以它们夹角的余弦值。

点乘的作用非常大,是平时向量中的一个非常常用的操作,通过点乘的一个方向,也就是它是正值还是负值,就可以迅速判断出这两个量他们指的方向是不是相近。因为相近,cosX 是一个大于零的值,如果相反,cosX 小于零,所以从符号上面就可以迅速判断出这两个向量的指向。

image.png

向量的叉乘:

叉乘跟点乘一样,也表示向量的乘积。但是他的结果仍然是一个向量,并不是一个标量。公式:A 向量叉乘 B 向量的结果是 A 的模乘以 B 的模再乘以 sinX ,截止到此,结果都是一个标量,但是后面最后还乘一个 N ,这个 N 是一个法向量,所以标量乘以法向量最终的结果还是一个向量。

image.png

法向量:

法向量的概念就是 a 和 B 共同构成一个平面,那么垂直这个平面

的一个向量就可以认为是该平面的一个法向量。下图是如何判断一个法向量的方向:

因为是a叉乘B,可以举起自己的右手,四个手指从 a 转向 B 是一个逆时针的方向,a 转向 B ,大拇指指的方向就是法向量的方向。

image.png


五、矩阵的概念

矩阵也是线性代数中非常重要的一个概念,在游戏引擎以及机器学习中,矩阵经常使用。在线性代数中的定义是矩阵是以行和列显示组织一个巨型的数字块,也可以简单地看作是向量的一个数字。矩阵是有维度的,它跟向量的一个最大的区别就是矩阵的维度是由两个数字去决定的。一个是矩阵包含的行数,另一个是矩阵包含的列数。如下图所示:

image.png

表示一个维度为 M 乘 N 的一个矩阵,它的行数为 M 行,然后列数为 N 列,如果 M 等于 N ,即这个矩阵的行数和列数相同,那么这个矩阵也可以也叫做方阵。

矩阵跟线性变换的关系非常密切的。

线性变换:假设 V 和 W 是数域 P 上的一个线性空间,A 是 V W 的一个映射。如果满足这两个条件,称a 是到W 的一个线性映射。概念比较抽象。当 W 等于 V 时,这个变换线性映射前后的空间是同一个空间的时。A 就会称为线性空间 V 的一个线性变换。这个线性变换是线性映射中的一种特殊的方式。

image.png

通过线性变换可以引出它跟矩阵的关系。先假设,西格玛为线性空间 V 的一个线性变换,ξ  一到 N,是数域 p 上线性空间 V 的一组基,基就是空间中有一组向量,然后这组向量的话都是线性无关的,它们不可能被其他这个空间中的向量线性表示出来,举一个比较生动的例子,比如现在面前的这个桌面,只要平行于这个桌面的两个向量就可以把这个桌面的平面确定下来。随后再在这个桌面上增加其他更多的量。这个桌面并不发生任何改变。之前增加的那两个向量就可以作为这个桌面坐标系的一组基。

基向量的象可以被基线性表出,线性方程组是一个多元一次的线性方程组,基向量的象可以认为是一个因变量,就是把最左侧等号左侧的 σ 把它变成 a 。然后右侧的 ξ 把它变成 X ,就是一个多元一次的线性方程组。

image.png

然后把这个线性方程组用矩阵形式表示。就会表示成右侧这种方式:

image.png

所有的系数也是从阿尔法一到 N ,这个系数整体就表示 a 这个矩阵,总结来说,线性变换 σ 就是在基  ξ 一到N下面的一个矩阵。

矩阵俩个重要概念:

矩阵就是映射。矩阵就是在向量空间中的一种对运动的描述。

转置:

转置是矩阵特有的一种概念,比如说一个 N 乘 N 的矩阵 M ,那么它的转置会被记作 M 右上方有一个 T,转置之后,矩阵原来是 M 行 N 列,转置之后就变成 NM 列。如下图所示:

image.png

原来是三行两列,转置之后变成二行三列。


六、矩阵的数学操作:

第一个是标量矩阵的乘法。标量矩阵乘法比较好理解,比如说一个标量 K 跟一个矩阵 M 相乘,就等于这个矩阵中所有的元素与这个 K 相乘,结果还是一个矩阵,它的尾数跟相乘之前的尾数一样。

image.png

下面一个矩阵乘法就跟前面一个不一样,它是矩阵与矩阵之间的乘法,比如说a 和B  2个矩阵相乘。那么对于a b 的两个维度,包含要求,比如 a,是 R 乘 N 的维度,B 是它的行数要跟 a 的列数必须一致,行数必须是 N,在这个例子中,它的维度是 N 乘 C,由 R 乘 N 的矩阵,和 N 乘 C 的矩阵相乘之后,会获得一个新的矩阵,就是 R乘以C维度的矩阵。然后AB的元素,比如第i j的元素。即位于第 i行第 J 列的元素就等于 a 的第 I 行向量与 B 的第 J 行向量的点乘的结果。

image.png

相关文章
|
搜索推荐
|
C++ 容器
C++学习笔记_15 线性容器-vector容器 2021-05-12
C++学习笔记_15 线性容器-vector容器 2021-05-12
|
存储 算法 Cloud Native
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(上)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(上)
|
存储 SQL Cloud Native
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(中)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(中)
学习笔记: 线性代数-向量的定义
线性代数个人学习笔记
182 0
|
存储 编译器 C++
C++学习笔记(十四)——vector的模拟实现(二)
C++学习笔记(十四)——vector的模拟实现
C++学习笔记(十四)——vector的模拟实现(二)
|
存储 编译器 C++
C++学习笔记(十四)——vector的模拟实现(一)
C++学习笔记(十四)——vector的模拟实现
C++学习笔记(十四)——vector的模拟实现(一)
|
算法 C++
C++学习笔记(十五)——vector练习题
C++学习笔记(十五)——vector练习题
C++学习笔记(十五)——vector练习题
|
存储 算法 C++
C++学习笔记(十三)——vector
C++学习笔记(十三)——vector
C++学习笔记(十三)——vector