预备知识
要学习深度学习,首先需要先掌握一些基本技能。 所有机器学习方法都涉及从数据中提取信息。 因此,我们先学习一些关于数据的实用技能,包括存储、操作和预处理数据。
机器学习通常需要处理大型数据集。 我们可以将某些数据集视为一个表,其中表的行对应样本,列对应属性。 线性代数为人们提供了一些用来处理表格数据的方法。 我们不会太深究细节,而是将重点放在矩阵运算的基本原理及其实现上。
深度学习是关于优化的学习。
对于一个带有参数的模型,我们想要找到其中能拟合数据的最好模型。
在算法的每个步骤中,决定以何种方式调整参数需要一点微积分知识。
本章将简要介绍这些知识。
幸运的是,autograd
包会自动计算微分,本章也将介绍它。
机器学习还涉及如何做出预测:给定观察到的信息,某些未知属性可能的值是多少? 要在不确定的情况下进行严格的推断,我们需要借用概率语言。
最后,官方文档提供了本书之外的大量描述和示例。 在本章的结尾,我们将展示如何在官方文档中查找所需信息。
本书对读者数学基础无过分要求,只要可以正确理解深度学习所需的数学知识即可。 但这并不意味着本书中不涉及数学方面的内容,本章会快速介绍一些基本且常用的数学知识, 以便读者能够理解书中的大部分数学内容。 如果读者想要深入理解全部数学内容,可以进一步学习本书数学附录中给出的数学基础知识。
细分章节
- 10-ndarray:深度学习中的数据类型与操作;
- 20-pandas:数据预处理库的介绍;
- 30-linear-algebra:线性代数在深度学习框架中的实现;
- 40-calculus:微积分简介与使用;
- 50-autograd:PyTorch 的自动微分;
- 60-probability:概率论介绍;
- 70-lookup-api:查找 PyTorch 的 API ;