ML in a Nutshell

Michael Chen
Attenchen to Detail
3 min readMay 3, 2017

Supervised Learning

  • Classification — discrete output
  • Regression — continuous output

Supervised learning is basically telling a machine how to do something by providing examples of how to do something. In some sense, it is just function approximation. You can think of it as mapping input to output.

Big ideas to note/explore: Decision Trees, Naive Bayes, Nearest Neighbor, SVMs, Neural Nets, Boosting/Bagging

Classification use case example: Given a dataset of emails (eg. ENRON) you want to classify whether or not an email is considered spam.

Regression use case example: Given a list of x and y coordinates, when I give another x, what is the predicted y?

Unsupervised Learning

  • Explore and understand underlying structure of data

Unsupervised learning is basically crunching and analyzing data through exploration and grouping. The resulting knowledge can be used for supervised learning and other machine learning techniques. For example, I can group a bunch of 2D points by Euclidean distance into 3 groups and then label each group. I can then use the centroid (average) of each “cluster” for supervised learning when a new point comes in. It can provide an answer to the question “which group / label should I assign the new point?”

Big ideas to note/explore: Clustering, Expectation Maximization, Hillclimbing, Simulated Annealing, Genetic Algorithms, Feature Engineering (PCA, ICA, etc.)

Generic Example: I have a bunch of features / inputs and I want to map that to an output. What features are important? If we have 100 features, surely not all 100 are relevant. We can use feature engineering and clustering to reduce / change the input space.

Reinforcement Learning

  • Learn to take actions / follow a “policy” to get the most reward

Reinforcement learning aims to solve the credit assignment dilemma. The goal is to find out which moves are impactful and generates a large reward and which moves are not. A basic approach is to use Markov Decision Processes to emulate the actual environment. The idea is for an AI agent to find out the best policy for the environment they’re in. What this boils down to is, “what move should I do for every possible state that I can be in?”

Big ideas to note/explore: MDPs, Value (utility) Iteration, Policy Iteration, Q-Learning

Traditional use case for understanding: I have an agent in a grid like world and I have some cheese or prize waiting at some coordinate. What is the best way to get from where I am to where the cheese is? How do I determine a “policy” (basically what action should I take at any coordinate in this grid world)?

Misc terms in the Industry

These are a mix of the 3 above or help prepare for the 3 above.

Big Data — Basically data engineering/munging/wrangling: you’re cleaning and importing and creating the data pipeline for an obscenely large amount of data (GB or TB or even PB of data). This sets the scene for all the learning.

Semi-supervised Learning — combine supervised and unsupervised learning in the scenario where there are only a few labels but lots of data remaining

Cascading Learning (kind of like Boosting) — repeat classify by pulling out positives with false positives and re-classifying (useful when the underlying distribution isn’t 50% positive, 50% negative)

Deep Learning — use GPU / advanced computing power to have a really large “depth” to a neural network, thus making it “deep”. It’s surprisingly super effective, from convolutional nets (for analyzing spatial relationships) to recurrent nets (for analyzing temporal relationships).

Quantum Machine Learning — use quantum computers to run traditional machine learning algorithms. Quantum machine learning increases / handles computational load intelligently, by creating opportunities to conduct analysis on quantum states and systems.

Takeaways

You can dive into one of the 3, or explore one of the miscellaneous topics. I recommend taking some probability and statistics courses and then taking an intro to ML course for a deeper coverage of the things I mentioned. Two highly recommended are Coursera’s ML course taught by Andrew Ng and Udacity’s ML course taught by Charles Isbell and Michael Littman.

tl;dr machine learning is pretty damn awesome.

I hope you enjoy learning more on your own! :)

--

--

Michael Chen
Attenchen to Detail

ML@ROBLOX — Trying to make some sense in a hectic world