知乐空间

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

易混淆的基本概念

标量:一个数字

向量:行数/列数

矩阵:二维数组

张量:一般指多维(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时,范数实际上不是范数。大多数引用范数的地方都会强调它不是真范数,用来表示这个向量中有多少非零元素。然而,它实际上非常有用,并在机器学习的正则化和稀疏编码中有应用。举个例子说:判断用户名和密码是否正确,用户名和密码是两个向量,什么时候,登录成功,什么时候,用户名和密码有错误,什么时候,用户名和密码都错了。我们知道是这样的,希望以后看到相关内容的时候就知道了。

当P无限时,范数也称为无限范数和最大范数。表示向量中元素的最大绝对值。

矩阵范数

对于矩阵范数,我们就来说说Frobenius范数。简单来说就是矩阵中所有元素的平方和,还有其他定义方法,如下,其中共轭转置,tr是迹;表示的奇异值:

奇异值分解

我们熟悉的特征分解矩阵:奇异分解与之类似:矩阵的行和列的值为,正交矩阵,对角矩阵和正交矩阵,矩阵对角上的元素称为奇异值,其中非零奇异值为或的特征值的平方根;称为的左奇异向量是特征向量;的右奇异向量是特征向量。因为奇异矩阵是不能求逆的,而求逆是研究矩阵的一个非常好的方法,所以考虑下一个最好的方法,伪逆,它最接近矩阵求逆。把矩阵变成最舒服的形式去研究其他性质。伪逆把矩阵变成主对角线上有那么多行列的非零元素,矩阵中的其他元素都是零,这也是统计学中常见的方法,在机器学习中非常有用。

定义

对角矩阵:只有主对角线包含非零元素;

单位向量:具有单位范数的向量;

正交矢量:如果两个矢量都不为零,则夹角为90度;

正交性:范数为1的互正交性;

正交矩阵:行向量和列向量分别与标准正交;

特征分解:将矩阵分解为特征向量和特征值;

和特征向量:的和;

正定、半正定、负定:特征值均为正、非负、负。

摘要

线性代数的一大特点是“一大串”,知识体系统一,相互联系紧密,而且非常漂亮。它在深度学习中有重要的应用,我们应该学好它。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: