news 2026/5/30 22:41:42

线性代数 5:线性无关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
线性代数 5:线性无关

原文:towardsdatascience.com/linear-algebra-5-linear-independence-d350759debee?source=collection_archive---------4-----------------------#2024-03-21

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4d3d3691c84ee497c3611cd1a8245093.png

Ax = 0 和证明一组向量线性无关

https://medium.com/@t9nz?source=post_page---byline--d350759debee--------------------------------https://towardsdatascience.com/?source=post_page---byline--d350759debee-------------------------------- tenzin migmar (t9nz)

·发表于 Towards Data Science ·阅读时间 6 分钟·2024 年 3 月 21 日

序言

欢迎回到我关于线性代数基础的系列的第五篇文章,线性代数是机器学习背后的基础数学。在上一篇 文章中,我讲解了矩阵方程 Ax =b。本篇文章将探讨线性无关这一重要概念,并讨论它与我们迄今为止学到的内容的关系。

本文最好与 David C. Lay、Steven R. Lay 和 Judi J. McDonald 合著的《线性代数及其应用》一书一起阅读。请将本系列视为一份辅助资源。

欢迎分享您的想法、问题和批评。

ℝⁿ 中的线性无关

之前,我们学习了矩阵乘法和形如Ax=b的矩阵方程。我们讲解了当b是矩阵A中一组向量(列)的线性组合时,Ax=b有解x

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/11dcd81a10712976ba1c5b355fb8f55c.png

在线性代数中,有一个特殊的矩阵方程Ax=0,我们称之为齐次线性系统。Ax=0总是至少有一个解,其中x=0,这个解称为平凡解,因为很容易证明任何矩阵A0向量x相乘都会得到0向量。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/df93b59487211315eb5ddc8763d6c2ce.png

我们真正关心的是学习矩阵方程Ax=0是否仅有平凡解。如果Ax=0只有平凡解x= 0,那么构成矩阵A列的向量集合是线性无关的。换句话说:v₁ + c₂v₂ + … + cₐvₐ = 0,其中 c₁, c₂, …, cₐ必须全为 0。另一种思考方式是,这个集合中的任何一个向量都不能表示为其他向量的线性组合。

另一方面,如果存在解使得x≠ 0,那么该向量集合是线性相关的。由此可得,该集合中至少有一个向量可以表示为其他向量的线性组合:c₁v₁ + c₂v₂ + … + cₐvₐ = 0,其中不是所有的 c₁, c₂, …, cₐ都为 0。

一个简洁且直观的思考线性无关概念的方式是:你能否找到一组权重,将一组向量的线性组合压缩到原点?如果一组向量是线性无关的,那么唯一能应用到每个向量的权重是 0,才能使得线性组合等于零向量。如果这些向量是线性相关的,那么就存在至少一组非零权重,使得向量的线性组合等于零。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4d3d3691c84ee497c3611cd1a8245093.png

判断线性无关性

对于只有一个向量的集合,判断线性无关性是非常简单的。如果该向量是零向量,则它是线性相关的。这是因为任何非零权重乘以零向量都会得到零向量,因此对于*Ax=0存在无数解。如果该向量不是零向量,则它是线性无关的,因为任何向量乘以零都会得到零向量。

如果一个集合包含两个向量,当且仅当其中一个向量是另一个向量的倍数时,向量集合是线性相关的。否则,它们是线性无关的。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6963ce12226b1c0a8319dc6b31b4d01e.png

对于包含超过两个向量的集合,需要进行更多的计算。令这些向量构成矩阵A的列,并对矩阵A进行行约简,得到简化行阶梯形矩阵。如果简化行阶梯形矩阵的每一列都有一个主元,则该向量集合是线性无关的。否则,该向量集合是线性相关的。为什么会这样呢?考虑将矩阵行约简为简化行阶梯形矩阵的过程。我们执行一系列基本的行变换,如将行乘以常数、交换行、将一行加到另一行,以便得到一个更简单形式的矩阵,从而使其基本属性变得清晰,同时解空间得以保持。

