Book Image

Hands-On Deep Learning with R

By : Michael Pawlus, Rodger Devine
Book Image

Hands-On Deep Learning with R

By: Michael Pawlus, Rodger Devine

Overview of this book

Deep learning enables efficient and accurate learning from a massive amount of data. This book will help you overcome a number of challenges using various deep learning algorithms and architectures with R programming. This book starts with a brief overview of machine learning and deep learning and how to build your first neural network. You’ll understand the architecture of various deep learning algorithms and their applicable fields, learn how to build deep learning models, optimize hyperparameters, and evaluate model performance. Various deep learning applications in image processing, natural language processing (NLP), recommendation systems, and predictive analytics will also be covered. Later chapters will show you how to tackle recognition problems such as image recognition and signal detection, programmatically summarize documents, conduct topic modeling, and forecast stock market prices. Toward the end of the book, you will learn the common applications of GANs and how to build a face generation model using them. Finally, you’ll get to grips with using reinforcement learning and deep reinforcement learning to solve various real-world problems. By the end of this deep learning book, you will be able to build and deploy your own deep learning applications using appropriate frameworks and algorithms.
Table of Contents (16 chapters)
1
Section 1: Deep Learning Basics
5
Section 2: Deep Learning Applications
12
Section 3: Reinforcement Learning

Building and training a neural recommender system

We are now going to build, compile, and train our model using our user-item ratings data. Specifically, we will use Keras to construct a customized neural network with embedded layers (one for users and one for items) and a lambda function that computes the dot product to build a working prototype of a neural network-based recommender system:

  1. Let's get started using the following code:
# create custom model with user and item embeddings
dot <- function(
embedding_dim,
n_users,
n_items,
name = "dot"
) {
keras_model_custom(name = name, function(self) {
self$user_embedding <- layer_embedding(
input_dim = n_users+1,
output_dim = embedding_dim,
name = "user_embedding")
self$item_embedding <- layer_embedding(
input_dim = n_items+1,
output_dim = embedding_dim...