Python 中的无监督深度学习
自动编码器、受限玻尔兹曼机、深度神经网络、t-SNE 和 PCA
讲师:Lazy Programmer Team
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 了解主成分分析 (PCA) 背后的理论
- 了解为什么 PCA 对于降维、可视化、去相关和去噪很有用
- 手动推导 PCA 算法
- 编写PCA代码
- 了解 t-SNE 背后的理论
- 在代码中使用 t-SNE
- 了解 PCA 和 t-SNE 的局限性
- 了解自动编码器背后的理论
- 在 Theano 和 Tensorflow 中编写自动编码器
- 了解如何在深度学习中使用堆叠式自动编码器
- 在 Theano 和 Tensorflow 中编写堆叠式去噪自动编码器
- 了解受限玻尔兹曼机 (RBM) 背后的理论
- 了解为什么 RBM 难以训练
- 了解训练 RBM 的对比散度算法
- 使用 Theano 和 Tensorflow 编写您自己的 RBM 和深度信念网络 (DBN)
- 可视化并解释自动编码器和 RBM 学到的特征
要求
- 微积分和线性代数知识
- Python 编码技能
- 使用 Numpy、Theano 和 Tensorflow 的一些经验
- 了解如何使用梯度下降来训练机器学习模型
- 安装 Python、Numpy 和 Theano
- 一些概率统计知识
- 在 Theano 或 Tensorflow 中编写前馈神经网络
描述
本课程是我的深度学习、数据科学和机器学习系列中的下一个合乎逻辑的步骤。我做了很多关于深度学习的课程,我刚刚发布了一个关于无监督学习的课程,其中我谈到了聚类和密度估计。那么当你把这两个放在一起时你会得到什么呢?无监督深度学习!
在这些课程中,我们将从一些非常基本的内容开始 –主成分分析 (PCA)和一种流行的非线性降维技术,称为t-SNE(t 分布随机邻域嵌入)。
接下来,我们将研究一种特殊类型的无监督神经网络,称为自动编码器。在描述自动编码器的工作原理之后,我将向您展示如何将一堆自动编码器链接在一起以形成深度自动编码器堆栈,从而提高监督深度神经网络的性能。自动编码器就像 PCA 的非线性形式。
最后,我们将看看受限玻尔兹曼机(RBM)。这是另一种流行的无监督神经网络,您可以使用与自动编码器相同的方式来预训练您的监督深度神经网络。我将向您展示一种训练受限玻尔兹曼机的有趣方法,称为吉布斯采样,这是马尔可夫链蒙特卡罗的特例, 并且我将演示如何即使这种方法只是粗略的近似,但它最终仍然会减少其他方法成本函数,例如用于自动编码器的成本函数。该方法也称为对比散度或CD-k。与物理系统一样,我们定义一个称为自由能的概念并尝试尽量减少这个数量。
最后,我们将把所有这些概念放在一起,我将直观地向您展示当您在自动编码器和 RBM 已经学习的特征上使用 PCA 和 t-SNE 时会发生什么,我们会看到即使没有标签,结果也表明发现了一种模式。
本课程中使用的所有材料都是免费的。由于本课程是深度学习系列的第四门课程,因此我假设您已经了解微积分、线性代数和 Python编码。您需要 为本课程安装Numpy、 Theano 和 Tensorflow 。这些是 数据分析工具箱中必不可少的项目。
如果您对深度学习感兴趣,并且想要了解现代深度学习的发展,而不仅仅是简单的反向传播,包括使用无监督神经网络来解释深度学习系统中可以自动分层学习哪些特征,那么本课程适合您。
本课程重点关注“如何构建和理解”,而不仅仅是“如何使用”。任何人在阅读一些文档后都可以在 15 分钟内学会使用 API。这不是“记住事实”,而是 通过实验“亲眼目睹”。它将教您如何可视化模型内部发生的情况。如果您想要的 不仅仅是 机器学习模型的肤浅了解,那么本课程适合您。
“如果你不能实施它,你就没有理解它”
- 或者正如伟大的物理学家理查德·费曼所说:“我无法创造的东西,我就不理解”。
- 我的课程是唯一您将学习如何从头开始实现机器学习算法的课程
- 其他课程将教您如何将数据插入到库中,但您真的需要 3 行代码的帮助吗?
- 对 10 个数据集执行相同的操作后,您意识到自己没有学到 10 件事。你学到了 1 件事,只是重复了同样的 3 行代码 10 次……
建议的先决条件:
- 结石
- 线性代数
- 可能性
- Python 编码:if/else、循环、列表、字典、集合
- Numpy 编码:矩阵和向量运算、加载 CSV 文件
- 可以用 Theano 或 Tensorflow 编写前馈神经网络
我应该按什么顺序学习您的课程?:
- 查看讲座“机器学习和 AI 先决条件路线图”(可在我的任何课程的常见问题解答中找到,包括免费的 Numpy 课程)
本课程适合谁:
- 希望增强深度学习技能的学生和专业人士
- 想要提高深度神经网络训练能力的学生和专业人士
- 想要了解深度学习更现代发展的学生和专业人士