美文网首页需要继续接触的我爱编程
如何学好深度学习中的线性代数?这里有几个建议

如何学好深度学习中的线性代数?这里有几个建议

作者: 智能观 | 来源:发表于2018-03-21 17:23 被阅读1477次

    线性代数是应用数学的一个领域,是深度学习的基本数学工具。通常,对线性代数(或其一部分)的理解是机器学习的先决条件。

    尽管数学很重要,但计算机科学或软件工程学位课程很少涉及这一领域。

    在《深度学习》一书中,作者用部分章节介绍了关于深度学习的必备数学概念,其中一章是关于线性代数的。

    在本文中,你会读到教科书里提出的,涉及深度学习方面的线性代数的速成课程。

    阅读完本文后,你将了解到:

    1.这些专题被建议作为该领域专家深度学习的先决条件。

    2.他们通过线性代数取得的进展和成就。

    3.充分利用这一章的建议去学习线性代数的速成课程。

    让我们开始吧。

    深度学习的先决条件

    《深度学习》一书,是Ian Goodfellow及其导师Yoshua Bengio、Aaron Courville共同编写的深度学习实用教科书。

    在这本书中,作者们编写的“应用数学和机器学习基础”的部分,旨在给我们提供应用数学和机器学习的背景知识,以帮助读者理解书中其他部分所呈现的深度学习材料。

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

    1.线性代数

    2.概率和信息论

    3.数值计算

    4.机器学习基础

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

    因此,我们可以使用线性代数这一章节中涵盖的内容作为一个指南,去指导你进行深度学习和机器学习的研究。

    线性代数不像其他类型的数学,如离散数学等,由于线性代数的连续性,计算机科学课程的学生没有必要对它全部学习。这是作者特别提出的观点。

    我们可以肯定,本章中的内容是为计算机科学专业的毕业生量身打造的,而这些毕业生可能很少或没有接触过线性代数。

    线性代数内容

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

    1.标量、向量、矩阵和张量

    2.矩阵和向量乘积

    3.恒等矩阵和逆矩阵

    4.线性相关和跨度

    5.规范

    6.特殊类型的矩阵和向量

    7.特征分解

    8.奇异值分解

    9.摩尔-彭罗斯伪逆

    10.运算符跟踪

    11.行列式

    12.示例:主成分分析

    列举每个部分所涵盖的具体内容并没有什么价值,因为如果你熟悉教科书,这些主题大多是不言自明的。

    通过学习概念而取得进展

    这章内容介绍了概念和方法的推导过程,从最原始的(矢量和矩阵)到主成分分析(PCA:一种用于机器学习的方法)。

    这是一个完美的讲义和良好的学习计划。主题内容是通过文本描述和一致的符号来呈现的,这样读者就可以通过矩阵分解、伪逆和最终的PCA来准确地了解元素是如何组合在一起的。

    重点是线性代数运算的应用,而不是理论。尽管这里没有给出任何操作示例。

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

    我认为对大家有用的内容是线性最小二乘法和用于求解它的各种矩阵代数方法,如直接法、LU(三角分解法)、QR分解法和SVD(奇异值分解法)。这可能看起来更像是一个以通用的机器学习的视角来看问题,而不是以一个深度学习的视角来看的,这样我就能够理解了,为什么深度学习不会去学过多的线性代数理论。

    线性代数参考书

    如果还需要更深一步的线性代数知识,作者们还推荐了另外两本书供大家参考。

    它们是:

    1.《The Matrix Cookbook》,Petersen和Pedersen,2006。

    2.《Linear Algebra》,Shilov,1977。

    《The Matrix Cookbook》是一个免费的PDF文件,其中包含几乎所有可以构想的矩阵运算的符号和方程。

    Georgi Shilov的《Linear Algebra》是一本为本科生设计的经典教材。

    附PDF版本:

    https://pan.baidu.com/s/1JCvTz6eTf59Xenf4Z5iCUw

    作为线性代数的速成课程

    如果你是一位机器学习实践者,希望将本章用作线性代数速成课程,那么我会提出一些建议,使这些内容更加具体:

    1.在Python中使用NumPy函数对小型人为数据实现每个操作。

    2.在Python中不使用NumPy函数,手动实现每个操作。

    3.将关键操作,例如分解方法(本征分解和SVD)和PCA,应用于从CSV加载的真实但较小的数据集。

    4.创建一个标记的备忘录,您可以将其用作以后的快速参考。

    5.研究和学习机器学习论文或文本中使用的每个操作/内容的例子。

    你有没有采取这些建议?欢迎在下面的留言区发表你的看法。

    原文链接:

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

    来源:Machine Learning Mastery

    作者:Jason Brownlee

    智能观 编译

    —完—

    亲爱的朋友:

    充电时间,分享这篇文章给你。

    如果你用了作者的建议,欢迎留言交流。

    祝安!

                                        智能观  一米

    2018-3-21 于北京中关村

    想知道AI加教育领域有哪些最新研究成果?

    想要AI领域更多的干货?

    想了解更多专家的“智能观”?

    请在对话界面点击“找找看”,去获取你想要的内容吧。

    声明

    编译文章旨在帮助读者了解行业新思想、新观点及新动态,为原作者观点,不代表智能观观点。

    相关文章

      网友评论

        本文标题:如何学好深度学习中的线性代数?这里有几个建议

        本文链接:https://www.haomeiwen.com/subject/hsugqftx.html