CHAPTER 22Neural Networks

The focus of this chapter is nothing less than neural networks. The term covers a number of related methods and techniques and represents one of the most rapidly growing domains in the machine learning literature. In this chapter, we aim to convince the reader that q can be used to work with neural networks as well. We implement a neural network–based classifier and regressor within a few lines of code and successfully apply it in practice.

We do not claim that q on its own is the language of choice for neural networks and their applications to complex problems. Deep networks, convoluted neural networks, or long short-term memory (LSTM) could be programmed in q, but their implementation would require a significant time investment. This is beyond the scope of our book, and we keep this for future work.

The terminology of neural networks comes from their original purpose: to model the functions of the human brain. The model was microscopic, i.e. modelling each neuron explicitly and parameterising how the signal spreads across the network of neurons. The most straightforward implementation was using step functions with certain thresholds as models for neurons' responses. The terminology from its original purpose persisted into current days; further, it gives the neural network models a certain metaphysical flavour.

22.1 THEORETICAL INTRODUCTION

Let us start with an introduction to neural networks. Our objective is to acquire an understanding of neural ...

Get Machine Learning and Big Data with kdb+/q now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.