【老计带你懂线性代数】07:线性相关、基与维度,数据到底有几个自由度

发布时间:2026/10/16 9:30:03
【老计带你懂线性代数】07:线性相关、基与维度,数据到底有几个自由度 【老计带你懂线性代数】07线性相关、基与维度数据到底有几个自由度开头一个关于多余的问题先看一个AI里天天遇到的问题。假设一份数据里有三列特征身高厘米、身高英寸、体重。你发现前两列其实是一回事身高英寸完全能由身高厘米换算出来。那这三列里真正独立的信息只有两个身高、体重有一列是多余的。AI里这种多余到处都是。几百个特征里很多是重复的、能被别人凑出来的比如一个电商用户的累计消费和平均每单消费乘以订单数其实高度相关。搞清楚一堆向量里到底有几个是真正独立的、有几个是多余的就是这一篇的主题。它直接关系到一个核心问题数据能不能压缩、能压到几维也就是降维的根基。这背后是三个环环相扣的概念线性相关、基、维度。它们听着抽象其实都在回答同一个朴素问题这堆数据里到底有几样东西是真正说了算的。线性相关与无关有没有冗余先讲最核心的概念线性相关和线性无关。用大白话说如果一组向量里有某个向量能被其他向量组合加减和缩放出来那这组向量就是线性相关的意思是有冗余、有多余的。反过来如果谁都没法被别人凑出来、每个都提供了独一无二的信息就是线性无关的意思是没冗余、个个都不可替代。回到开头的例子身高厘米和身高英寸线性相关一个能换算出另一个纯冗余而身高和体重线性无关谁也换算不出谁是两个独立的信息。打个比方一个团队里如果有个人的活别人完全能顶替他的贡献能被其他人凑出来那他就是冗余的线性相关如果每个人都有别人替代不了的独特技能这个团队就没有冗余线性无关。线性无关就是一组向量里人人都不可替代。为什么这个概念在AI里重要因为线性相关的特征是冗余的去掉它们不损失信息还能减少维度、降低计算、缓解过拟合。找出并去掉冗余正是降维要干的核心事情之一。基撑起整个空间的最小骨架理解了线性无关基就好懂了。基是一组线性无关的向量它们能够组合出整个空间里的任何一个向量。说白了基是空间的最小骨架用最少的、互不冗余的向量搭起整个空间。二维空间里前面讲过的 [1,0] 和 [0,1] 就是一组基叫标准基任何二维向量都能由它俩组合出来。但基不是唯一的任何两个线性无关的二维向量都能当基只是标准基最方便。基的意义在于它是描述一个空间最经济的方式不多一个无冗余、不少一个够用。空间里的每个向量都可以唯一地表示成基向量的组合这组组合系数就是这个向量在这组基下的坐标。换一组基等于换一个坐标系去看同样的数据这个思想在降维里特别关键PCA本质就是给数据换一组更好的基。维度与秩到底有几个独立方向维度就是一个空间的基里有几个向量也就是这个空间有几个独立的方向、几个自由度。二维空间的基有2个向量所以是2维三维空间是3维。维度回答的是这个空间有几个真正独立的方向。而秩是针对一个矩阵或一组向量说的指这组向量里有几个是线性无关的也就是它们实际张成的空间有几维。秩是衡量一堆向量里有多少真正独立的信息的指标。回到开头三列特征的例子虽然有3列但因为有一列冗余这个数据矩阵的秩是2说明它实际只占据了一个二维的空间。秩小于特征数就意味着数据有冗余、有压缩的余地。打个比方一份看着有100个特征的数据如果秩只有10说明这100个特征里真正独立的信息只有10个方向剩下90个都是这10个凑出来的。那你完全可以只用10个维度来表示它几乎不丢信息。这就是降维的底气。AI里的核心数据的内在维度与降维现在把这些概念汇聚到AI最实际的地方这也是本篇的落点。现实中的高维数据往往有一个远小于它表面维度的内在维度。一张1000维的人脸图片看起来是1000维但人脸的变化其实是有限的脸型、表情、光照、角度等少数几个因素它真正的自由度可能只有几十个。也就是说这些数据虽然摊在1000维空间里实际上只挤在其中一个几十维的低维面上。这就是为什么高维数据能降维而几乎不丢信息因为它本来就没占满那么多维度大量维度是冗余的、相关的。找出数据真正独立的那几个方向相当于找一组更好的基把数据在这几个方向上重新表示就完成了降维。打个比方一群人看似站在一个巨大的三维大厅里高维可你仔细一看他们其实全都站在大厅中央的一块地毯上低维的面。既然大家都在这块地毯上你就没必要用整个三维坐标来记录每个人只用地毯上的二维坐标就够了。降维就是发现这块地毯、然后改用地毯的坐标。现实数据大多如此摊在高维、实际挤在低维。这个洞察是PCA、流形学习、自编码器等一切降维方法的根本前提。理解了它你就懂了降维为什么可能、为什么有效。第10篇讲PCA时我们会看到它具体怎么找出这些独立方向。顺便点破一个很多人模糊的地方换一组基到底有什么用为什么降维要换基。同一份数据用不同的基去描述繁简可能天差地别。还拿那块地毯打比方如果你非要用大厅的东西南北上下三个方向去记录地毯上每个人的位置就得用三个坐标还其中一个垂直方向永远接近某个固定值、纯属浪费。可如果你换成沿着地毯本身的两个方向作为基只用两个坐标就够了第三个维度直接消失。数据没变只是换了个更贴合它内在结构的坐标系冗余的维度就自动暴露、可以扔掉了。这就是换基的威力也是降维的精髓不是硬删特征而是换一个聪明的视角让冗余无处遁形。PCA做的正是这件事它自动帮你找到那组最贴合数据、最能暴露冗余的基然后只保留最重要的几个方向。理解了这层你对降维的认识就从删列上升到了换坐标系看数据这是本质的一步。输入和输出长什么样输入一组向量或一个矩阵每列或每行是一个向量。输出这组向量是否线性相关、矩阵的秩有几个独立方向。NumPy里用np.linalg.matrix_rank直接算秩。上代码判断冗余、算秩、看内在维度# 依赖pip install numpyimportnumpyasnp# 三列特征:身高cm、身高inch(cm/2.54)、体重。前两列线性相关(冗余)height_cmnp.array([170,180,165,175])height_inchheight_cm/2.54weightnp.array([65,80,55,70])datanp.column_stack([height_cm,height_inch,weight])print(数据形状(4样本,3特征):,data.shape)print(矩阵的秩(真正独立的特征数):,np.linalg.matrix_rank(data))print(秩是2不是3,说明3列里有1列冗余(身高cm和inch是一回事))# 对比:三列完全独立的特征,秩应为3data2np.array([[170,65,3],[180,80,7],[165,55,2],[175,70,9],],dtypefloat)print(\n三列独立特征的秩:,np.linalg.matrix_rank(data2))# 一组向量线性相关的判断:v3 v1 v2,所以三者线性相关v1np.array([1,0,0])v2np.array([0,1,0])v3v1v2# v3能被v1 v2凑出来Mnp.column_stack([v1,v2,v3])print(\nv1 v2 v3的秩:,np.linalg.matrix_rank(M),(3个向量但秩为2,线性相关))# 模拟高维但内在维度低:1000维数据,其实由5个独立方向凑出来np.random.seed(0)basenp.random.randn(200,5)# 真正的5个独立方向mixnp.random.randn(5,1000)# 把5维随机映射到1000维high_dimbase mix# 得到看似1000维的数据print(\n高维数据形状:,high_dim.shape)print(它的秩(真正的内在维度):,np.linalg.matrix_rank(high_dim))print(表面1000维,内在其实只有5维,这就是能降维的原因)运行输出示例数据形状(4样本,3特征): (4, 3) 矩阵的秩(真正独立的特征数): 2 秩是2不是3,说明3列里有1列冗余(身高cm和inch是一回事) 三列独立特征的秩: 3 v1 v2 v3的秩: 2 (3个向量但秩为2,线性相关) 高维数据形状: (200, 1000) 它的秩(真正的内在维度): 5 表面1000维,内在其实只有5维,这就是能降维的原因运行你会看到身高cm和inch那份数据秩是2有冗余、三列独立的秩是3v3能被v1v2凑出来所以三者秩为2最后那份表面1000维的数据秩只有5说明它内在只有5个独立方向。最后这个例子最关键它证明了高维数据常常内在维度很低这正是降维能大幅压缩、还几乎不丢信息的根本原因。在AI里怎么用降维PCA等找出数据真正独立的方向扔掉冗余第10篇会讲透呼应《老计带你懂AI算法》的PCA篇。特征工程识别并去掉高度相关的冗余特征减少维度、缓解过拟合。理解模型容量数据的内在维度暗示了需要多复杂的模型、多少数据才够。矩阵是否可逆满秩无冗余的方阵才可逆这是下一篇的主题之一。常见误区线性相关不是有关系那么宽泛它特指一个能被其他向量线性组合出来是精确的冗余概念。秩小于特征数不是坏事它恰恰说明数据可压缩是降维的机会。内在维度低是普遍现象真实高维数据几乎都远没占满它的表面维度别被几百上千维吓到。小结与承上启下线性相关与无关有没有向量能被别人凑出来相关就是有冗余、无关就是个个不可替代。基一组无冗余又够用的向量撑起整个空间的最小骨架换一组基就是换个坐标系看数据。维度与秩维度是空间有几个独立方向秩是一堆向量里有几个真正独立的。AI核心高维数据往往内在维度很低挤在一块低维地毯上这是降维能起作用的根本前提而降维的精髓是换一组贴合数据的基、让冗余暴露出来。我们知道了秩能反映一堆向量有没有冗余、独不独立。顺着这个还有一组能给矩阵做体检的工具秩、行列式、可逆性能告诉你一个矩阵健不健康、能不能被撤销。下一篇我们讲这组诊断工具。我们下一篇见。延伸阅读3Blue1Brown《线性代数的本质》线性相关、基、张成空间https://www.3blue1brown.com/topics/linear-algebraNumPy 官方文档矩阵的秩np.linalg.matrix_rankhttps://numpy.org/doc/stable/reference/generated/numpy.linalg.matrix_rank.html数据的内在维度可按关键词Intrinsic Dimension、Manifold Hypothesis流形假设检索说明以上为官方与经典公开资料地址可能随版本调整如打不开可用标题搜索。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询