Reader small image

You're reading from  Machine Learning for Developers

Product typeBook
Published inOct 2017
Reading LevelBeginner
PublisherPackt
ISBN-139781786469878
Edition1st Edition
Languages
Right arrow
Authors (2):
Rodolfo Bonnin
Rodolfo Bonnin
author image
Rodolfo Bonnin

Rodolfo Bonnin is a systems engineer and Ph.D. student at Universidad Tecnolgica Nacional, Argentina. He has also pursued parallel programming and image understanding postgraduate courses at Universitt Stuttgart, Germany. He has been doing research on high-performance computing since 2005 and began studying and implementing convolutional neural networks in 2008, writing a CPU- and GPU-supporting neural network feedforward stage. More recently he's been working in the field of fraud pattern detection with Neural Networks and is currently working on signal classification using machine learning techniques. He is also the author of Building Machine Learning Projects with Tensorflow and Machine Learning for Developers by Packt Publishing.
Read more about Rodolfo Bonnin

View More author details
Right arrow

Preface

Machine learning is one of the star disciplines at present. Acclaimed by the media as the future of work, it is said to be part of any significant tech investment in recent months, in a world where everything is driven by data and automation. It is used extensively across many fields such as image understanding, robotics, search engines, self-driving cars, and so on and the number of areas of application increases almost daily. In this book we will study the motivations and current techniques of machine learning using code and diagrams as the main conceptual vehicles, omitting outside the fundamental mathematical results.

We will start talking about the fundamental machine learning concepts, its branches, and types of problems. Then, there will be an explanatory chapter about the fundamental mathematical concepts required to grasp upcoming techniques. As we advance through the chapters, models of increasing complexity and sophistication are explained, starting with linear regression, then logistic regression, neural networks and its more recent variants (CNNs, RNNs),concluding with a synthetic introduction to more advanced machine learning techniques, such as GANs and reinforcement learning.

This book is aimed at developers looking to finally grasp what that machine learning hype is all about, and understand the main fundamental concepts, using an algorithmic point of view, along with more formal mathematical definitions.This book implements code concepts in Python, considering the simplicity of its interface, and the fact that Python offers an unmatched set of tools to continue learning from the book’s code. So, familiarity with Python programming would certainly be helpful for playing around with the code, but it should be manageable from programmers experienced in other languages.

You will learn how to make informed decisions about the types of algorithms you need to solve your own machine learning problems, and a knowledge of how those algorithms work to get the best possible results. If you want to understand machine learning in day-to-day, coder-friendly language, and have just the right amount of information to be able to do the jump into the discipline, this book will definitely come to your rescue!

What this book covers

Chapter 1, Introduction - Machine Learning and Statistical Science, covers various introductory concepts in machine learning. It talks about the history, branches and general discipline concepts. It also gives an introduction to the base mathematical concepts needed to understand most of the techniques developed afterward.

Chapter 2, The Learning Process, covers all the steps in the workflow of a machine learning process and shows useful tools and concept definitions for all those stages.

Chapter 3, Clustering, covers several techniques for unsupervised learning, specially K-Means, and K-NN clustering.

Chapter 4, Linear and Logistic Regression, covers two pretty different supervised learning algorithms, which go under a similar name: linear regression (which we will use to perform time series predictions), and logistic regression (which we will use for classification purposes).

Chapter 5, Neural Networks, covers one of the basic building blocks of modern machine learning Applications, and ends with the practical step-by-step building of a neural network.

Chapter 6, Convolutional Neural Networks, covers this powerful variation of neural networks, and ends with a practical tour of the internals of a very well known architecture of CNN, called VGG16, in a practical application.

Chapter 7, Recurrent Neural Networks, covers an overview of the RNN concept and a complete depiction of all the stages of the most used architecture, the LSTM. Finally, a practical exercise in time series prediction is shared.

Chapter 8, Recent Models and Developments, covers two upcoming techniques that have engaged huge interest in the field: generative adversarial networks, and the whole reinforcement learning field.

Chapter 9, Software Installation and Configuration, It covers the installation of all the necessary software packages, for three operative systems: Linux, macOS, and Windows.

What you need for this book

This book is focused on machine learning concepts and uses as a Python language (version 3) as a computational tool . We have used Python 3 and the Jupyter Notebook to build our workbooks, which you can edit and play with to better understand the concepts. We focus on how to utilize various Python libraries in the best possible way to build real-world applications. In that spirit, we have tried to keep all the code as friendly and readable as possible. We feel that this will enable our readers to easily understand the code and readily use it in different scenarios.

Who this book is for

This book is for developers/tech enthusiasts who want to understand the basics of machine learning concepts through a computationally-intensive approach. This book should be suited to people who have programmed in any scripting language, but being familiar with Python will be useful to play around with the code. It will also be useful for current data scientists to get back to the basic concepts, and understand them using a novel, hands-on approach.

Conventions

In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, path names, dummy URLs, user input, and Twitter handles are shown as follows: "Let's generate a large number of events of a Bernoulli distribution using np and graph the tendency of this distribution."

A block of code is set as follows:

def mean(sampleset):  #Definition header for the mean function 
total=0
for element in sampleset:
total=total+element
return total/len(sampleset)

New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "In order to download new modules, we will go to Files | Settings | Project Name | Project Interpreter."

Warnings or important notes appear like this.
Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book-what you liked or disliked. Reader feedback is important to us as it helps us develop titles that you will really get the most out of. To send us general feedback, simply email feedback@packtpub.com, and mention the book's title in the subject of your message. If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files for this book from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files emailed directly to you. You can download the code files by following these steps:

  1. Log in or register to our website using your email address and password.
  2. Hover the mouse pointer on the SUPPORT tab at the top.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box.
  5. Select the book for which you're looking to download the code files.
  6. Choose from the drop-down menu where you purchased this book from.
  7. Click on Code Download.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR / 7-Zip for Windows
  • Zipeg / iZip / UnRarX for Mac
  • 7-Zip / PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Machine-Learning-for-Developers. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books-maybe a mistake in the text or the code-we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title. To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyrighted material on the internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the internet, please provide us with the location address or website name immediately so that we can pursue a remedy. Please contact us at copyright@packtpub.com with a link to the suspected pirated material. We appreciate your help in protecting our authors and our ability to bring you valuable content.

Questions

If you have a problem with any aspect of this book, you can contact us at questions@packtpub.com, and we will do our best to address the problem.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Machine Learning for Developers
Published in: Oct 2017Publisher: PacktISBN-13: 9781786469878
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (2)

author image
Rodolfo Bonnin

Rodolfo Bonnin is a systems engineer and Ph.D. student at Universidad Tecnolgica Nacional, Argentina. He has also pursued parallel programming and image understanding postgraduate courses at Universitt Stuttgart, Germany. He has been doing research on high-performance computing since 2005 and began studying and implementing convolutional neural networks in 2008, writing a CPU- and GPU-supporting neural network feedforward stage. More recently he's been working in the field of fraud pattern detection with Neural Networks and is currently working on signal classification using machine learning techniques. He is also the author of Building Machine Learning Projects with Tensorflow and Machine Learning for Developers by Packt Publishing.
Read more about Rodolfo Bonnin