第8章 数据深度学习

本章包含如下内容:

  • 使用DL4j创建Word2vec神经网络;
  • 使用DL4j创建深度信念神经网络;
  • 使用DL4j创建深度自动编码器。

简单地说,深度学习是指带有多个层的神经网络,也叫深度神经网络学习或非监督特征学习。我相信深度学习会成为机器学习实践者与数据科学家又一个得力的“助手”,这是因为它在解决实际的数据问题方面表现出强大的能力。

DL4j(Deep Learning for Java)是一个面向JVM开源的、分布式Java深度学习库。伴随着DL4j一起而来的还有其他许多库,如下所示。

  • Deeplearning4J:神经网络平台。
  • ND4J:面向JVM的NumPy。
  • DataVec:进行机器学习ETL处理的工具。
  • JavaCPP:Java与本地C++的桥梁。
  • Arbiter:机器学习算法评估工具。
  • RL4J:面向JVM的深度增强学习。

然而,本书中,我们只重点讲解DL4j的几个关键方面。具体地说,我们将讲解Word2vec算法、real-world NLP、信息提取问题、深度信念神经网络、深度自动编码器及它们的用法。感兴趣的读者,建议你访问https://github.com/deeplearning4j/dl4j-examples,获取更多例子。请注意,本章中的所有代码都是基于这些示例的,并且在GitHub上可以找到。

另外,还请你注意,本章使用了很大篇幅来演示如何安装DL4j库,这是因为安装DL4j的过程非常复杂。并且,大家要足够细心,才能保证成功运行本书以及你们自己编写的代码。

在学习本章内容之前,需要先做如下两项准备:下载Java Developer version 1.7或更高版本(我使用的是1.8版本)与Apache Maven。本章中的所有代码都是使用Eclipse ...

Get Java数据科学指南 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.