深度学习中的线性代数 矩阵的范数怎么求


深度学习中的线性代数 矩阵的范数怎么求

文章插图


易混基本概念
  • 标量:单独一个数
  • 向量:一行/列数
  • 矩阵:二维数组
  • 张量:一般指多维(0 维张量是标量,1 维张量是向量,2 维张量是矩阵)
  • 转置:沿主对角线折叠
在 Numpy 中定义矩阵的办法,以及进行转置的办法:
import numpy as npa = np.array([[1, 2, 3]资源网,               [4, 5, 6]])a = a.reshape(3, 2)print(a)[[1 2] [3 4] [5 6]]复制代码根本算数关系与高级数学中矩阵相乘内容一致:
a = np.array([[1, 2],              [3, 4]])b = np.array([[5, 6],              [7, 8]])print(a * b)print(a.dot(b))print(np.dot(a, b))print(np.linalg.inv(a))# 星(*)[[ 5 12] [21 32]]# 点乘[[19 22] [43 50]]# 点乘[[19 22] [43 50]]# 逆运算[[-2.   1. ] [ 1.5 -0.5]]复制代码范数范数是一个函数,用于权衡长度大小的一个函数 。数学上,范数包含向量范数和矩阵范数 。
向量范数我们先讨论向量的范数 。向量是有方向有大小的,这个大小就用范数来表现 。
深度学习中的线性代数 矩阵的范数怎么求

文章插图


严厉意义上来说,范数是满足下列性质的任意函数:
深度学习中的线性代数 矩阵的范数怎么求

文章插图


  • 当 p=2 时,范数(,可简化写成)称为欧几里得范数,可以盘算距离 。但是我们看到这里有一个开方运算,因此为了去掉这个开方,我们有可能求的是范数的平方,即范数,这就会减少一次开放运算,在后面提到的丧失函数中,范数和平方范数都供给了雷同的优化目的,因此平资源网方范数更常用,盘算起来也更简略,可以通过盘算,这速度就很快了 。
  • 当 p=1 时,范数()是向量各元素绝对值之和,在机器学习范畴,对于区分 0 和非 0 来说,范数比范数更好用 。
  • 当 p=0 时,范数实际上不是一个范数,大多数提到范数的处所都会强调说这不是一个真正意义上的范数,用来表现这个向量中有多少个非 0 元素,但是实际上它是非常有用的,在机器学习中的正则化和稀少编码中有运用 。在一个例子中是这么说的:断定用户名和密码是否准确,用户名和密码是两个向量,时,则登录胜利,时,用户名和密码有一个毛病,时,用户名和密码都毛病 。我们知道有这么回事,在日后看到相干内容时知道就好了 。
  • 当 p 为无限大时,范数也被称为无限范数、最大范数 。表现向量中元素绝对值中最大的 。
矩阵范数对于矩阵范数,我们只聊一聊 Frobenius 范数,简略点说就是矩阵中所有元素的平方和再开方,还有其他的定义办法,如下,其中表现的共轭转置,tr为迹;表现的奇怪值:
深度学习中的线性代数 矩阵的范数怎么求

文章插图
【深度学习中的线性代数 矩阵的范数怎么求】

奇怪值分解我们熟习特点分解矩阵中:,奇怪分解与之相似:,其中矩资源网阵的行和列的值为、正交矩阵、对角矩阵、正交矩阵,矩阵对角线上的元素称为的奇怪值,其中非零奇怪值是或的特点值的平方根;称为的左奇怪向量,是的特点向量;称为的右奇怪向量,是的特点向量 。因为奇怪矩阵无法求逆,而求逆又是研讨矩阵的非常好的办法,因此斟酌退而求其次的办法,求伪逆,这是最接近矩阵求逆的,把矩阵化为最舒畅的情势去研讨其他的性质,伪逆把矩阵化为主对角线上有秩那么多的非零元素,矩阵中其他的元素都是零,这也是统计学中常用的办法,在机器学习中耶非常好用 。
定义