Neural Networks & Deep Learning

Neural networks are a type of modeling technique that was inspired by neuronal transmission in animal brains. Neural networks are often deployed when the suspected solution is nonlinear; that is to say, a line probably won’t represent the expected answer. Deep learning is neural networks with two or more layers.

Common Applications

Industries

  • Healthcare

  • Tech

  • Retail

  • Cybersecurity

  • Any industry with lots of data, which is increasingly turning into every industry

Problem Types

  • Computer Vision

  • Classification Problems

  • Speech & Natural Language Processing

  • High Dimensional Data

A Brief History

One of the original inspirations for neural networks was classifying images, something that is relatively easy for humans to do, but turned out to be pretty hard for us to figure out how computers can do. Research on neural networks began in the 1950’s, in forms very different from what we work with today; the so called "AI winter" soon began after, and other tools saw large usage and arguably were more powerful (and far simpler) at the time. Approximately in the late 80’s, neural networks started to see renewed interest; this catapulted in the early 00’s with tech companies like Google and Facebook (with incredible amounts of data) and reignited research that overcame some of the early hurdles.

Code Examples

All of the code examples are written in Python, unless otherwise noted.

Containers

These are code examples in the form of Jupyter notebooks running in a container that come with all the data, libraries, and code you’ll need to run it. Click here to learn why you should be using containers, along with how to do so.
Quickstart: Download Docker, then run the commands below in a terminal.

Neural Nets Intro: Handwritten Digit Image Classification

This classic neural network introductory example uses computer vision to classify the handwritten digits.

#pull container, only needs to be run once
docker pull ghcr.io/thedatamine/starter-guides:neural-nets-intro

#run container
docker run -p 8888:8888 -it ghcr.io/thedatamine/starter-guides:neural-nets-intro

Need help implementing any of this code? Feel free to reach out to [email protected] and we can help!

Resources

The content here is hand selected by Data Mine staff, and all of it is free for Purdue students (including the book links); most of it should be free for National Data Mine students as well (check your school’s digital library resources for the books).

Books

Also known as the "machine learning bible", this book is very well known and highly recommended and very clear, and has numerous code projects attached with each chapter. Chapter 10 is the deep learning chapter.

This book is a gentle introduction to neural networks with plenty of examples, and also includes documentation on how to get your coding environment set up too.

This book is great for people who have experience with neural networks, but want to get a better feel for the math/theory background. A calculus and linear algebra background is necessary to make sense of this book.

Gentle introduction; good for visual learners.