machine learning in action - rainfocus...observed (christopher bishop (2006), pattern recognition...

80
Machine Learning in Action Heli Helskyaho

Upload: others

Post on 31-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Machine Learning in ActionHeli Helskyaho

Page 2: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Graduated from University of Helsinki (Master of Science, computer science), currently a doctoral student, researcher and lecturer (databases, Big Data, Multi-model Databases, methods and tools for utilizing semi-structured data for decision making) at University of Helsinki

Worked for IT since 1990 Data and Database! CEO for Miracle Finland Oy Oracle ACE Director Ambassador for EOUC (EMEA Oracle Users Group Community) Listed as one of the TOP 100 influences on IT sector in Finland (2015, 2016, 2017) Public speaker and an author Author of the book Oracle SQL Developer Data Modeler for Database Design Mastery (Oracle Press,

2015), co-author for Real World SQL and PL/SQL: Advice from the Experts (Oracle Press, 2016)

Introduction, Heli

Page 3: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Page 4: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

3 Membership Tiers• Oracle ACE Director• Oracle ACE• Oracle ACE Associate

bit.ly/OracleACEProgram

500+ Technical Experts Helping Peers Globally

Connect:

Nominate yourself or someone you know: acenomination.oracle.com

@oracleace

Facebook.com/oracleaces

[email protected]

Page 5: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

What is Machine Learning?

An important part of Artificial Intelligence (AI)

Machine learning (ML) teaches computers to learn from experience (algorithms)

Learn from data and make predictions

Mathematics, statistics,…

“field of study that gives computers the ability to learn without being explicitly programmed“

-- Arthur Samuel, 1959

A systematic study of algorithms and systems that improve their knowledge orperformance with experience

Page 6: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Improved technology

The price for storage solutions

An environment that NEEDS ML and is finally able to really use it

Artificial Intelligence (AI)

BIG DATA

Why ML? Why now?

Page 7: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

There is no size that makes a data to be ”Big Data”, it always depends on the capabilities

The data is ”Big” when traditional processing with traditional tools is not possible due to the amount or the complexity of the data

You cannot open an attachement in email

You cannot edit a photo

etc.

What is Big Data?

Page 8: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Volume, the size/scale of the data

Velocity, the speed of change, analysis of streaming data

Variety, different formats of data sources, different forms of data; structured, semi-structured, unstructured

The three V’s

Page 9: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Veracity, the uncertainty of the data, the data is worthless or harmful if it’s not accurate

Viability, validate that hypothesis before taking further action (and, in the process of determining the viability of a variable, we can expand our view to determine other variables)

Value, the potential value

Variability, refers to data whose meaning is constantly changing, in consistency of data; for example words and context

Visualization, a way of presenting the data in a manner that’s readable and accessible

The other V’s

Page 10: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Challenges in Big Data

More and more data (volume)

Different data models and formats (variety)

Loading in progress while data exploration going on (velocity)

Not all data is reliable (veracity)

We do not know what we are looking for (value, viability, variability)

Must support also non-technical users (journalists, investors, politicians,…) (visualization)

All must be done efficiently and fast and as much as possibly by machines

Page 11: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

You have data! ML cannot be performed without data

part of the data for finding the model, part to prove it (not all for finding the model!)

Rules and equations are Complex (image recognition)

Constantly changing (fraud detection)

The nature of the data changes and the program must adapt (today’sspam is tomorrow’s ham) (predicting shopping trends)

When to use ML?

Page 12: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

A Task

The problem to be solved with ML

It is very important to define the Task well

Machine learning is not only a computational subject, the practical side is very important

The Task

Page 13: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

An Algorithm

the “experience” for the computer to learn with, solves the learning problem

Humans learn with experience, machines learn with algorithms

It is not easy to find the right Algorithm for the Task

usually try with several algorithms to find the best one

selecting an algorithm is a process of trial and error

It’s all about Algorithms

Page 14: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

The selection of an algorithm depends on for instance the size and type of data the insights you want to get from the data how those insights will be used

It’s a trade-off between many things Predictive accuracy on new data Speed of training Memory usage Transparency (black box vs “clear-box”, how decisions are made) Interpretability (the ability of a human to understand the model) …

Which algorithm?

Page 15: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

A Model The output of ML The Task is Addressed by Models

Different Models: Predictive model

” forecast what might happen in the future”

Descriptive model ”what happened”

Prescriptive model recommending one or more courses of action and showing the likely outcome of each

decision

The Model

Page 16: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Features/Dimensions an individual measurable property or characteristic of a phenomenon being

observed (Christopher Bishop (2006), Pattern recognition and machine learning)

Deriving features (feature engineering, feature extraction) is one of the most important parts of machine learning. It turns data into information that a machine learning algorithm can use.

A Model is only as good as its Features…

Features

Page 17: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Use the right Features

with right Algorithms

to build the right Models

that archieve the right Tasks

ML in short

Page 18: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Unsupervised learning

finds hidden patterns or intrinsic structures in input data

Supervised learning

trains a model on known input and output data to predict future outputs

Two types of Methods (techniques)

Page 19: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Learning from unlabeled input data by finding hidden patterns or intrinsic structures in that data

used typically when you

don’t have a specific goal

are not sure what information the data contains

want to reduce the features of your data as a preprocessing for supervised learning

Unsupervised Learning

Page 20: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Data for Unsupervised Learning

Page 21: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Clustering is the most common method for unsupervised learning and used for exploratory data analysis to find hidden patterns or groupings in data.

Clustering algorithms

Hard clustering

each data point belongs to only one cluster

Soft clustering

each data point can belong to more than one cluster

Clustering

Page 22: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Learning from known, labelled data

Training a model on known input and output data to predict future outputs (remember that uncertainty is always involved)

Supervised Learning

Page 23: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Data for Supervised Learning

Page 24: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

1. Train

1. Load data

2. Pre-process data

3. Learn using a method and an algorithm

4. Create a model

iterate until you find the best model

A process of supervised learning 1/2

Page 25: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

2. Predict (use the model with new data)

1. New data

2. Pre-process data

3. Use the model

4. Get predictions

5. Integrate the models into applications

A process of supervised learning 2/2

Page 26: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Predictive models

Classification

Regression

Supervised Learning, methods/techniques

Page 27: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Classification models are trained to classify data into categories.

They predict discrete responses

an email is genuine or spam

a tumor is small, medium size, or large

a tumor is cancerous or benign

a person is creditworthy or not

For example applications like medical imaging, speech recognition, and credit scoring

Supervised Learning, Classification

Page 28: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

To predict continuous responses

changes in temperature

fluctuations in electricity demand

For example applications like forecasting stock prices, handwriting recognition, acoustic signal processing, failure prediction in hardware, and electricity load forecasting.

Supervised Learning, Regression

Page 29: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

ML always gives an approximated answer

Some are better than others, some are useful

several models, choose the best, but still: all approximations! There is no correct answer…

Educated guess!

Page 30: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Spam filters

Log filters (and alarms)

Data analytics

Image recognition

Speech recognition

Medical diagnosis

Robotics

Fraud protection

Real life use cases for ML

Page 31: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Demo

A simple example, Chatbot

Page 32: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Online shopping (Amazon, Search, recommendations)

Voice-to-Text, Smart Personal Assistants (mobile services: ”recipe for bread”, ”find the nearest grocery”)

Siri, Google Assistant, Alexa, Echo, Cortana,…

Facebook

Real life use cases for ML

Page 33: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Kim Hazelwood, Sarah Bird, David Brooks, Soumith Chintala, Utku Diril, Dmytro Dzhulgakov, Mohamed Fawzy, Bill Jia, Yangqing Jia, Aditya Kalro, James Law, Kevin Lee, Jason Lu, Pieter Noordhuis, Misha Smelyanskiy, Liang Xiong, Xiaodong Wang, “Applied Machine Learning at Facebook: A Datacenter Infrastructure Perspective”, Facebook, Inc.

X. He, J. Pan, O. Jun, T. Xu, B. Liu, T. Xu, Y. Shi, A. Atallah, R. Herbrich, S. Bowers, and J. Quinonero Candela, “Practical lessons from predicting clicks on ads at facebook,” in Proceedings of the Eighth International Workshop on Data Mining for Online Advertising, ser. ADKDD’14. New York, NY, USA: ACM, 2014, pp. 5:1–5:9.

J. Dunn, “Introducing FBLearner flow: Facebook’s AI backbone,” May2016, https://fb.me/dunn 2016.https://code.facebook.com/posts/1072626246134461/introducing-fblearner-flow-facebook-s-ai-backbone/

Example Facebook, References

Page 34: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

“Give people the power to build community and bring the world closer together.”

Facebook connects more than two billion people as of December 2017

Could not be done without ML

The massive amount of data required by machine learning services presents challenges to Facebook’s datacenters. Several techniques are used to efficiently feed data to the models including decoupling of data feed and training, data/compute co-location, and networking optimizations.

Disaster recovery planning is essential

actively evaluating and prototyping new hardware solutions while remaining cognizant of game changing algorithmic innovations

Facebook’s mission

Page 35: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

News Feed ranking

Ads

Search

Sigma

Lumos

Facer

Language Translation

Speech Recognition

Facebook, some use cases for ML, the Products

Page 36: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

ML is used for ranking and personalizing News Feed stories

filtering out offensive content

highlighting trending topics

ranking search results, and much more.

General models are trained to determine various user and environmental factors that should ultimately determine the rank order of content.

The model is used to generate a personalized set of the best posts, images, and other content to display from thousands of candidates, and the best ordering of this chosen content.

News Feed

Page 37: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Online advertising allows advertisers to only bid and pay for measurable user responses, such as clicks on ads.

As a consequence, click prediction systems are central to most online advertising systems.

General Ads models are trained to learn how user traits, user context, previous interactions, and advertisement attributes can be most predictive of the likelihood of clicking on an ad, visiting a website, and/or purchasing a product.

Inputs are run through a trained model to immediately determine which ads to display to a particular Facebook user.

Ads

Page 38: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

The click prediction system needs to be robust and adaptive, and capable of learning from massive volumes of data.

At Facebook they use a model which combines decision trees with logistic regression

Based on their experience: the most important thing is to have the right features (those capturing historical information about the user or ad dominate other types of features) and the right model

Measures: the accuracy of prediction

Predicting the Clicks

Page 39: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Launches a series of distinct and specialized sub-searches to the various verticals, e.g., videos, photos, people, events, etc.

A classifier layer is run atop the various search verticals to predict which of the many verticals to search (searching all possible verticals would be inefficient)

The classifier and these search verticals consist of

an offline stage to train the models

and an online stage to run the models and perform the classification and search

Search

Page 40: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

General classification and anomaly detection framework that is used for a variety of internal applications (site integrity, spam detection, payments, registration, unauthorized employee access, and event recommendations)

Sigma includes hundreds of distinct models running in production everyday

each model is trained to detect anomalies (e.g. classify content)

Sigma

Page 41: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Extract high-level attributes and embeddings from an image and its content

That data can be used as input to other products and services

for example as it were text.

Lumos

Page 42: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Facebook’s face detection and recognition framework

Given an image

finds all of the faces in that image

runs a user-specific facial-recognition algorithm to determine the likelihood of that face belonging to one of your top-N friends who have enabled face recognition

This allows Facebook to suggest which of your friends you might want to tag within the photos you upload.

Facer

Page 43: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Service that manages internationalization of Facebook content

Supports translations for more than 45 languages (as the source or target language)

supports more than 2000 translation directions

serves 4.5B translated post impressions every day

Each language pair direction has its own model

multi-language models are being considered

Language Translation

Page 44: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Converts audio streams into text

Provides automated captioning for video

Most streams are English language

other languages will be available in future

Additionally, non-language audio events are also detected with a similar system (simpler model).

Speech Recognition

Page 45: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Algorithms Facebook uses for these services

Page 46: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

How do they do all this at Facebook?

Page 47: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

FBLearner Platform

Page 48: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

The starting point for a ML modeling task is to gather and generate features.

The Feature Store is a catalog of several feature generators

can be used both for training and real-time prediction

serves as a marketplace that multiple teams can use to share and discover features

FBLearner Feature Store

Page 49: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Facebook’s machine learning platform for model training Workflows: A workflow is a single pipeline defined within FBLearner Flow and is the entry point for all

machine learning tasks. Each workflow performs a specific job, such as training and evaluation of a specific model. Workflows are defined in terms of operators and can be parallelized.

Operators: Operators are the building blocks of workflows In FBLearner Flow, operators are the smallest unit of execution and run on a single machine.

Channels: Channels represent inputs and outputs, which flow between operators within a workflow. All channels are typed using a custom type system.

Flow has tooling for experiment management. The user interface keeps track of all of the artifacts and metrics generated by each workflow execution

or experiment. The user interface makes it simple to compare and manage these experiments.

FBLearner Flow

Page 50: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

The platform consists of three core components:

an authorship and execution environment for custom distributed workflows

an experimentation management UI for launching experiments and viewing results

numerous predefined pipelines for training the most commonly used machine learning algorithms at Facebook.

FBLearner Flow

Page 51: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Facebook’s internal inference engine that uses the models trained in FBLearnerFlow to provide predictions in real time. Can be used

as a multitenancy service

or as a library that can be integrated in product specific backend services

Is used by multiple product teams at Facebook, many of which require low latency solutions.

The direct integration between Flow and Predictor also helps with running online experiments

managing multiple versions of models in productions

FBLearner Predictor

Page 52: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Two distinct but synergistic frameworks for deep learning at Facebook:

PyTorch, which is optimized for research

Caffe2, which is optimized for production

Frameworks for deep learning

Page 53: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

PyTorch is the framework for AI research at Facebook which enables rapid experimentation Flexibility

Debugging

Dynamic neural networks

Not optimized for production and mobile deployments (Python)

When research projects produce valuable results, the models need to be transferred to production. Traditionally, rewriting the training pipeline in a product environment with other

frameworks.

PyTorch

Page 54: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Facebook’s in-house production framework

For training and deploying large-scale machine learning models

Focuses on several key features required by products:

Performance

cross-platform support

coverage for fundamental machine learning algorithms (convolutional neural networks (CNNs), recurrent networks (RNNs), and multi-layer perceptrons(MLPs)) and up to tens of billions of parameters

Caffe2

Page 55: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Different tools are better for different subset of problems and have varying tradeoffs on flexibility, performance, and supported platforms . As a result, there should be a way to exchange trained models between different frameworks or platforms.

ONNX is a format to represent deep learning models in a standard way to enable interoperability across different frameworks and vendor-optimized libraries.

ONNX is designed as an open specification

Within Facebook, ONNX is used for transferring research models from the PyTorch environment to high-performance production environment in Caffe2. ONNX provides the ability to automatically capture and translate static parts of the models. An additional toolchain facilitates transfer of dynamic graph parts from Python by either mapping

them to control-flow primitives in Caffe2 or reimplementing them in C++ as custom operators.

Open Neural Network Exchange, ONNX

Page 56: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

success is predicated on the availability of extensive, high-quality data

complex preprocessing logic is applied to ensure that data is cleaned and normalized to allow efficient transfer and easy learning

The ability to rapidly process and feed these data to the training machines is important for ensuring that we have fast and efficient offline training.

These impose very high resource requirement especially on storage, network, and CPU.

actively evaluating and prototyping new hardware solutions while remaining cognizant of game changing algorithmic innovations

Knowing what to measure to know what to improve

The success factors

Page 57: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

How does the model perform on the data?

Which of the models is the best?

Which of the learning algorithms gives the best model for the data?

To be able to answer questions like these we need to have measuring

How do I know when to tune?

Page 58: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Number of positives, number of negatives, number of true positives, number of false positives, number of true negatives, number of false negatives

Portion of positives, portion of negatives

Class ratio

Accuracy, Error rate

ROC curve, coverage curve,

It all depends on how we define the performance for the answer to ourquestion (experiment): experimental objective

What to measure?

Page 59: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Improving Models

Why to improve

To increase the accuracy and predictive power of the model

To increase the ability to recognize data from noise

To increase the performance

To improve the Measures wanted

Page 60: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Improving Models

Model improvement involves

Feature engineering

Feature selection (Adding variables to the model to improve the accuracy or removing variables that do not improve model performance)

Feature transformation/extraction (a form of dimensionality reduction)

Hyperparameter tuning (parameters whose values are set prior to the commencement of the learning process )

Page 61: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

“we noticed that the largest improvements in accuracy often came from quick experiments, feature engineering, and model tuning rather than applying fundamentally different algorithms”

An engineer may need to attempt hundreds of experiments before finding a successful new feature or set of hyperparameters.

Facebook

Page 62: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Oracle SQL Developer demo

Page 63: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Oracle SQL Developer is a free tool from Oracle Has an add-on called Data Miner Advanced analytics (Data Miner uses that) is a licensed product (in the EE

database separately licensed, in the Cloud: Database Service either HighPerformace Package or Extreme Performance Package)

Oracle Data Miner GUI Installation Instructionshttp://www.oracle.com/technetwork/database/options/advanced-analytics/odm/odmrinstallation-2080768.html Tutorialhttp://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/BigDataDM/ODM12c-BDL4.html

Oracle SQL Developer, Data Miner

Page 64: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Chapter 10

Page 65: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Page 66: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

a component of the Oracle Advanced Analytics Option (payable option)

open source R statistical programming language in an Oracle database

Oracle R Enterprice

Page 67: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Chapter 11

Page 68: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)
Page 69: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Predictive Queries enable you to build and score data quickly using the in-database data mining algorithms