在线性独立的情况下,矩阵中每一列有主元,表明每个向量在至少一个部分的线性组合方程中起着主导作用。如果每个向量都独立地贡献于线性系统,那么没有任何一个向量可以表示为其他向量的线性组合,因此系统是线性独立的。相反,如果简化行阶梯形矩阵中有一列没有主元,意味着相应的变量(或向量)是依赖变量,可以通过其他向量来表示。换句话说,系统中存在冗余,表明向量之间存在线性依赖性。

总结这个概念的一种简洁方法是使用矩阵的秩。秩是矩阵中线性独立列的最大数目,因此可以推导出,秩等于简化行阶梯形矩阵中的主元个数。

如果矩阵的列数等于秩,那么矩阵是线性独立的。否则,矩阵是线性相关的。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/17ac6310fd0aa55970cd8158d56b60c0.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/c351975238f19cabce9ef5fa7b90eab2.png

使用 Numpy 进行线性独立性检测

尝试手工计算是更好理解线性独立性的有价值练习,但更实用的方法是利用 Numpy 库中内置的功能,既可以测试线性独立性,也可以推导给定矩阵的Ax=0的解空间。

我们可以通过矩阵的秩来检查一个矩阵是否线性独立。如前所述,矩阵线性独立当且仅当矩阵的秩等于列数,因此我们的代码将围绕这个标准编写。

以下代码生成Ax=0的向量解空间。

结论

线性独立性,虽然是线性代数的基础,但在机器学习应用中也起着基石作用。线性独立性在特征选择和降维技术中至关重要,例如主成分分析(PCA),它操作的是数据集中各特征之间的共线性或线性依赖性。

你将在机器学习中继续看到线性独立性的重要性!

摘要

注意事项

除非另有说明,否则所有图片均由作者创作。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/74c2602358c7142bde6453236c11dad5.png

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 20:20:51

深度剖析来了!提示工程架构师深度剖析Agentic AI国际化应用

Agentic AI国际化应用深度剖析:从架构设计到落地实践 一、标题选项 《Agentic AI国际化应用深度剖析:从架构设计到落地实践》《拆解Agentic AI的全球化能力:如何让智能体“懂”不同语言与文化?》《Agentic AI国际化实战&#xff1…

作者头像 李华
网站建设 2026/5/28 23:28:23

AI应用架构师趋势洞察:AI大模型在科研中的架构适配与应用

AI应用架构师趋势洞察:AI大模型在科研中的架构适配与应用 一、引言:当大模型遇到科研,会发生什么? 1. 一个“反常识”的问题:科研需要大模型吗? 2021年,DeepMind的AlphaFold2解决了蛋白质结构预…

作者头像 李华
网站建设 2026/5/28 21:12:56

桌面Overleaf终极指南:解锁高效离线LaTeX写作新体验

桌面Overleaf终极指南:解锁高效离线LaTeX写作新体验 【免费下载链接】NativeOverleaf Next-level academia! Repository for the Native Overleaf project, attempting to integrate Overleaf with native OS features for macOS, Linux and Windows. 项目地址: h…

作者头像 李华
网站建设 2026/5/28 12:34:13

ARM Cortex-M开发入门必看:基础架构与工具链配置

ARM Cortex-M 开发入门:从零理解架构与构建第一个固件 你有没有遇到过这样的情况——手握一块STM32开发板,烧录程序时却卡在“No target connected”?或者写好中断服务函数,却发现永远进不去?更别提第一次看到 start…

作者头像 李华
网站建设 2026/5/28 12:34:19

基于php的校园交易平台[PHP]-计算机毕业设计源码+LW文档

摘要:本文围绕基于PHP的校园交易平台展开研究与开发。通过深入分析校园内二手交易、商品交换等需求,明确了平台的功能架构。采用PHP作为后端开发语言,结合MySQL数据库进行数据存储与管理,利用前端技术实现友好界面交互。详细阐述了…

作者头像 李华