Machine Learning: Ch 1

28 Apr 2017

Machine Learning: Ch 1

I’m switching gears for a little while from Scala/Spark development to getting my feet under me with data science. I’m going to dig into Marsland’s Machine Learning and see how it goes!

Machine learning deals with the most basic components of intelligence - learning and adapting - and doesn’t about logical reasoning, ie: symbolic processing. Consequently, machine learning can be called subsymbolic processing. In other words, machine learning doesn’t pick up a piece of data and manipulate it or make deductions from its observations. Machine learning simply takes in the data, remembers what output results from each input, and acts accordingly. It seems a lot like operant conditioning to me. It doesn’t take a huge amount of intelligence to learn through operant conditioning that touching a hot stove hurts or that flying toward the bright light is [usually!] a good thing. Evolution has hardwired a very important ability to learn from the past in order to make better decisions, and the limit is simply how much of the data can be recalled. The final step in machine learning is generalization, where the learning and adaptation can be applied to a novel input. Again, there are biological analogies for me. Superstition has always been an interesting consequence of our eagerness to generalize what we learn. Desperately trying to find the secret to my winning streak, I inevitably look to my underwear…

The introduction lists four types of learning we’re going to tackle.

Supervised learning
Training a machine to pick the correct answer (ie: target) for any generalized input (and ignore the noise). The first tool here is regression, which I’m super familiar with from biology. You do your best to approximate a function that does a good job at predicting where future data will fall. Biological research for me didn’t have anything to do with prediction, but the same tool was used to discern whether observations supported a hypothesized correlation or some such boring notion. It’s easy to picture a linear, polynomial, logistic, etc. regression on a 2D coordinate system, but it’s harder to picture these regressions working in multiple dimensions. The other major component here is classification. There’s plenty of this going on in biology. We take measurements of a fish speciman for example and see if the data classify it as one species or another species. Novelty detection is the ability of a classifier to detect a new species, so to speak, but this is more complicated than this intro discussion.

Machine Learning Process

  1. Data collection & prep - especially important is finding the sweet spot of enough data but not so much that it takes too long to train
  2. Feature selection - requires some domain knowledge, intuition, and common sense
  3. Algorithm(s) choice - what this book is all about
  4. Parameter & model selection - also this book (thank god)
  5. Training - build the model
  6. Test the model & evaluate performance (and rinse & repeat)