李沐-动手学深度学习(三)线性代数

2022-04-14  本文已影响0人  minlover

标量的长度就是其绝对值。

向量:

矩阵:

对于矩阵,一般用F范数(因为矩阵范数算起来比较麻烦)

一个矩阵是正定的,那个这个矩阵乘以任何一个列向量和一个行向量,一定大于等于0。

置换矩阵,P_ij=1,当且仅当j是i的一个置换

特征向量是不被矩阵改变方向的向量(绿色的方向就不会被改变)

不是每个矩阵都有特征向量

【编程部分】

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

两个矩阵的按元素乘法称为哈达玛积(Hadamard product)(数学符号⊙)。

非降维求和:

sum_A= A.sum(axis=1,keepdims=True)

A/sum_A

矩阵乘法  :

向量的点积(Dot Product):按元素乘然后求和

矩阵-向量积(matrix-vector product)

矩阵-向量积(matrix-vector product)


范数

L2范数是向量元素平方和的平方根

在深度学习中,更经常地使用L2范数的平方。 但也经常遇到L1范数,它表示为向量元素的绝对值之和:

L2范数和L1范数都是更一般的Lp范数的特例:

矩阵的𝐗∈ℝ𝑚×𝑛F范数(Frobenius norm)是矩阵元素平方和的平方根(类似L2范数):


课后:

# 对于任意形状的张量X,len(X)是否总是对应于X特定轴的长度?这个轴是什么?

#回答:是的,总是第一维(最外层的长度)

Y= torch.arange(20*3).reshape(5,2,3,2)

print(len(Y))# 5


问答

1、torch区分行向量和列向量吗:

1维张量是行向量,列向量是一个矩阵。

可以用二维矩阵来区分,行向量就是行数为1;列数是一个变化的值,列向量是列数为1,行数是变化的值

2、copy和clone的区别(关于内存):

copy不一定复制内存,看深层还是浅层copy。

clone一定会复制内存。

上一篇 下一篇

猜你喜欢

热点阅读