Chapter 23. Deep Learning with DeepLearning4J
In the previous chapter, we covered Extreme Gradient Boosting (XGBoost)--a library that implements the gradient boosting machine algorithm. This library provides state-of-the-art performance for many supervised machine learning problems. However, XGBoost only shines when the data is already structured and there are good handmade features.
The feature engineering process is usually quite complex and requires a lot of effort, especially when it comes to unstructured information such as images, sounds, or videos. This is the area where deep learning algorithms are usually superior to others, including XGBoost; they do not need hand-crafted features and are able to learn the structure of the data themselves.
In this chapter, we will look into a deep learning library for Java--DeepLearning4J. This library allows us to easily specify complex neural network architectures that are able to process unstructured data such as images. In particular, we will...