阅读翻译Mathematics for Machine Learning之2.5 Linear Independence

关于:

  • 首次发表日期:2024-07-18
  • Mathematics for Machine Learning官方链接: https://mml-book.com
  • ChatGPT和KIMI机翻,人工润色
  • 非数学专业,如有错误,请不吝指出

2.5 线性无关( Linear Independence)

接下来,我们将仔细看看如何操作向量(向量空间的元素)。特别是,我们可以将向量相加并用标量相乘。闭合性(closure property)保证了我们最终得到的还是同一向量空间中的另一个向量。我们可以找到一组(set)向量,通过相加和缩放这些向量,我们可以表示向量空间中的每一个向量。这组向量称为基(base),我们将在第2.6.1节讨论它们。在此之前,我们需要介绍线性组合和线性无关的概念。

定义 2.11(线性组合)。考虑一个向量空间 \(V\) 和有限数量的向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k \in V\)。那么,每一个 \(\boldsymbol{v} \in V\) 形式如下的向量

\[\boldsymbol{v}=\lambda_1 \boldsymbol{x}_1+\cdots+\lambda_k \boldsymbol{x}_k=\sum_{i=1}^k \lambda_i \boldsymbol{x}_i \in V
\tag{2.65}
\]

其中 \(\lambda_1, \ldots, \lambda_k \in \mathbb{R}\) 是向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k\) 的线性组合。

零向量 \(\mathbf{0}\) 总是可以写成 \(k\) 个向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k\) 的线性组合,因为 \(\mathbf{0}=\sum_{i=1}^k 0 \boldsymbol{x}_i\) 总是成立的。接下来,我们对一组向量的非平凡(non-trivial)线性组合表示 \(\mathbf{0}\) 感兴趣,即向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k\) 的线性组合,其中不是所有系数 \(\lambda_i\) 在 (2.65) 中都为 0。

定义 2.12(线性(不)相关性)。让我们考虑一个向量空间 \(V\) 以及 \(k \in \mathbb{N}\) 和 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k \in V\)。如果存在一个非平凡的线性组合,使得 \(\mathbf{0}=\sum_{i=1}^k \lambda_i \boldsymbol{x}_i\) 且至少有一个 \(\lambda_i \neq 0\),则向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k\) 是线性相关的。如果只存在零解,即 \(\lambda_1=\ldots=\lambda_k=0\),则向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k\) 是线性无关的。

线性无关是线性代数中最重要的概念之一。直观上,一组线性无关的向量由没有冗余的向量组成,即,如果我们从集合中移除任何一个向量,我们将失去一些东西。在接下来的章节中,我们将更正式地讨论这一直觉。

注释 以下性质对于判断向量是否线性无关是有用的:

  • \(k\) 个向量要么线性相关,要么线性无关,没有第三种可能。

  • 如果向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k\) 中至少有一个是零向量 \(\mathbf{0}\),那么它们是线性相关的。如果有两个向量相同,也成立。

  • 向量 \(\left\{\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k : \boldsymbol{x}_i \neq \mathbf{0}, i=1, \ldots, k\right\}, k \geqslant 2\) 是线性相关的,当且仅当(至少)其中一个是其他向量的线性组合。特别地,如果一个向量是另一个向量的倍数,即 \(\boldsymbol{x}_i=\lambda \boldsymbol{x}_j, \lambda \in \mathbb{R}\),那么集合 \(\left\{\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k : \boldsymbol{x}_i \neq \mathbf{0}, i=1, \ldots, k\right\}\) 是线性相关的。

  • 检查向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k \in V\) 是否线性无关的一种实用方法是使用高斯消元法:将所有向量作为矩阵 \(\boldsymbol{A}\) 的列,并进行高斯消元,直到矩阵处于行阶梯形态(这里不需要行简化阶梯形态(reduced row-echelon form)):

    • 枢轴列(pivot columns)表示与其左边的向量线性无关的向量。注意,在构建矩阵时向量是有顺序的。
    • 非枢轴列可以表示为左边枢轴列的线性组合。例如,行阶梯形态
    \[\left[\begin{array}{lll}
    1 & 3 & 0 \\
    0 & 0 & 2
    \end{array}\right]
    \]

    告诉我们第一列和第三列是枢轴列。第二列是非枢轴列,因为它是第一列的三倍。

所有列向量是线性无关的当且仅当所有列都是枢轴列。如果至少有一个非枢轴列,则这些列(因此,相应的向量)是线性相关的。

注释 考虑一个向量空间 \(V\),其中有 \(k\) 个线性无关的向量 \(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_k\) 和 \(m\) 个线性组合

\[\begin{gathered}
\boldsymbol{x}_1=\sum_{i=1}^k \lambda_{i1} \boldsymbol{b}_i, \\
\vdots \\
\boldsymbol{x}_m=\sum_{i=1}^k \lambda_{im} \boldsymbol{b}_i .
\end{gathered}
\tag{2.7.0}
\]

定义 \(\boldsymbol{B}=\left[\boldsymbol{b}_1, \ldots, \boldsymbol{b}_k\right]\) 为一个矩阵,其列是线性无关的向量 \(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_k\),我们可以更紧凑地写成

