pytorch深度学习实战lesson6

第六课 线性代数

理论部分

pytorch深度学习实战lesson6_第1张图片

pytorch深度学习实战lesson6_第2张图片

pytorch深度学习实战lesson6_第3张图片

C是绿色的线,b是蓝色的线。

pytorch深度学习实战lesson6_第4张图片

pytorch深度学习实战lesson6_第5张图片

pytorch深度学习实战lesson6_第6张图片

pytorch深度学习实战lesson6_第7张图片矩阵的乘法相当于是空间上的扭曲。

pytorch深度学习实战lesson6_第8张图片

pytorch深度学习实战lesson6_第9张图片

pytorch深度学习实战lesson6_第10张图片

pytorch深度学习实战lesson6_第11张图片

pytorch深度学习实战lesson6_第12张图片

绿色的向量没有被改变方向,所以它是特征向量。

实践部分

标量

pytorch深度学习实战lesson6_第13张图片

向量

可以使用arrange函数生成一个张量,并通过张量的索引来访问任意元素。可以将张量视为标量值组成的列表。

pytorch深度学习实战lesson6_第14张图片

使用len函数可以查看向量的长度,使用向量.shape可以查看向量的大小。

pytorch深度学习实战lesson6_第15张图片

矩阵

使用第13行的语句创建一个20个元素,5行4列的矩阵;

使用矩阵.T可完成对矩阵的转置;

由16,17,18,19行我们可以看出,对称矩阵的转置还是它自己;

如果要创建多个矩阵,需要在reshape最前面加一个参数,这个参数就表示创建几个矩阵。

pytorch深度学习实战lesson6_第16张图片

给定具有相同形状的任何两个张量,任何按元素二元运算的结果都是相同形状的张量。

两个元素的按元素乘法叫哈达玛积。

当一个矩阵和一个标量相加或相乘时,其结果是对矩阵的所有元素都相加或相乘。

pytorch深度学习实战lesson6_第17张图片

当使用sum函数进行求和时,得到的结果必为标量。如27和29行。

还有一个重要的操作,就是按指定求和汇总张量的轴。

如第30,31行所示,意思是按第一个轴进行求和,也就是把“矩阵长度“2””扔掉,执行完后的矩阵就是(5,4)的了。相当于将两个矩阵按元素求和。

如第32,33行所示,意思是按第二个轴进行求和,也就是把“矩阵行数“5””扔掉,执行完后的矩阵就是(2,4)的了。相当于每个矩阵先按行求和,比如第一个矩阵求和后的第一个元素是40,也就是0+4+8+12+16,以此类推,第二个矩阵也如此操作。

如第34,35行所示,意思是按第二和三个轴进行求和,也就是把“矩阵行数的“5”和列数“4””扔掉,执行完后的矩阵就是(4)的了(只有四个元素了)。相当于两个矩阵按行求和,比如第一个矩阵求和后的第一个元素是40,也就是0+4+8+12+16,第二个矩阵求和后的第一个元素是140,也就是20+24+28+32+36,然后再把两个矩阵求和后的数求和,所以第一个数就是180=40+140.

pytorch深度学习实战lesson6_第18张图片

求均值的方法:

也可以按轴求均值,思想和上面一样。

pytorch深度学习实战lesson6_第19张图片

计算总和时保持轴数不变,因此可进行广播操作。

pytorch深度学习实战lesson6_第20张图片

累加求和;

pytorch深度学习实战lesson6_第21张图片

点积运算:

pytorch深度学习实战lesson6_第22张图片

矩阵乘向量:

pytorch深度学习实战lesson6_第23张图片

矩阵乘矩阵:(5*4)*(4*5)=(5*5)

pytorch深度学习实战lesson6_第24张图片

求平方根:(长度)

pytorch深度学习实战lesson6_第25张图片

pytorch深度学习实战lesson6_第26张图片

pytorch深度学习实战lesson6_第27张图片

你可能感兴趣的:(线性代数,矩阵,深度学习,python,pytorch)