标量、向量、矩阵、张量及向量和矩阵范数简介

本文深入探讨了标量、向量、矩阵及张量的概念及其相互间的关系,详细解析了向量和矩阵的各种范数计算方法,是理解线性代数和机器学习数学基础的必备读物。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标量、向量、矩阵、张量之间的联系

标量(scalar)
一个标量表示一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。

向量(vector)
​一个向量表示一组有序排列的数。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称。当我们需要明确表示向量中的元素时,我们会将元素排列成一个方括号包围的纵柱:
x=[x1x2⋮xn] \boldsymbol{x}=\left[\begin{array}{c}{x_{1}} \\ {x_{2}} \\ {\vdots} \\ {x_{n}}\end{array}\right] x=x1x2xn
矩阵(matrix)
​矩阵是具有相同特征和纬度的对象的集合,表现为一张二维数据表。其意义是一个对象表示为矩阵中的一行,一个特征表示为矩阵中的一列,每个特征都有数值型的取值。通常会赋予矩阵粗体的大写变量名称,比如AAA

张量(tensor)
​在某些情况下,我们会讨论坐标超过两维的数组。一般地,一个数组中的元素分布在若干维坐标的规则网格中,我们将其称之为张量。使用 AAA 来表示张量“A”。张量AAA中坐标为(i,j,k)(i,j,k)(i,j,k)的元素记作A(i,j,k)A_{(i,j,k)}A(i,j,k)

四者之间关系

标量是0阶张量,向量是一阶张量。举例:
​标量就是知道棍子的长度,但是你不会知道棍子指向哪儿。
​向量就是不但知道棍子的长度,还知道棍子指向前面还是后面。
​张量就是不但知道棍子的长度,也知道棍子指向前面还是后面,还能知道这棍子又向上/下和左/右偏转了多少。

向量和矩阵的范数归纳

向量的范数(norm)
​ 定义一个向量为:a⃗=[−5,6,8,−10]\vec{a}=[-5, 6, 8, -10]a=[5,6,8,10]。任意一组向量设为x⃗=(x1,x2,...,xN)\vec{x}=(x_1,x_2,...,x_N)x=(x1,x2,...,xN)。其不同范数求解如下:

  • 向量的1范数:向量的各个元素的绝对值之和,上述向量a⃗\vec{a}a的1范数结果就是:29。

∥x⃗∥1=∑i=1N∣xi∣ \Vert\vec{x}\Vert_1=\sum_{i=1}^N\vert{x_i}\vert x1=i=1Nxi

  • 向量的2范数:向量的每个元素的平方和再开平方根,上述a⃗\vec{a}a的2范数结果就是:15。

∥x⃗∥2=∑i=1N∣xi∣2 \Vert\vec{x}\Vert_2=\sqrt{\sum_{i=1}^N{\vert{x_i}\vert}^2} x2=i=1Nxi2

  • 向量的负无穷范数:向量的所有元素的绝对值中最小的:上述向量a⃗\vec{a}a的负无穷范数结果就是:5。

∥x⃗∥−∞=min⁡∣xi∣ \Vert\vec{x}\Vert_{-\infty}=\min{|{x_i}|} x=minxi

  • 向量的正无穷范数:向量的所有元素的绝对值中最大的:上述向量a⃗\vec{a}a的正无穷范数结果就是:10。

∥x⃗∥+∞=max⁡∣xi∣ \Vert\vec{x}\Vert_{+\infty}=\max{|{x_i}|} x+=maxxi

  • 向量的p范数:

Lp=∥x⃗∥p=∑i=1N∣xi∣pp L_p=\Vert\vec{x}\Vert_p=\sqrt[p]{\sum_{i=1}^{N}|{x_i}|^p} Lp=xp=pi=1Nxip

矩阵的范数

定义一个矩阵A=[−1,2,−3;4,−6,6]A=[-1, 2, -3; 4, -6, 6]A=[1,2,3;4,6,6]。 任意矩阵定义为:Am×nA_{m\times n}Am×n,其元素为 aija_{ij}aij

矩阵的范数定义为

∥A∥p:=sup⁡x≠0∥Ax∥p∥x∥p \Vert{A}\Vert_p :=\sup_{x\neq 0}\frac{\Vert{Ax}\Vert_p}{\Vert{x}\Vert_p} Ap:=x̸=0supxpAxp

当向量取不同范数时, 相应得到了不同的矩阵范数。

  • 矩阵的1范数(列范数):矩阵的每一列上的元

    素绝对值先求和,再从中取个最大的,(列和最大),上述矩阵AAA的1范数先得到[5,8,9][5,8,9][5,8,9],再取最大的最终结果就是:9。
    ∥A∥1=max⁡1≤j≤n∑i=1m∣aij∣ \Vert A\Vert_1=\max_{1\le j\le n}\sum_{i=1}^m|{a_{ij}}| A1=1jnmaxi=1maij

  • 矩阵的2范数:矩阵ATAA^TAATA的最大特征值开平方根,上述矩阵AAA的2范数得到的最终结果是:10.0623。

∥A∥2=λmax(ATA) \Vert A\Vert_2=\sqrt{\lambda_{max}(A^T A)} A2=λmax(ATA)

其中, λmax(ATA)\lambda_{max}(A^T A)λmax(ATA)ATA​A^T A​ATA 的特征值绝对值的最大值。

  • 矩阵的无穷范数(行范数):矩阵的每一行上的元素绝对值先求和,再从中取个最大的,(行和最大),上述矩阵AAA的行范数先得到[6;16][6;16][616],再取最大的最终结果就是:16。
    ∥A∥∞=max⁡1≤i≤m∑j=1n∣aij∣ \Vert A\Vert_{\infty}=\max_{1\le i \le m}\sum_{j=1}^n |{a_{ij}}| A=1immaxj=1naij

  • 矩阵的核范数:矩阵的奇异值(将矩阵svd分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩——低秩),上述矩阵A最终结果就是:10.9287。

  • 矩阵的L0范数:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏,上述矩阵AAA最终结果就是:6。

  • 矩阵的L1范数:矩阵中的每个元素绝对值之和,它是L0范数的最优凸近似,因此它也可以表示稀疏,上述矩阵AAA最终结果就是:22。

  • 矩阵的F范数:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的优点在于它是一个凸函数,可以求导求解,易于计算,上述矩阵A最终结果就是:10.0995。

∥A∥F=(∑i=1m∑j=1n∣aij∣2) \Vert A\Vert_F=\sqrt{(\sum_{i=1}^m\sum_{j=1}^n{| a_{ij}|}^2)} AF=(i=1mj=1naij2)

  • 矩阵的 p范数

∥A∥p=(∑i=1m∑j=1n∣aij∣p)p \Vert A\Vert_p=\sqrt[p]{(\sum_{i=1}^m\sum_{j=1}^n{| a_{ij}|}^p)} Ap=p(i=1mj=1naijp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cpp编程小茶馆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值