Overview of Terminology & Concepts · Updated November 1, 2018 · Tim Sent
A working vocabulary for machine learning — from what separates Artificial General Intelligence from the narrow, task-specific systems we actually build today, through the three families of learning problems, into the core algorithms, cost functions, and neural network fundamentals underneath them.
Foundations
Three families
There are three types of Artificial Narrow Intelligence (ANI), distinguished by how the algorithm learns from data.
An algorithm is provided a set of labeled training data where the output is already known. It learns a function mapping inputs to outputs. Includes regression and classification problems.
Algorithms find structure from a set of unlabeled data. Includes clustering and non-clustering problems.
Software agents take actions in an environment so as to maximize some notion of cumulative reward.
Supervised Learning
Problem Types
Predicts a continuous output by mapping input variables to a continuous function — learning the relationship between a dependent variable and one or more independent variables from labeled training data.
Example: predicting the price of a house by learning the relationship between features like square footage, number of bedrooms, and age of the house.
Predicts a discrete output by mapping input variables into categories or classes — training an algorithm to identify which category a new observation belongs to, based on labeled examples.
Example: identifying email as spam or not-spam by learning characteristics from labeled training data.
Supervised learning pipeline — a labeled training set produces a model that maps new feature vectors (x) to predictions (y).
Regression Problems
Predicting house sales using linear regression with one variable. The first step in a regression problem is choosing a function — linear, quadratic, or second-order polynomial — to fit the training data.
| Index (i) | Size in ft² (x) | Price ($1,000s) (y) |
|---|---|---|
| 1 | 2,104 | 460 |
| 2 | 1,416 | 232 |
| 3 | 1,534 | 315 |
| 4 | 852 | 178 |
| … | … | … |
This dataset — home sales from Portland, Oregon — is labeled training data: it includes both the input (size) and the output being predicted (price). The learning algorithm's job is to train θ₀ and θ₁ so the hypothesis fits the data as closely as possible.
The four labeled examples from the table, with the least-squares fit hθ(x) = −42.7 + 0.230x (dashed red = residual error per point).
Machine learning algorithms rely on minimizing or maximizing an "objective function." The functions that are minimized are called cost or loss functions — they measure the difference between the predicted value and the actual value, and choosing parameters that minimize this error is how a model is fit.
The most common loss function for regression is Mean Squared Error (MSE, L2). Other options include Mean Absolute Error (MAE, L1), Huber Loss / Smooth MAE, Log-Cosh Error, and Quantile Loss. MSE is easier to solve; MAE is more robust to outliers.
Gradient descent: each step moves against ∇J(θ), converging toward the minimum at the bottom of the bowl.
Linear regression with multiple variables, represented as vectors.
| i | Size (x₁) | Bedrooms (x₂) | Floors (x₃) | Age (x₄) | Price (y) |
|---|---|---|---|---|---|
| 1 | 2,104 | 5 | 1 | 45 | 460 |
| 2 | 1,416 | 3 | 2 | 40 | 232 |
| 3 | 1,534 | 3 | 2 | 30 | 315 |
| 4 | 852 | 2 | 1 | 36 | 178 |
For convenience of notation, x₀ is defined as 1, so the parameter vector θ and feature vector x are both (n+1) × 1, and the hypothesis reduces to the vector product θᵀx.
The hypothesis as a dot product of two (n+1)-dimensional column vectors.
Classification Problems
Binary classification using logistic regression — a sigmoid function maps any real-valued input into a range between 0 and 1, and a threshold on that output defines the decision boundary.
Modeling a decision function from labeled training data — real data often isn't linearly separable, which calls for a non-linear boundary built from polynomial feature terms.
One-versus-all: three separate binary classifiers, one per class, each with its own decision boundary
A non-parametric, lazy learning algorithm that predicts labels based on the nearest training examples — based on feature similarity, often used as a baseline against SVM or neural network classifiers.
Simple to implement; no training time required.
Computationally expensive and memory-intensive; uses training data at test time.
Unsupervised Learning
Derives structure from unstructured data by analyzing relationships among its variables.
Example: automatically grouping genetic data into similar groups related by variables such as lifespan, location, and roles.
Approaches problems with little or no idea what the results should look like, deriving structure without necessarily knowing the effect of each variable. There's no feedback based on prediction results.
Example: Blind Source Separation, or the "Cocktail Party Problem."
Reinforcement Learning
Reinforcement learning differs from supervised learning in that correct input/output pairs need not be presented, and sub-optimal actions need not be explicitly corrected. The focus is on performance — finding a balance between exploration of uncharted territory and exploitation of current knowledge.
The exploration-versus-exploitation trade-off has been most thoroughly studied through the multi-armed bandit problem, and in finite Markov Decision Processes (MDPs). Examples include learning to play games such as Go at a level exceeding human performance, as well as robotics, chemistry, and traffic-signal control in smart cities.
The agent–environment loop: the agent acts, the environment returns a new state and reward, repeat.
Traffic-signal reinforcement learning: web.eecs.utk.edu/~itamar/Papers/IET_ITS_2010.pdf
Artificial Neural Networks
A neuron is a computational unit that takes input(s), performs some calculation, and produces an output.
Data forward-propagates from neuron to neuron as computations complete in each layer of the network.
The neuron combines inputs with weights (parameters) and applies an activation function — usually sigmoid — to produce an output.
Output Axon — the activation's output propagates to the next layer. If that layer is the output layer, a SoftMax function normalizes it into a probability distribution.
Training a neural network to analyze visual imagery — signal propagates forward from the input layer, through hidden layers, to an output.
Resources
These courses provide great intuition about how machine learning algorithms work.
Must-read books on machine learning:
Ian Goodfellow
Richard S. Sutton
Roweis, S. T.; Saul, L. K. (2000). "Nonlinear Dimensionality Reduction by Locally Linear Embedding." Science. 290 (5500): 2323–2326. doi:10.1126/science.290.5500.2323. PMID 11125150.
Definition of "overfitting" at OxfordDictionaries.com (statistics-specific definition).
Bühlmann, Peter; Van De Geer, Sara (2011). "Statistics for High-Dimensional Data." Springer Series in Statistics: 9. doi:10.1007/978-3-642-20192-9. ISBN 978-3-642-20191-2. If p > n, the ordinary least squares estimator is not unique and will heavily overfit the data — a form of complexity regularization becomes necessary.
Individuals leading research into machine learning.
CEO/Founder, Landing AI; Co-Founder, Coursera; Adjunct Professor, Stanford University; formerly Chief Scientist at Baidu and founding lead of Google Brain.
Department of Computer Science and Operations Research; Canada Research Chair in Statistical Learning Algorithms.
Best known for Generative Adversarial Networks (GANs) and as lead author of Deep Learning.
English-Canadian cognitive psychologist and computer scientist, most noted for his work on artificial neural networks.
Professor of Computer Science and iCORE Chair, University of Alberta; a founding father of modern computational reinforcement learning.
Professor of AI at Stanford; Director of Stanford's AI Lab; former Chief Scientist of AI/ML at Google Cloud; Co-Founder/Chair of AI4ALL.
Tools that lend themselves to modeling machine learning algorithms.
Library and optimizing compiler for evaluating matrix-valued expressions.
deeplearning.net/theano