Advanced Machine Learning with R
上QQ阅读APP看书,第一时间看更新

Neural Networks and Deep Learning

"Forget artificial intelligence – in the brave new world of big data, it's artificial idiocy we should be looking out for."
– Tom Chatfield

I recall that at some meeting circa mid-2012, I was part of a group discussing the results of some analysis or other, when one of the people around the table sounded off with a hint of exasperation mixed with a tinge of fright: this isn't one of those neural networks, is it? I knew of his past run-ins with, and deep-seated anxiety regarding, neural networks, so I assuaged his fears, making some sarcastic comment that neural networks have basically gone the way of the dinosaur. No one disagreed! Several months later, I was gobsmacked when I attended a local meeting where the discussion focused on, of all things, neural networks and this mysterious deep learning. Machine learning pioneers, such as Ng, Hinton, Salakhutdinov, and Bengio have revived neural networks and improved their performance.

Much media hype revolves around these methods, with high-tech companies such as Facebook, Google, and Netflix investing tens, if not hundreds, of millions of dollars. These methods have yielded promising results in voice recognition, image recognition, automation, and any practical data science project. If self-driving cars ever stop running off the road and into each other, it will certainly be due to the methods we've discussed here.

In this chapter, we will discuss how the methods work, their benefits, and their inherent drawbacks so that you can become conversationally competent about them. We will start slowly by working through a simple application of a neural network, which will give you a feel for what is happening. Then, we will pursue the deep learning methodology that has burst on the scene the past couple of years, TensorFlow, using Keras as the frontend.

The following topics will be covered in this chapter:

  • Introduction to neural networks
  • Deep learning, a not-so-deep overview
  • Creating a simple neural network
  • An example of deep learning