Book Image

Scala Machine Learning Projects

Book Image

Scala Machine Learning Projects

Overview of this book

Machine learning has had a huge impact on academia and industry by turning data into actionable information. Scala has seen a steady rise in adoption over the past few years, especially in the fields of data science and analytics. This book is for data scientists, data engineers, and deep learning enthusiasts who have a background in complex numerical computing and want to know more hands-on machine learning application development. If you're well versed in machine learning concepts and want to expand your knowledge by delving into the practical implementation of these concepts using the power of Scala, then this book is what you need! Through 11 end-to-end projects, you will be acquainted with popular machine learning libraries such as Spark ML, H2O, DeepLearning4j, and MXNet. At the end, you will be able to use numerical computing and functional programming to carry out complex numerical tasks to develop, build, and deploy research or commercial projects in a production-ready environment.
Table of Contents (17 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Chapter 11. Image Classification using Convolutional Neural Networks

So far, we haven't developed any machine learning (ML) projects for image processing tasks. Linear ML models and other regular deep neural network (DNN) models, such as Multilayer Perceptrons (MLPs) or Deep Belief Networks (DBNs), cannot learn or model non-linear features from images.

On the other hand, a convolutional neural network (CNN) is a type of feedforward neural network in which the connectivity pattern between its neurons is inspired by the animal visual cortex. In the last few years, CNNs have demonstrated superhuman performance in complex visual tasks such as image search services, self-driving cars, automatic video classification, voice recognition, and natural language processing (NLP).

In this chapter, we will see how to develop an end-to-end project for handling multi-label (that is, each entity can belong to multiple classes) image classification problems using CNN based on the Scala and Deeplearning4j (DL4j...