Chapter 5. Neural Networks in a Nutshell
In Chapter 2, we briefly touched on the topic of neural networks in our exploration of the machine learning landscape. A neural network is a set of equations that we use to calculate an outcome. They aren’t so scary if we think of them as a brain made out of computer code. In some cases, this is closer to reality than we should expect from such a cartoony example. Depending on the number of features we have in our data, the neural network almost becomes a “black box.” In principle, we can display the equations that make up a neural network, but at a certain level, the amount of information becomes too cumbersome to intuit easily.
Neural networks are used far and wide in industry largely due to their accuracy. Sometimes, there are trade-offs between having a highly accurate model, but slow computation speeds, however. Therefore, it’s best to try multiple models and use neural networks only if they work for your particular dataset.
Single-Layer Neural Networks
In Chapter 2, we looked at the development of an AND gate. An AND gate follows logic like this:
x1<-c(0,0,1,1)x2<-c(0,1,0,1)logic<-data.frame(x1,x2)logic$AND<-as.numeric(x1&x2)logic
## x1 x2 AND## 1 0 0 0## 2 0 1 0## 3 1 0 0## 4 1 1 1
If you have two 1 inputs (both TRUE), your output is 1 (TRUE). However, if either of them, or both, are 0 (FALSE), your output is also 0 (FALSE). This computation is somewhat similar to our analysis of logistic regression. In ...