用Python和NumPy理解《深度学习》线性代数


用Python和NumPy理解《深度学习》线性代数文章插图
选自KDnuggets , 作者:Hadrien Jean
本文转自机器之心(nearhuman2014
对于初学者而言 , 《深度学习》(Ian Goodfellow、Yoshua Bengio、Aaron Courville)中的理论基础部分可能过于简略 。 作者按照这本书的第二章的线性代数内容来逐一介绍机器学习中的线性代数基础 , 读者可以在原书、中译版或中文笔记中查看每个小节的基础介绍 , 或直接参考该博客的推导部分 。 作者除了对部分概念进行详细推导之外 , 还添加了多个示例 , 并给出了 python/numpy 的实现代码 。

  • 博客地址:
  • GitHub 地址:


用Python和NumPy理解《深度学习》线性代数文章插图
《深度学习》第二章目录 。
用Python和NumPy理解《深度学习》线性代数文章插图
用Python和NumPy理解《深度学习》线性代数文章插图
博客目录 。
纯符号的公式推导可能令人觉得过于抽象 , 在博客中作者一般先列出具体案例 , 再给出符号表述 。
例如 , 用带彩色的数字方阵来解释基本定义:
用Python和NumPy理解《深度学习》线性代数文章插图
标量、向量、矩阵、张量的区别 。
符号表述:
用Python和NumPy理解《深度学习》线性代数文章插图
再给出 python/numpy 示例代码:
用Python和NumPy理解《深度学习》线性代数文章插图
用 numpy 构建数组 。
对某些运算关系 , 作者给出了直观可理解的图示:
用Python和NumPy理解《深度学习》线性代数文章插图
单位圆和由矩阵 A 变换后的椭圆 , 其中的向量是 A 的两个特征向量 。
对于某些较为复杂的对象 , 作者还给出了函数可视化和交互界面 。 例如 , 在特征值分解的二次型变换问题中 , 二次型函数
用Python和NumPy理解《深度学习》线性代数文章插图
其正定型、负定型、不定型的可视化:
用Python和NumPy理解《深度学习》线性代数文章插图
正定型函数的交互界面:
用Python和NumPy理解《深度学习》线性代数文章插图
最后一个小节的 PCA(主成分分析)问题 , 是对之前介绍概念的综合运用 , 读者可以将其作为自主练习 。
用Python和NumPy理解《深度学习》线性代数文章插图
PCA 作为坐标系统变换问题 。
用Python和NumPy理解《深度学习》线性代数文章插图
协方差矩阵的特征向量 。
用Python和NumPy理解《深度学习》线性代数文章插图
旋转数据以在一个轴上得到最大方差 。
祝大家学习愉快!
原文链接:

PyTorch 中文版官方教程来了 。
PyTorch 是近年来较为火爆的深度学习框架 , 然而其中文版官方教程久久不来 。 近日 , 一款完整的 PyTorch 中文版官方教程出炉 , 读者朋友可以更好的学习了解 PyTorch 的相关细节了 。 教程作者来自 pytorchchina.com 。
教程网站:
如果不想自己下载 , 请通过下面方式获取pdf资料:
【用Python和NumPy理解《深度学习》线性代数】回复「pytorch」获取pdf和代码