Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Java Deep Learning Essentials
Java Deep Learning Essentials

Java Deep Learning Essentials: Unlocking the next generation of predictive power

eBook
€8.98 €32.99
Paperback
€41.99
Hardcover
€33.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Java Deep Learning Essentials

Chapter 2. Algorithms for Machine Learning – Preparing for Deep Learning

In the previous chapter, you read through how deep learning has been developed by looking back through the history of AI. As you should have noticed, machine learning and deep learning are inseparable. Indeed, you learned that deep learning is the developed method of machine learning algorithms.

In this chapter, as a pre-exercise to understand deep learning well, you will see the mode details of machine learning, and in particular, you will learn the actual code for the method of machine learning, which is closely related to deep learning.

In this chapter, we will cover the following topics:

  • The core concepts of machine learning
  • An overview of popular machine learning algorithms, especially focusing on neural networks
  • Theories and implementations of machine learning algorithms related to deep learning: perceptrons, logistic regression, and multi-layer perceptrons

Getting started

We will insert the source code of machine learning and deep learning with Java from this chapter. The version of JDK used in the code is 1.8, hence Java versions greater than 8 are required. Also, IntelliJ IDEA 14.1 is used for the IDE. We will use the external library from Chapter 5, Exploring Java Deep Learning Libraries – DL4J, ND4J, and More, so we are starting with a new Maven project.

The root package name of the code used in this book is DLWJ, the initials of Deep Learning with Java, and we will add a new package or a class under DLWJ as required. Please refer to the screenshot below, which shows the screen immediately after the new project is made:

Getting started

There will be some names of variables and methods in the code that don't follow the Java coding standard. This is to improve your understanding together with some characters in the formulas to increase readability. Please bear this in mind in advance.

The need for training in machine learning

You have already seen that machine learning is a method of pattern recognition. Machine learning reaches an answer by recognizing and sorting out patterns from the given learning data. It may seem easy when you just look at the sentence, but the fact is that it takes quite a long time for machine learning to sort out unknown data, in other words, to build the appropriate model. Why is that? Is it that difficult to just sort out? Does it even bother to have a "learning" phase in between?

The answer is, of course, yes. It is extremely difficult to sort out data appropriately. The more complicated a problem becomes, the more it becomes impossible to perfectly classify data. This is because there are almost infinite patterns of categorization when you simply say "pattern classifier." Let's look at a very simple example in the following graph:

The need for training in machine learning

There are two types of data, circles and triangles, and the unknown data, the square...

Supervised and unsupervised learning

In the previous section, we saw that there could be millions of boundaries even for a simple classification problem, but it is difficult to say which one of them is the most appropriate. This is because, even if we could properly sort out patterns in the known data, it doesn't mean that unknown data can also be classified in the same pattern. However, you can increase the percentage of correct pattern categorization. Each method of machine learning sets a standard to perform a better pattern classifier and decides the most possible boundary—the decision boundary—to increase the percentage. These standards are, of course, greatly varied in each method. In this section, we'll see what all the approaches we can take are.

First, machine learning can be broadly classified into supervised learning and unsupervised learning. The difference between these two categories is the dataset for machine learning is labeled data or unlabeled data...

Machine learning application flow

We have looked at the methods that machine learning has and how these methods recognize patterns. In this section, we'll see which flow is taken, or has to be taken, by data mining using machine learning. A decision boundary is set based on the model parameters in each of the machine learning methods, but we can't say that adjusting the model parameters is the only thing we have to care about. There is another troublesome problem, and it is actually the weakest point of machine learning: feature engineering. Deciding which features are to be created from raw data, that is, the analysis subject, is a necessary step in making an appropriate classifier. And doing this, which is the same as adjusting the model parameters, also requires a massive amount of trial and error. In some cases, feature engineering requires far more effort than deciding a parameter.

Thus, when we simply say "machine learning," there are certain tasks that need to...

Theories and algorithms of neural networks

In the previous section, you saw the general flow of when we perform data analysis with machine learning. In this section, theories and algorithms of neural networks, one of the methods of machine learning, are introduced as a preparation toward deep learning.

Although we simply say "neural networks", their history is long. The first published algorithm of neural networks was called perceptron, and the paper released in 1957 by Frank Rosenblatt was named The Perceptron: A Perceiving and Recognizing Automaton (Project Para). From then on, many methods were researched, developed, and released, and now neural networks are one of the elements of deep learning. Although we simply say "neural networks," there are various types and we'll look at the representative methods in order now.

Perceptrons (single-layer neural networks)

The perceptron algorithm is the model that has the simplest structure in the algorithms of neural networks...

Getting started


We will insert the source code of machine learning and deep learning with Java from this chapter. The version of JDK used in the code is 1.8, hence Java versions greater than 8 are required. Also, IntelliJ IDEA 14.1 is used for the IDE. We will use the external library from Chapter 5, Exploring Java Deep Learning Libraries – DL4J, ND4J, and More, so we are starting with a new Maven project.

The root package name of the code used in this book is DLWJ, the initials of Deep Learning with Java, and we will add a new package or a class under DLWJ as required. Please refer to the screenshot below, which shows the screen immediately after the new project is made:

There will be some names of variables and methods in the code that don't follow the Java coding standard. This is to improve your understanding together with some characters in the formulas to increase readability. Please bear this in mind in advance.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Go beyond the theory and put Deep Learning into practice with Java
  • *Find out how to build a range of Deep Learning algorithms using a range of leading frameworks including DL4J, Theano and Caffe
  • Whether you’re a data scientist or Java developer, dive in and find out how to tackle Deep Learning