\[\begin{gathered}
\boldsymbol{x}_j=\boldsymbol{B} \boldsymbol{\lambda}_j, \quad \boldsymbol{\lambda}_j=\left[\begin{array}{c}
\lambda_{1j} \\
\vdots \\
\lambda_{kj}
\end{array}\right], \quad j=1, \ldots, m,\\
\end{gathered}
\tag{2.7.1}
\]

我们想要检验 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_m\) 是否线性无关。为此,我们遵循检验 \(\sum_{j=1}^m \psi_j \boldsymbol{x}_j=\mathbf{0}\) 的一般方法。通过 (2.71),我们得到

\[\sum_{j=1}^m \psi_j \boldsymbol{x}_j=\sum_{j=1}^m \psi_j \boldsymbol{B} \boldsymbol{\lambda}_j=\boldsymbol{B} \sum_{j=1}^m \psi_j \boldsymbol{\lambda}_j .
\tag{2.7.2}
\]

这意味着当且仅当列向量 \(\left\{\boldsymbol{\lambda}_1, \ldots, \boldsymbol{\lambda}_m\right\}\) 是线性无关的, \(\left\{\boldsymbol{x}_1, \ldots, \boldsymbol{x}_m\right\}\) 是线性无关的。

注释:在一个向量空间 \(V\) 中,\(m\) 个由 \(k\) 个向量 \(\boldsymbol{x}_1, \ldots, \boldsymbol{x}_k\) 线性组合而成的向量是线性相关的,如果 \(m>k\)。

阅读翻译Mathematics for Machine Learning之2.5 Linear Independence的更多相关文章

  1. How do I learn mathematics for machine learning?

    https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning   How do I learn mathematics f ...

  2. machine learning(14) --Regularization:Regularized linear regression

    machine learning(13) --Regularization:Regularized linear regression Gradient descent without regular ...

  3. Note for video Machine Learning and Data Mining——Linear Model

    Here is the note for lecture three. the linear model Linear model is a basic and important model in ...

  4. Machine Learning - week 2 - Multivariate Linear Regression

    Multiple Features 上一章中,hθ(x) = θ0 + θ1x,表示只有一个 feature.现在,有多个 features,所以 hθ(x) = θ0 + θ1x1 + θ2x2 + ...

  5. Andrew Ng 的 Machine Learning 课程学习 (week2) Linear Regression

    这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...

  6. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数

    @ 目录 前言 二阶与三阶行列式 二阶行列式 三阶行列式 全排列及其逆序数 全排列 逆序数 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ...

  7. Machine Learning 学习笔记2 - linear regression with one variable(单变量线性回归)

    一.Model representation(模型表示) 1.1 训练集 由训练样例(training example)组成的集合就是训练集(training set), 如下图所示, 其中(x,y) ...

  8. [Machine Learning] 单变量线性回归(Linear Regression with One Variable) - 线性回归-代价函数-梯度下降法-学习率

    单变量线性回归(Linear Regression with One Variable) 什么是线性回归?线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方 ...

  9. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  10. 机器学习(Machine Learning)&深度学习(Deep Learning)资料

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

随机推荐

  1. vite.config.js 无法使用__dirname的解决方法

    __dirname 是commonjs规范的内置变量.如果使用了esm 是不会自动注入这个变量的. 在commonjs中,注入了__dirname,__filename, module, export ...

  2. go 通过指针修改结构体小写字段的值

    package main import ( "fmt" "unsafe" ) type W struct { b int32 c int64 } func ma ...

  3. 图像处理技术OpencvSharp入门

    目录 第一部分 初识Opencv 1.C# 下Opencv库 2.安装OpenCvSharp 第二部分 OpencvSharp入门 1.加载图像文件 2.显示图像 第三部分 基础应用 1.颜色转换 2 ...

  4. java中判断String类型为空和null的方法

    1.判断一个String类型的变量是否为空(即长度为0)或者为null 在Java中,判断一个String类型的变量是否为空(即长度为0)或者为null,通常需要使用两个条件语句来进行检查.这是因为n ...

  5. GeoGebra作圆的切线

    参考文档:<GeoGebra入门教程>唐家军 1. 目的 使用GeoGebra作出过一点的圆的切线. 2. 构造过程 文档种的描述如下: 按照上述构造过程,在输入条形框中依次输入上面的指令 ...

  6. Nodejs概述 安装Nodejs os模块 path模块 url模块 querystring模块

    一.Nodejs概述 介绍 相关网址: https://nodejs.org/zh-cn/ http://nodejs.cn/ Node.js 是一个开源与跨平台的JavaScript 运行时环境.它 ...

  7. jsp表单提交中的逻辑判断

    针对于表单 通常情况下  我们都是表单提交 提交的路径为以下: 提交的按钮的type="submit" 当我们想在表单提交前增加一个逻辑判断   我们就需要把button中的typ ...

  8. window10 java环境变量配置

    window10 此电脑 右击属性 相关设置 高级系统配置 点击右下的 环境变量 在系统变量中新增JAVA_HOME=D:\Program Files\Java\jdk1.8.0_25 在系统变量中修 ...

  9. CountDownLatch demo演示裁判和选手赛跑

    # CountDownLatch demo演示裁判和选手赛跑 package com.example.core.mydemo; import java.util.concurrent.CountDow ...

  10. doris wget 地址

    wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-alpha1-bin-x86_64. ...