用于深度学习的线性代数

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

通常,理解线性代数(或其部分内容)被认为是机器学习的先决条件。尽管很重要,但计算机科学或软件工程学位课程很少涵盖这一数学领域。

Ian Goodfellow 等人在他们的深度学习开创性教科书中,介绍了涵盖深度学习先决数学概念的章节,包括一章关于线性代数的内容。

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

阅读本文后,你将了解:

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

通过我的新书《机器学习的线性代数启动您的项目,其中包括所有示例的分步教程Python源代码文件。

让我们开始吧。

Linear Algebra for Deep Learning

用于深度学习的线性代数
图片来源:Quinn Dombrowski,保留部分权利。

深度学习先决条件

Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合著的《深度学习》是深度学习的事实性教科书。

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

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

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

鉴于本书作者的专业知识,可以说线性代数一章为深度学习(或许更普遍地为大部分机器学习)提供了充分的先决条件。

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

— 第30页,《深度学习》,2016年。

因此,我们可以使用线性代数章节中涵盖的主题作为指导,了解作为深度学习和机器学习从业者可能需要熟悉的主题。

与其他类型的数学(如离散数学)相比,线性代数在计算机科学课程中涵盖的可能性较小。这一点被作者特别指出。

线性代数是数学的一个分支,在科学和工程领域广泛使用。然而,由于线性代数是一种连续而非离散数学形式,许多计算机科学家对此经验不足。

— 第31页,《深度学习》,2016年。

我们可以认为本章中的主题也以一种为几乎没有先验知识的计算机科学毕业生量身定制的方式进行编排。

在机器学习线性代数方面需要帮助吗?

立即参加我为期7天的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

线性代数主题

线性代数一章分为12个部分。

作为第一步,将其用作高级路线图很有用。本章的完整部分列表如下。

  1. 标量、向量、矩阵和张量
  2. 矩阵和向量相乘
  3. 单位矩阵和逆矩阵
  4. 线性相关性与张成
  5. 范数
  6. 特殊类型的矩阵和向量
  7. 特征分解
  8. 奇异值分解
  9. Moore-Penrose 伪逆
  10. 迹运算符
  11. 行列式
  12. 示例:主成分分析

如果熟悉这些主题,列举每个部分的具体内容并没有太大的价值,因为这些主题大多不言自明。

概念进展

阅读本章可以发现概念和方法从最原始的(向量和矩阵)到机器学习中使用的主成分分析(PCA)的推导的进展。

这是一个清晰且精心设计的进展。主题以文本描述和一致的符号呈现,让读者可以准确地看到元素如何通过矩阵分解、伪逆以及最终的 PCA 结合在一起。

重点在于线性代数运算的应用而非理论。尽管如此,书中没有给出任何运算的示例。

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

我希望看到的一个领域是线性最小二乘以及用于解决它的各种矩阵代数方法,例如直接法、LU、QR 分解和SVD。这可能更多地是通用的机器学习视角,而不是深度学习视角,我理解它被排除的原因。

线性代数参考文献

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

它们是

《矩阵手册》是一本免费的 PDF 文件,其中包含了几乎所有你能想到的矩阵运算的符号和公式。

这些页面是关于矩阵及其相关事宜的事实(恒等式、近似值、不等式、关系等)的集合。它以这种形式收集,方便任何需要快速桌面参考的人。

— 第2页,《矩阵手册》,2006年。

Georgi Shilov 的《线性代数》是一本经典且备受推崇的本科生数学教材。

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

— 第v页,《线性代数》,1977年。

用作线性代数速成课程

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

  • 使用 NumPy 函数在小的虚构数据上用 Python 实现每个操作。
  • 在不使用 NumPy 函数的情况下,用 Python 手动实现每个操作。
  • 将关键操作,如分解方法(特征分解和 SVD)和 PCA 应用于从 CSV 加载的真实但小的数据集。
  • 创建一份符号速查表,以便将来快速参考。
  • 研究并列出机器学习论文或文本中使用的每个操作/主题的示例。

你采纳了这些建议中的任何一条吗?
在下面的评论中列出您的结果。

进一步阅读

如果您想深入了解,本节提供了更多关于该主题的资源。

总结

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

具体来说,你学到了:

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

您读过这本《深度学习》中的这一章吗?您觉得怎么样?
在下面的评论中告诉我。

掌握机器学习线性代数!

Linear Algebra for Machine Learning

建立对线性代数的工作理解

...通过在 python 中编写代码

在我的新电子书中探索如何实现
机器学习线性代数

它提供关于以下主题的自学教程
向量范数、矩阵乘法、张量、特征分解、SVD、PCA 等等...

最终理解数据的数学

跳过学术理论。只看结果。

查看内容

对《深度学习的线性代数》的8条回复

  1. Tebogo Mogaleemang 2018年3月16日上午6:58 #

    您发布的内容正好满足我当前的需求。您对这些主题的解释非常出色。感谢分享您的知识!

  2. Patrick Ryckman 2018年3月16日下午12:02 #

    我很感激收到这个链接,我将努力学习您的线性代数课程。
    谢谢你

  3. Babita 2018年3月22日下午9:36 #

    感谢您对深度学习做出如此出色的解释。

  4. Jamirah Bint Ahmed 2019年7月11日上午11:47 #

    我已经读完了“事实性”线性代数部分,如果能有更多关于这个主题的材料,我将不胜感激。请问您能提供给我吗?我把我的详细信息留在下面。非常感谢您。真的很棒

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。