Skip to content

Latest commit

 

History

History
141 lines (85 loc) · 6.75 KB

linear-algebra-for-deep-learning.md

File metadata and controls

141 lines (85 loc) · 6.75 KB

深度学习中的线性代数

原文: https://machinelearningmastery.com/linear-algebra-for-deep-learning/

线性代数是应用数学领域,是阅读和理解深度学习方法的形式描述的先决条件,例如论文和教科书。

通常,对线性代数(或其部分)的理解被提出作为机器学习的先决条件。虽然很重要,但这个数学领域很少被计算机科学或软件工程学位课程所覆盖。

在他们关于深度学习的开创性教科书中,Ian Goodfellow 和其他人提出了涵盖深度学习的先决条件数学概念的章节,包括关于线性代数的章节。

在这篇文章中,您将发现在深度学习的实际教科书中提出的线性代数中用于深度学习的速成课程。

阅读这篇文章后,你会知道:

  • 这些主题是该领域专家深入学习的先决条件。
  • 通过这些主题及其高潮的进展。
  • 关于如何充分利用本章作为线性代数速成课程的建议。

让我们开始吧。

Linear Algebra for Deep Learning

用于深度学习的线性代数 照片由 Quinn Dombrowski 拍摄,保留一些权利。

深度学习先决条件

Ian Goodfellow,Yoshua Bengio 和 Aaron Courville 所着的“深度学习”是深度学习的事实教科书。

在本书中,作者提供了一个名为“_ 应用数学和机器学习基础知识 _”的部分,旨在提供理解本书其余部分所介绍的深度学习材料所需的应用数学和机器学习的背景。

本书的这一部分包括四章;他们是:

  • 线性代数
  • 概率论与信息论
  • 数值计算
  • 机器学习基础

鉴于本书作者的专业知识,可以说,线性代数一章为深度学习提供了一套充分合理的先决条件,也许更普遍的是机器学习。

本书的这一部分介绍了理解深度学习所需的基本数学概念。

因此,我们可以使用线性代数章节中涵盖的主题作为您可能希望作为深度学习和机器学习从业者所熟悉的主题的指南。

与其他类型的数学相比,线性代数不太可能被计算机科学课程所涵盖,例如离散数学。这是作者特别提到的。

线性代数是数学的一个分支,广泛应用于整个科学和工程领域。然而,由于线性代数是连续而非离散数学的一种形式,许多计算机科学家对它几乎没有经验。

我们可以认为,本章中的主题也是以适合计算机科学毕业生的方式进行的,几乎没有事先曝光。

线性代数主题

关于线性代数的章节分为 12 个部分。

作为第一步,将其用作高级路线图非常有用。下面列出了本章的完整部分列表。

  1. 标量,向量,矩阵和张量
  2. 乘以矩阵和向量
  3. 身份和逆矩阵
  4. 线性依赖和跨度
  5. 规范
  6. 特殊种类的矩阵和向量
  7. 特征分解
  8. 奇异值分解
  9. Moore-Penrose 伪逆
  10. 跟踪运算符
  11. 行列式
  12. 示例:主成分分析

枚举每个部分所涵盖的细节没有太大价值,因为如果熟悉的话,主题大多是自我解释的。

通过概念进步

本章的阅读展示了从最原始的(向量和矩阵)到主成分分析(称为 PCA)的推导的概念和方法的进展,这是机器学习中使用的方法。

这是一个干净的进展和精心设计。主题以文本描述和一致表示法呈现,允许读者通过矩阵分解,伪逆和最终 PCA 确切地看到元素是如何组合在一起的。

重点是线性代数运算的应用而不是理论。虽然没有给出任何操作的实例。

最后,PCA 的推导可能有点多。初学者可能想要跳过这个完整的推导,或者可能将其减少到整个章节中学到的一些元素的应用(例如,特征分解)。

我想要看到的一个领域是线性最小二乘法和使用各种矩阵代数方法来解决它,例如直接,LU,QR 分解和 SVD。这可能更像是一般的机器学习视角而不是深入的学习视角,我可以理解为什么它被排除在外。

线性代数参考

如果需要进一步深入线性代数,作者还建议另外两个文本来参考。

他们是:

Matrix Cookbook 是一个免费的 PDF 文件,其中包含您可以设想的几乎任何矩阵操作的符号和方程式。

这些页面是关于矩阵和与之相关的事实的事实(身份,近似,不平等,关系......)的集合。它是以这种形式收集的,以方便任何想要快速桌面参考的人。

Georgi Shilov 的线性代数是一本经典且备受推崇的教科书,主题为本科生设计。

本书旨在作为数学和物理专业本科生的文本。

用作线性代数速成课程

如果您是一名机器学习从业者,希望将本章用作线性代数速成课程,那么我会提出一些建议,使这些主题更具体:

  • 使用 NumPy 函数在小型人为数据上实现 Python 中的每个操作。
  • 在没有 NumPy 函数的情况下在 Python 中手动实现每个操作。
  • 将关键操作(例如分解方法(eigendecomposition 和 SVD)和 PCA)应用于从 CSV 加载的实际但小的数据集。
  • 创建一个记谱表备忘录,您可以将其用作快速参考。
  • 研究并列出机器学习论文或文本中使用的每个操作/主题的示例。

你有没有接受这些建议? 在下面的评论中列出您的结果。

进一步阅读

如果您希望深入了解,本节将提供有关该主题的更多资源。

摘要

在这篇文章中,您发现了在深度学习的事实教科书中提出的用于深度学习的线性代数速成课程。

具体来说,你学到了:

  • 这些主题是该领域专家深入学习的先决条件。
  • 通过这些主题及其高潮的进展。
  • 关于如何充分利用本章作为线性代数速成课程的建议。

您是否阅读过深度学习书籍的这一章?你觉得怎么样? 请在下面的评论中告诉我。