向量
向量与向量组
向量的定义与运算
维向量定义:个数构成的一个有序数组称为一个维向量,记为,并称为维行向量,为维列向量,为向量的个分量。
若与都是维向量,且对应元素相等,则。
。
。
向量就是代码里的「一维数组」,更是机器学习里「特征向量」和「嵌入(embedding)」的数学本体。一条样本的所有特征排成 就是一个 维向量;NLP 里把一个词映射成的 word embedding、推荐系统里的用户/物品向量,都是高维向量。向量加法 和数乘 是逐分量操作,对应 NumPy 的广播运算 a + b、k * a,硬件上能 SIMD/GPU 并行——这种「线性运算」的高效性正是深度学习能跑得动的底层原因之一。
向量说白了就是「一串有顺序的数」,比如 是一个 3 维向量。几何上,2 维/3 维向量就是从原点出发的一支箭头;维数高了画不出来,但运算规则不变。它的两种基本运算都很直观:相加是对应位置的数分别相加(箭头首尾相接),数乘 是每个分量都乘以 (把箭头拉长 倍, 还会反向)。行向量横着写、列向量竖着写(加转置 ),本质是同一组数。
向量组的线性概念
线性组合定义:个维向量以及个数,则向量就是向量组的线性组合。
线性表出定义:若向量能表示成向量组的线性组合,则存在个数,使得,则成向量能被向量组线性表出。否则不能被线性表出。
线性相关定义:对个维向量,存在一组不全为0的数,使得,则称线性相关。
含有零向量或成比例向量的向量组必然线性相关。
线性无关定义:对个维向量,不存在一组不全为0的数,使得,即仅当才成立,则称线性无关。
两个非零向量,不成比例向量的向量必然线性无关。
线性相关在机器学习里就是「特征冗余 / 多重共线性(multicollinearity)」,会让模型不稳定甚至无法求解。如果一组特征列线性相关,意味着某个特征能被其他特征精确线性表出,没带来新信息——线性回归的正规方程 会奇异(不可逆),最小二乘解不唯一。实践中常用 PCA、岭回归(L2 正则)或直接删冗余特征来缓解。判断一堆向量是否线性无关,本质就是看矩阵的秩是否等于向量个数,数值上通过 SVD 看奇异值是否接近 0。
线性相关说白了就是「这组向量里有"多余"的——其中某一个能用其他几个凑出来」;线性无关就是「谁都凑不出谁,各自带新方向」。判断标准是看 这个等式:如果只有全取 0( 全为 0)才能让它成立,就是无关;要是能找到一组不全为 0 的系数也让它等于 0,就是相关。直观例子: 和 成比例(一个是另一个的 2 倍),相关; 和 指向不同方向,无关。含零向量的组一定相关。
线性相关性
线性相关判定
- 向量组()线性相关的充要条件是向量组中至少有一个向量可由其他个向量线性表出。若线性无关的充要条件是向量组的任何一个向量都不能被其他个向量线性表出。
- 向量组线性无关,而线性相关,则可由线性表示,且表示方法唯一。
- 向量组可由向量组线性表示,且,则线性相关。(以少表多,多的相关)若向量组可由向量组线性表示,线性无关,则。
- 设个维向量,其中,,,则向量组线性相关的充要条件是齐次线性方程有非零解,其中,。个维向量线性无关的充要条件是齐次线性方程只有零解。
- 向量可由向量组表出,则向量组有解,即。否则则不能表出,则方程无解,
- 向量组存在一部分向量线性相关,则整个向量组线性相关。若线性无关,则任意一部分向量组线性无关。
- 设个维向量线性无关,则把这些向量中每个各任意添加个分量所得到的新向量组(维)也是线性无关的;如果线性相关,则每个各去掉相同的若干分量得到的新向量组也线性相关。(原来无关延长无关,原来相关缩短相关)
判定 4 是最实用的一条:「向量组线性相关 齐次方程 有非零解 矩阵不满秩」,把抽象的相关性彻底转化成了可计算的秩问题。所以代码里从不去凑系数 ,而是把向量拼成矩阵 ,求 rank(A)(NumPy 用 np.linalg.matrix_rank,底层是 SVD 数奇异值):秩等于向量个数就无关,否则相关。判定 3「以少表多,多的相关」是降维和编码的理论底线—— 个向量想被 个向量表出,它们必然相关,这正对应「 维空间装不下 个线性无关方向」。
这一节七条判定不用全背,记住一条主线就行:要判断一组向量相不相关,把它们排成矩阵做初等行变换(高斯消元),数一下「非零行」的个数(也就是秩)。秩等于向量个数 无关;秩小于个数 相关。其余几条是常用结论:①「部分相关则整体相关,整体无关则部分无关」(一颗老鼠屎坏一锅汤);②「以少表多,多的必相关」;③「无关组延长(加分量)还是无关,相关组缩短(去分量)还是相关」。配合例子理解比硬记顺口溜更牢。
极大线性无关组
概念
极大线性无关组定义:在向量组中,若存在部分满足:①线性无关;②向量组中任一向量()均可由线性表出,则称向量组为原向量组的极大线性无关组。
不包含无用约束方程的最简方程组的系数矩阵就是极大线性无关组。
向量组的极大线性无关组一般不唯一,只由一个零向量组成的向量组不存在极大线性无关组,一个线性无关向量组的极大线性无关组就是其本身。
极大线性无关组就是「用最少的向量代表整组信息」,思想和特征选择、降维、字典学习一脉相承。一组高度冗余的向量,它的极大无关组个数(=秩)才是真正的「内在维数」。PCA 做的事很类似:在所有方向里挑出几个线性无关的主方向,用它们的线性组合近似重建全部数据。极大无关组不唯一,对应着「基的选择不唯一」——同一个子空间可以用不同的基底张成,这也是为什么 PCA、QR、SVD 给出的基各不相同却都合法。
极大线性无关组 = 从一堆向量里挑出「最大的一撮互不冗余的向量」,要求满足两点:①挑出来的这撮自己线性无关;②原来组里任何一个向量都能用这撮凑出来。就像一个班里选出几个「代表」,既互相不重复,又能代言全班。关键点:代表团的人数是固定的(这就是秩),但具体选谁不唯一(可以有多套合法代表团)。如果原来那组本身就线性无关,那它的极大无关组就是它自己——全员都是代表,一个都不能少。
向量组秩
向量组构成矩阵的秩等于行向量组的秩等于列向量组的秩。
若通过初等行变换为,则的行向量组是等价向量组,任何对应的部分列向量组都具有同样的线性相关性。
若向量组均可由线性表出,则。
等价向量组
任何一个组都可以由其极大线性无关组来代表。
定义
设两个向量组和,若这两个向量组可以互相线性表出,则称其为等价向量组,记为。
具有的性质:
- (反身性)。
- ,则(对称性)。
- ,,则(传递性)。
向量组和其极大线性无关组是等价向量组。
判定
若,则向量组等价。
,可以由表出(只需要一个方向的表出),则向量组等价。
(为可逆矩阵),通过初等行列变换能转换为。
与等价矩阵区别
对于矩阵而言,若,则同型且。
对于向量组而言,若,则同维(行数相同)且。
等价向量组跟等价矩阵不同,等价矩阵必然完全一致,而等价向量组只要其极大线性无关组一致,可以多一些其他线性相关向量。
向量空间
基本概念
若是维向量空间中的线性无关的有序向量组,则任意向量均可由线性表出,记为,类似一个极大线性无关组,则称有序向量组为的一个基,基向量的个数为向量空间的维数,而为向量在基下的坐标,或称为的坐标行列向量。
「基」就是坐标系,「坐标」就是一个向量在这套坐标系下的表示——同一个向量换了基,坐标就变了,这正是机器学习里「特征表示」和「嵌入空间」的数学内核。标准基 对应我们日常的 轴坐标;而 PCA、傅里叶变换、小波变换本质都是「换一组更好的基」,让数据在新坐标下更稀疏或更易处理。深度学习里的 embedding 层学的也是一组基,把离散符号映射到连续向量空间。一个向量在某基下的坐标,计算上就是解线性方程组 求系数 。
「基」就是一套量尺/坐标轴,「维数」是轴的根数,「坐标」是某个向量沿各根轴各走了多少。比如平面上选 、 当基,向量 的坐标就是 ——沿第一根轴走 3、第二根轴走 2。基的要求是「线性无关 + 能表出空间里所有向量」,其实就是上一节极大无关组的角色。关键认知:坐标依赖于你选的基,换一套基(换坐标轴),同一个向量的坐标数字就会变,但向量本身(那支箭头)没变。
基变换与坐标变换
若和是中两个基,且有关系:,则这个式子称为基到基的基变换公式,矩阵就是基到基的过渡矩阵,可逆,的第列就是在基下的坐标列向量。
在基和基下坐标分别为,,即。又是基到基的过渡矩阵,则,则,从而或,这个就是坐标变换公式。
过渡矩阵 就是「坐标系之间的换算器」,在图形学、机器人、计算机视觉里天天用——它本质是一次基变换(change of basis)。3D 图形渲染里把物体从局部坐标变到世界坐标再变到相机坐标,每一步都是乘一个过渡矩阵;机器人学里不同关节坐标系之间的转换同理。注意公式 里基怎么变、坐标怎么反着变(协变 vs 逆变),这点在张量分析里很关键。PCA 降维其实就是构造一个过渡矩阵(特征向量矩阵),把数据从原始基旋转到主成分基;矩阵相似 也正是「同一个线性变换在不同基下的不同矩阵表示」。
过渡矩阵 干的事:告诉你从一套坐标轴「换算」到另一套坐标轴该怎么算。记住一个反差就够了:基(坐标轴)按 变过去,坐标(数字)却要按 反着变。打个比方——把量尺从「厘米」换成「米」(尺子放大 100 倍),同一段长度的读数反而要除以 100。所以基「放大」时坐标「缩小」,方向相反。 的第 列就是新基里第 个向量在旧基下的坐标,而且 一定可逆(因为两套都是合法的基)。