Java Deep Learning Projects
eBook - ePub

Java Deep Learning Projects

Implement 10 real-world deep learning applications using Deeplearning4j and open source APIs

Md. Rezaul Karim

Compartir libro
  1. 436 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Java Deep Learning Projects

Implement 10 real-world deep learning applications using Deeplearning4j and open source APIs

Md. Rezaul Karim

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

Build and deploy powerful neural network models using the latest Java deep learning libraries

Key Features

  • Understand DL with Java by implementing real-world projects
  • Master implementations of various ANN models and build your own DL systems
  • Develop applications using NLP, image classification, RL, and GPU processing

Book Description

Java is one of the most widely used programming languages. With the rise of deep learning, it has become a popular choice of tool among data scientists and machine learning experts.

Java Deep Learning Projects starts with an overview of deep learning concepts and then delves into advanced projects. You will see how to build several projects using different deep neural network architectures such as multilayer perceptrons, Deep Belief Networks, CNN, LSTM, and Factorization Machines.

You will get acquainted with popular deep and machine learning libraries for Java such as Deeplearning4j, Spark ML, and RankSys and you'll be able to use their features to build and deploy projects on distributed computing environments.

You will then explore advanced domains such as transfer learning and deep reinforcement learning using the Java ecosystem, covering various real-world domains such as healthcare, NLP, image classification, and multimedia analytics with an easy-to-follow approach. Expert reviews and tips will follow every project to give you insights and hacks.

By the end of this book, you will have stepped up your expertise when it comes to deep learning in Java, taking it beyond theory and be able to build your own advanced deep learning systems.

What you will learn

  • Master deep learning and neural network architectures
  • Build real-life applications covering image classification, object detection, online trading, transfer learning, and multimedia analytics using DL4J and open-source APIs
  • Train ML agents to learn from data using deep reinforcement learning
  • Use factorization machines for advanced movie recommendations
  • Train DL models on distributed GPUs for faster deep learning with Spark and DL4J
  • Ease your learning experience through 69 FAQs

Who this book is for

If you are a data scientist, machine learning professional, or deep learning practitioner keen to expand your knowledge by delving into the practical aspects of deep learning with Java, then this book is what you need! Get ready to build advanced deep learning models to carry out complex numerical computations. Some basic understanding of machine learning concepts and a working knowledge of Java are required.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Java Deep Learning Projects un PDF/ePUB en línea?
Sí, puedes acceder a Java Deep Learning Projects de Md. Rezaul Karim en formato PDF o ePUB, así como a otros libros populares de Computer Science y Artificial Intelligence (AI) & Semantics. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2018
ISBN
9781788996525

Developing Movie Recommendation Systems Using Factorization Machines

Factorization machines (FM) are a set of algorithms that enhance the performance of linear models by incorporating second-order feature interactions that are absent in matrix factorization (MF) algorithms in a supervised way. Therefore, FMs are very robust compared to their classical counterpart—collaborative filtering (CF)—and are gaining popularity in personalization and recommendation systems because they can be used to discover latent features underlying the interactions between two different kinds of entities.
In this chapter, we will develop a sample project for predicting both the rating and ranking to show their effectiveness. Nevertheless, we will see some theoretical background of recommendation systems using MF and CF before diving into the project's implementation using RankSys library-based FMs. In summary, the following topics will be covered in this chapter:
  • Recommendation systems
  • Matrix factorization and the collaborative filtering approach
  • Developing FM-based move recommendation systems
  • Frequently asked questions (FAQs).

Recommendation systems

Recommender techniques are nothing but information agents that try to predict items that users may be interested in and recommend the best ones to the target user. These techniques can be classified based on the information sources they use. For example, user features (age, gender, income, and location), item features (keywords, and genres), user-item ratings (explicit ratings, and transaction data), and other information about the user and item that are useful for the process of recommendation.
Thus, a recommendation system; otherwise known as a recommendation engine (RE) is a subclass of information filtering systems that help to predict the rating or preference based on the rating provided by users to an item. In recent years, recommendation systems have become increasingly popular.

Recommendation approaches

There are a couple of ways to develop REs to produce a list of recommendations, for example, collaborative and content-based filtering, knowledge-based, or the personality-based approach.

Collaborative filtering approaches

By using CF approaches, an RE can be built based on a user's past behavior. Numerical ratings are given on consumed items. Sometimes, it can be based on the decisions made by other users who also have purchased the same items using some widely used data mining algorithms such as Apriori or FP-growth. In the following diagram, you can get some idea of the different recommendation systems:
A comparative view of different recommendation systems
Even though these are successful recommendation systems, CF-based approaches often suffer from the following three problems:
  • Cold start: Sometimes, they can become stuck when a large amount of data about users is required to make a more accurate recommendation system.
  • Scalability: A large amount of computation power is often necessary to calculate recommendations using a dataset with millions of users and products.
  • Sparsity: This often happens with crowdsourced datasets when a huge number of items are sold on major e-commerce sites. All recommendation datasets are crowd-sourced in some sense. This is a general problem for almost all recommendation systems that have a sufficiently large number of items to offer to a sufficiently large number of users and need not be confined to e-commerce sites only.
In this case, active users may rate only a small subset of the whole items sold, so even the most popular items have very few ratings. Accordingly, the user versus items matrix becomes very sparse. In other words, handling a large-scale sparse matrix is computationally very challenging.
To overcome these issues, a particular type of collaborative filtering algorithm uses matrix factorization, which is a low-rank matrix approximation technique. We will see an example of this later in this chapter.

Content-based filtering approaches

With content-based filtering approaches, a series of discrete characteristics of an item are utilized to recommend additional items with similar properties. Sometimes, it is based on a description of the item and a profile of the user's preferences. These approaches try to recommend items that are similar to those that a user liked in the past, or that are currently being used.
A key issue with content-based filtering is whether the system is able to learn user preferences from their actions regarding one content source and use them with other content types. When this type of RE is deployed, it can then be used to predict items or ratings for items that the user may have an interest in.

Hybrid recommender systems

As you have seen, there are several pros and cons of using collaborative filtering and content-based filtering approaches. Therefore, to overcome the limitations of these two approaches, recent trends have shown that a hybrid approach can be more effective and accurate. Sometimes, factorization approaches such as FM and Singular Value Decomposition (SVD) are used to make them robust.

Model-based collaborative filtering

Collaborative filtering methods are classified as memory-based, such as the user-based algorith...

Índice