Predictive Queries can be

built using Oracle Data Miner

written using SQL

Predictive Queries in Oracle 12c

Page 70: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Chapter 12

Page 71: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Python C/C++ Java JavaScript Julia, Scala, Ruby, Octave, MATLAB, SAS

https://medium.com/towards-data-science/what-is-the-best-programming-language-for-machine-learning-a745c156d6b7

And so many more languages to learn…

Page 72: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

AI and machine learning is here and it’s the future

So many interesting areas to learn

Pick your area and START LEARNING!

The future and now!

Page 73: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Conclusions

The time for Machine Learning is now because we technically able to useit and because of Big Data

Page 74: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Several V’s related to Big Data… Volume

Velocity

Variety

Veracity

Viability

Value

Variability

Visualization

Conclusion

Page 75: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

ML can be used ”everywhere”: Spam filters

Log filters (and alarms)

Data analytics

Image recognition

Speech recognition

Medical diagnosis

Robotics

Chatbots

Conclusion

Page 76: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Facebook uses ML ”everywhere” News Feed ranking

Ads

Search

Sigma

Lumos

Facer

Language Translation

Speech Recognition

Conclusion

Page 77: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Machine learning is all about approximation/educated guess

Unsupervised Learning vs supervised Learning

Unsupervised Learning

Clustering: hard or soft

Supervised Learning

Train, Predict

Predictive Models: classification, regression

Conclusion

Page 78: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

Improving Models

Feature engineering

Hyperparameter tuning

What to measure? How to interpret the measures?

There is so much more to learn in ML...

Conclusion

Page 79: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

Copyright © Miracle Finland Oy

You can use ML ”everywhere”

Start small and when you learn more do more

Define a Task and let ML solve it

Machines are not taking our jobs but helping us to do more interesting things

With ML we can understand our data better and make better decisions

Conclusion

Page 80: Machine Learning in Action - RainFocus...observed (Christopher Bishop (2006), Pattern recognition and machine learning) Deriving features (feature engineering, feature extraction)

THANK YOU!QUESTIONS?

Email: [email protected]

Twitter: @HeliFromFinland

Blog: Helifromfinland.com