Description

AI and Deep Learning are transforming the way we understand software, making computers more intelligent than we could even imagine just a decade ago. Deep Learning algorithms are being used across a broad range of industries – as the fundamental driver of AI, being able to tackle Deep Learning is going to a vital and valuable skill not only within the tech world but also for the wider global economy that depends upon knowledge and insight for growth and success. It’s something that’s moving beyond the realm of data science – if you’re a Java developer, this book gives you a great opportunity to expand your skillset. Starting with an introduction to basic machine learning algorithms, to give you a solid foundation, Deep Learning with Java takes you further into this vital world of stunning predictive insights and remarkable machine intelligence. Once you’ve got to grips with the fundamental mathematical principles, you’ll start exploring neural networks and identify how to tackle challenges in large networks using advanced algorithms. You will learn how to use the DL4J library and apply Deep Learning to a range of real-world use cases. Featuring further guidance and insights to help you solve challenging problems in image processing, speech recognition, language modeling, this book will make you rethink what you can do with Java, showing you how to use it for truly cutting-edge predictive insights. As a bonus, you’ll also be able to get to grips with Theano and Caffe, two of the most important tools in Deep Learning today. By the end of the book, you’ll be ready to tackle Deep Learning with Java. Wherever you’ve come from – whether you’re a data scientist or Java developer – you will become a part of the Deep Learning revolution!

Who is this book for?

This book is intended for data scientists and Java developers who want to dive into the exciting world of deep learning. It would also be good for machine learning users who intend to leverage deep learning in their projects, working within a big data environment.

What you will learn

  • * Get a practical deep dive into machine learning and deep learning algorithms
  • * Implement machine learning algorithms related to deep learning
  • * Explore neural networks using some of the most popular Deep Learning frameworks
  • * Dive into Deep Belief Nets and Stacked Denoising Autoencoders algorithms
  • * Discover more deep learning algorithms with Dropout and Convolutional Neural Networks
  • * Gain an insight into the deep learning library DL4J and its practical uses
  • * Get to know device strategies to use deep learning algorithms and libraries in the real world
  • * Explore deep learning further with Theano and Caffe

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : May 30, 2016
Length: 254 pages
Edition : 1st
Language : English
ISBN-13 : 9781785283147
Vendor :
Oracle
Category :
Languages :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : May 30, 2016
Length: 254 pages
Edition : 1st
Language : English
ISBN-13 : 9781785283147
Vendor :
Oracle
Category :
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 87.98
Mastering Concurrency Programming with Java 8
€45.99
Java Deep Learning Essentials
€41.99
Total 87.98 Stars icon

Table of Contents

9 Chapters
1. Deep Learning Overview Chevron down icon Chevron up icon
2. Algorithms for Machine Learning – Preparing for Deep Learning Chevron down icon Chevron up icon
3. Deep Belief Nets and Stacked Denoising Autoencoders Chevron down icon Chevron up icon
4. Dropout and Convolutional Neural Networks Chevron down icon Chevron up icon
5. Exploring Java Deep Learning Libraries – DL4J, ND4J, and More Chevron down icon Chevron up icon
6. Approaches to Practical Applications – Recurrent Neural Networks and More Chevron down icon Chevron up icon
7. Other Important Deep Learning Libraries Chevron down icon Chevron up icon
8. What's Next? Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.6
(11 Ratings)
5 star 54.5%
4 star 9.1%
3 star 0%
2 star 18.2%
1 star 18.2%
Filter icon Filter
Top Reviews

Filter reviews by




Luigi Cardarella Nov 10, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Bel libro che spiega proprio bene il deep learning e finalmente degli esempi con Dl4j.Veramente bello.Lo consiglio vivamente a chi vuole sviluppare o semplicemente curiosare in questo fantastico mondo del deep learning con java.
Amazon Verified review Amazon
Sujit Pal Jun 17, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I thought this was a very well-written book on Deep Learning (DL). Java is (in my opinion) not the best language for teaching algorithms, but the example code is very readable. Like many DL books, the book focuses a lot on basic concepts and the math derivations behind them, so in that sense it is relatively undifferentiated from these books - however, it is is the only one that does so in Java. This is the only book I have read that has extensive coverage of pre-training (Deep Belief Networks, Restricted Boltzmann Machines, Denoising Autoencoders (DA), and Stacked DAs). Other "standard" networks such as Multilayer Perceptrons, Convolutional Neural Networks and Recurrent Neural Networks are also covered, about as well as other books I have read. The author provides good intuition around ideas such as dropout and learning rate adjustments. I bought the book because I wanted a quick intro to the DeepLearning4j framework - unfortunately the book has only one chapter dedicated to that with a fairly basic example. However, one can use it as a template and refer to the (very informative) DL4j website for more information. Overall, I think it is a good resource for Java programmers who want to learn Deep Learning.
Amazon Verified review Amazon
Xidong Wu May 16, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
As a software engineer, I have read several theoretical books to try to understand the concepts of deep learning. I found it was really difficult for me to truly grasp the concepts such as DBN and CNN. After having gone through this book and read line by line the code provided, I can declare that I am a deep learning expert now.
Amazon Verified review Amazon
Kindle Customer May 26, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Good examples and starting points. Provides a good history and multiple language examples. Recommend as a starting point. Useful resources.
Amazon Verified review Amazon
Amazonのお客様 Jun 23, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I'm at mid-level for deep learning and was looking for a book I could go through the whole picture from the theory to implementation.I think this is what I needed.For the next step, I want a book which goes further implementations and coding.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.

Modal Close icon
Modal Close icon