懒人阅读:线性代数是机器学习/深度学习的基石,绝对绕不开。深度学习本质上是通过数据映射规律,映射的过程就是数据在“空间”中的变换,变换遵循的基本法则就是线性代数所描述的内容。因此,线代之于深学,就像加减乘数之于几何(不一定恰当)。
机器学习/深度学习与线性代数的关系
。九三一言以蔽之:想要ML/DL,线性代数必要先行。深度学习本质上是通过数据映射规律,映射的过程就是数据在“空间”中的变换,变换遵循的基本法则就是线性代数所描述的内容。因此,线代之于深学,就像加减乘数之于几何(不一定恰当)。
。机器学习和深度学习:机器学习是AI的一种方式,深度学习又是机器学习一条技术路径,深度学习本质上是通过数据映射规律。
。线性代数(Linear Algebra)的重要性:瑞典数学家Lars Garding在其名著Encounter with Mathematics中说:“如果不熟悉线性代数的概念,要去学习自然科学,现在看来就和文盲差不多。然而“按照现行的国际标准,线性代数是通过公理化来表述的,它是第二代数学模型,这就带来了教学上的困难。”
。重温线代的本质及意义:“高等数学是研究运动的数学”(重温微积分)。首先有空间,空间可以容纳对象运动的。一种空间对应一类对象。有一种空间叫线性空间,线性空间是容纳向量对象运动的。运动是瞬时的,因此也被称为变换。矩阵是线性空间中运动(变换)的描述。矩阵与向量相乘,就是实施运动(变换)的过程。同一个变换,在不同的坐标系下表现为不同的矩阵,但是它们的本质是一样的,所以本征值相同。
线性空间里的基本对象是向量。矩阵是一组向量组成的。特别的,n维线性空间里的方阵是由n个n维向量组成的。矩阵是线性空间里的变换的描述。在一个线性空间中,只要我们选定一组基(坐标系),那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。对坐标系施加变换的方法,就是让表示那个坐标系的矩阵与表示那个变化的矩阵相乘。
因此,九三个人理解:线性代数的意义是建立了描述空间运动的基本方法和规则;本质是描述空间、变换中元素、规则的数学语言。
更多详细论述见smallroof关于线性代数的本质:http://blog.csdn.net/myan/article/details/647511
ML/DL必备的线代基础知识图谱
九三根据Ian的《深度学习》整理了线性代数的知识图谱,大家可以按图索骥。
这里不去赘述每一个公式如何推导,但是核心必须要记住:线性代数是空间变换法则的描述。就好像上路开车的交通规则一样,必须要知道行驶规则,否则怎么开车上路呢?
详细阅读建议参考:Ian的《深度学习》圣经(下载地址:九三智能控公众号回复:20171223),第二章对线代基础知识有具体描述,更加深度的学习可以见下一章的资料分享。
资源分享
。可汗学院公开课(力荐):线性代数:http://open.163.com/special/Khan/linearalgebra.html
。MIT Strang的线性代数公开课:http://v.163.com/special/opencourse/daishu.html,同时推荐他的两本教材(号称北美最流行):《Introduction to Linear Algebra》, 4th Edition by Gilbert Strang, 《Linear Algebra and Its Applications》, 4th Edition by Gilbert Strang
。俄罗斯的Igor R. Shafarevich 的 《Linear Algebra and Geometry》,这本书把线性代数的几何本质描述地非常清晰。
参考资料
smallroof:线性代数的本质:http://blog.csdn.net/myan/article/details/647511
Ian Goodfellow:深度学习