Machine Learning

Domains and Applications

Machine Learning/AI is “pattern recognition”. Spot a statistical high-dimensional pattern and make value judgements based upon the pattern. Some of the places it is used today:

  • Optimizing a process or problem
  • Decision trees (like automated phone systems)
  • Natural Language Processing
  • Speech-to-speech translation
  • Computer vision, image recognition, facial recognition
  • Surveillance
  • Video automatic content recognition
  • Gesture control
  • Virtual personal assistants (see Conversational UI)
  • Robotics and automation
  • Recommendation engines
  • Advertising
  • Context aware computing

It will be applied to everything. Some emerging spaces are: music, images and video, architecture, structural engineering, art, medicine, biology research.

Driving Forces, Important Enablers

In 2014, machine learning hit a tipping point, becoming “good enough” for many new domains, with the advent of “deep learning”: an approach to neural nets that uses much larger datasets and multiple neural net layers.

This was followed by the open-sourcing of many production deep learning systems, followed by the open-sourcing of infrastructure and datasets for training them.

What’s next?


  • When everyone trains their AI on same open datasets, what gets missed?
  • As ML permeates more services, networked ML agents will have interesting failure cascades. What happens when financial markets, subway systems, and ordering a pizza are all prone to “flash crash”?


Deep Learning is very broadly applicable, and we’ve barely scratched the use-cases.

Overviews and Tutorials


More resources:

Frameworks and Toolkits

  • TensorFlow (Google. Written in Go.)
  • Caffe (Berkeley Vision and Learning Center)
  • Torch (Lua)
  • Paddle (Baidu. Distributed Deep Learning.)
  • Theano (Python. Deep Learning.)
  • Keras (Python. Neural Nets.)
  • Leaf (Rust. Can run on GPU or CPU)

Datasets and Training Resources


Types of Machine Learning

Lots of Deep Learning is based on matrix multiplication (or “Tensors”).

  • Supervised (inductive) machine learning
    • Emails are labeled as spam and not spam by user.
    • Most mature, most widely used
    • Give examples of desired result
    • Data is everywhere, but labeling the data needs to be done by humans.
    • Clustering… common in marketing
  • Unsupervised learning
    • You group emails into good and bad, and hopefully that correlates against spam and not spam. This is very hard.
    • Harder, less to work with, harder to tell what a good result is
  • Semi-supervised learning
    • Some are labeled as spam, some as not spam, and some are unlabeled.
    • Often you can’t afford to label all the data, but you can label some of it. Start there and bootstrap.
    • Could say this is how most people learn most things.
  • Reinforcement learning
    • Ambitious. AI looks forward to this. Hardest.
    • A real agent in the real world.
    • Rewards from sequence of actions.
    • In a way, a kind of semi-supervised learning. But it’s sequential.
    • Scoring what you’ve learned back against what you did in the past.
    • Least used.


Simple example:

Given examples of a function x, f(x) Predict function f(x) for new example x.

I have to guess what previously unseen examples are. If your problem is…

  • Discrete f(x): classification
  • Continuous f(x): regression
  • f(x) = probability(x): probability estimation

Regression is what most statistitions do for a living. Discrete things tends to be what compsci people are interested in.

Supervised learning

  • Supervised learning
    • Decision tree induction
    • Rule induction
    • Instance-based learning
    • Bayesian learning
    • Neural networks
    • Support vector machines
    • Model ensembles
    • Learning theory (encompasses above. Recurring problems like overfitting, etc)
  • Unsupervised learning
    • Clustering
    • Dimensionality reduction
    • 2 ways data can be big: “I have lots of examples”, or “I know a lot about these people”.
    • I might have 100s of 1000s of variables. Super-high-dimensional data.



  • Updated
    Oct 17, 2016