资源|用Python和NumPy学习《深度学习》中的线性代数基础

简介:

本文系巴黎高等师范学院在读博士 Hadrien Jean 的一篇基础学习博客,其目的是帮助初学者/高级初学者基于深度学习和机器学习来掌握线性代数的概念。掌握这些技能可以提高你理解和应用各种数据科学算法的能力。

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

  • 博客地址:https://hadrienj.github.io/posts/Deep-Learning-Book-Series-Introduction/

  • GitHub 地址:https://github.com/hadrienj/deepLearningBook-Notes

  • 《深度学习》中文版下载地址:https://github.com/exacity/deeplearningbook-chinese

  • 推荐一个学习交流的Q-un,719-139-688,喜欢学习python的朋友一起来。

3EVaosLyQ=SycF=9TORCfXYy2Qz2mgZl0oCx9vtL

《深度学习》第二章目录。

bkDuh8OUjNMAXGyhSa0kJ0TvRyskqw5olWF=EacH

miHNBqw5SB=dYX1k35qIEm8ztpJCClaxDQLfilxm

博客目录。

纯符号的公式推导可能令人觉得过于抽象,在博客中作者一般先列出具体案例,再给出符号表述。

例如,用带彩色的数字方阵来解释基本定义:

dXJMEuxacM8UuoCDETgoJ6hzlrs=wfyNceDldUq1

标量、向量、矩阵、张量的区别。

符号表述:

efSQaxYZQI2cp6IbNzgNubcAsyvqErjXeH4tJxcN

再给出 python/numpy 示例代码:

GuMQJxLtjOYYOlcgMuNYLtPFKdJ6ZBzfRjAEVNkY

用 numpy 构建数组。

对某些运算关系,作者给出了直观可理解的图示:

irlDaCTVXKkQLb9PUFRgrO7R0QQHB5CIktbMy90k

单位圆和由矩阵 A 变换后的椭圆,其中的向量是 A 的两个特征向量。

对于某些较为复杂的对象,作者还给出了函数可视化和交互界面。例如,在特征值分解的二次型变换问题中,二次型函数

RYaRYpRRM398HocII6C5y819InJuPVIicBwYCte9

其正定型、负定型、不定型的可视化:

EPNowm3TSYMc7Bqeijq1e0NxKyk8c5JO8cpdRY2H

正定型函数的交互界面:

zccA4nY2lMcq0mv1pYugKuPQZWtJpvUT1aYAYBXa

最后一个小节的 PCA(主成分分析)问题,是对之前介绍概念的综合运用,读者可以将其作为自主练习。

QJ1dT0cip60G3zgGvCwhnh4HNP7RwSuO5fHmMVIs

PCA 作为坐标系统变换问题。

0aiVIvb2hw81K3CxXK2SNtGNKplvv69KTwNBa3tp

协方差矩阵的特征向量。

PZWhh=dZIDcFJgmbHSguzxjG920Gx6WjUiAf2q=n

旋转数据以在一个轴上得到最大方差。

祝大家学习愉快!

文章转载:机器之心

目录
相关文章
|
2天前
|
机器学习/深度学习 存储 自然语言处理
深度探索自适应学习率调整:从传统方法到深度学习优化器
【5月更文挑战第15天】 在深度学习的复杂网络结构与海量数据中,学习率作为模型训练的关键超参数,其调整策略直接影响着模型的收敛速度与最终性能。传统的学习率调整方法,如固定学习率、学习率衰减等,虽然简单易行,但在多样化的任务面前往往显得力不从心。近年来,随着自适应学习率技术的兴起,一系列创新的优化器如Adam、RMSProp和Adagrad等应运而生,它们通过引入自适应机制动态调整学习率,显著改善了模型的训练效率与泛化能力。本文将深入剖析传统学习率调整方法的原理与局限性,并详细介绍当前主流的自适应学习率优化器,最后探讨未来可能的发展方向。
|
2天前
|
SQL 数据采集 数据挖掘
构建高效的Python数据处理流水线:使用Pandas和NumPy优化数据分析任务
在数据科学和分析领域,Python一直是最受欢迎的编程语言之一。本文将介绍如何通过使用Pandas和NumPy库构建高效的数据处理流水线,从而加速数据分析任务的执行。我们将讨论如何优化数据加载、清洗、转换和分析的过程,以及如何利用这些库中的强大功能来提高代码的性能和可维护性。
|
2天前
|
存储 测试技术 程序员
【Python】—— NumPy基础及取值操作
【Python】—— NumPy基础及取值操作
8 1
|
2天前
|
索引 Python
【Python】—— Numpy 初体验
【Python】—— Numpy 初体验
4 0
|
2天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
Python深度学习基于Tensorflow(1)Numpy基础
Python深度学习基于Tensorflow(1)Numpy基础
24 5
|
2天前
|
机器学习/深度学习 算法 搜索推荐
揭秘深度学习中的自适应学习率调整策略
【4月更文挑战第30天】 在深度学习领域,优化算法的学习率是影响模型性能的关键因素之一。一个合适的学习率能够加快收敛速度,提高模型的泛化能力。然而,固定的学习率往往难以适应不同阶段的训练需求。因此,研究者们提出了多种自适应学习率调整策略以应对这一挑战。本文将深入探讨几种常用的自适应学习率方法,包括AdaGrad、RMSProp、Adam及其变种,分析它们的工作原理与实际应用效果,并讨论它们在特定问题中的选择指南。
|
2天前
|
数据采集 Web App开发 数据可视化
Python爬虫技术与数据可视化:Numpy、pandas、Matplotlib的黄金组合
Python爬虫技术与数据可视化:Numpy、pandas、Matplotlib的黄金组合
|
2天前
|
机器学习/深度学习 数据可视化 数据挖掘
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
|
1天前
|
网络协议 Unix Python
Python编程-----网络通信
Python编程-----网络通信
8 1