魔王机器之心报道

如何入门线性代数?这里有一份Python线性代数讲义

这份讲义为初学者设计,涉及线性代数的基本概念、特殊矩阵及其应用,并提供了相应代码和图示。

人工智能的基础是数学,线性代数又是其中的重要部分。然而,对于数学基础不好的人来说,「线性代数」是一门非常抽象的课程。如何学习线性代数呢?这个 GitHub 项目介绍了一份入门级线性代数课程讲义,适合大学生、程序员、数据分析师、算法交易员等,使用的代码用 Python 语言写成。

项目地址:https://github.com/MacroAnalyst/Linear_Algebra_With_Python

讲义大致基于以下线性代数教科书:

  • 1. Linear Algebra and Its Applications 作者:Gilbert Strang(此前,我们曾介绍过他的最新线性代数课程

  • 2. Linear Algebra and Its Applications 作者:David Lay

  • 3. Introduction to Linear Algebra With Applications 作者:DeFranza、Gagliardi

  • 4. Linear Algebra With Applications 作者:Gareth Williams

该讲义为初学者设置,不过它对略有线性代数和微积分知识的人也有帮助。学习者应具备 Python、NumPy、Matplotlib、SymPy 的基础知识(3 天的训练足够了)。

为了使大家更容易地理解代码,讲义中涉及的所有代码均以直观的方式写成,而没有选择高效或专业的代码风格。

项目作者表示:这些讲义将为学习者提供数据学习、经济计量学、数学统计学、控制论等严重依赖线性代数的学科最需要的基础知识。耐心学习完之后,你将更好地掌握线性代数的基本概念,接下来就可以学习特殊矩阵及其应用。

讲义内容

这份讲义共包含 19 个章节,学习者可以使用 Jupyter NBViewer 打开 notebook,或者直接下载学习。

  • 第一讲:线性方程系统

  • 第二讲:基础矩阵代数

  • 第三讲:行列式

  • 第四讲:LU 分解

  • 第五讲:向量运算

  • 第六讲:线性组合

  • 第七讲:线性无关

  • 第八讲:向量空间与子空间

  • 第九讲:基与维度

  • 第十讲:行空间、列空间与零空间

  • 第十一讲:线性变换

  • 第十二讲:特征值与特征向量

  • 第十三讲:对角化

  • 第十四讲:动力系统的应用

  • 第十五讲:内积与正交

  • 第十六讲:Gram-Schmidt 正交化过程与 QR 分解

  • 第十七讲:对称矩阵与二次型

  • 第十八讲:奇异值分解

  • 第十九讲:多变量正态分布


打开对应的 notebook 后,学习者可以看到对线性代数基本概念的讲解,以及代码和图示等。以第十二讲「特征值与特征向量」为例,下图展示了其几何直观图:

特征向量与特征值的几何图示。在线性变换前后方向相同的向量即为特征向量,其长度比为特征值。
理论线性代数Python
1
相关数据
奇异值分解技术

类似于特征分解将矩阵分解成特征向量和特征值,奇异值分解(singular value decomposition, SVD)将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过分解矩阵,我们可以发现矩阵表示成数组元素时不明显的函数性质。而相比较特征分解,奇异值分解有着更为广泛的应用,这是因为每个实数矩阵都有一个奇异值分解,但未必都有特征分解。例如,非方阵型矩阵没有特征分解,这时只能使用奇异值分解。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

对称矩阵技术

在线性代数中,对称矩阵(symmetric matrix)是一个方形矩阵,其转置矩阵和自身相等。对称矩阵中的右上至左下方向元素以主对角线(左上至右下)为轴进行对称。

推荐文章
暂无评论
暂无评论~