Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science...

18
Overview of Machine Learning and H2O.ai

Transcript of Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science...

Page 1: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

OverviewofMachineLearningandH2O.ai

Page 2: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

MachineLearningOverview

Page 3: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Whatismachinelearning?

-- ArthurSamuel,1959

Page 4: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Whynow?• Data,computers,andalgorithms

arecommodities

• Unstructureddata

• Increasingcompetitioninbusiness

Page 5: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Estimatingamodelforinference

Whathappened?Why?

Assumptions, parsimony,interpretation

Linearmodels,statistics

Modelstendtobestatic

Training amodelforprediction

Whatwillhappen?

Predictive accuracy,productiondeployment

Machinelearning

Many modelscanevolveelegantly

Page 6: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Machine Learning

DangerZone?

TraditionalResearch

DataScience

Page 7: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Copyr igh t © 2014 , SAS Ins t i t u te Inc . A l l r igh ts rese rved .

Ifsomeoneclaimstohavetheperfectprogramminglanguage,heiseitherafoolorasalesmanorboth.

-- BjarneStroustrup

1.Thereisnoperfectlanguage.

FREE LUNCH!

Algorithmsthatsearchforanextremumofacostfunctionperformexactlythesamewhenaveragedoverallpossiblecostfunctions.

-- D.H.Wolpert

2.Thereisnoperfectalgorithm.

DevelopinganddeployingMLsystemsisrelativelyfastandcheap,butmaintainingthemovertimeisdifficultandexpensive.

-- Google,HiddenTechnicalDebtinMachineLearningSystems

3.Doingthingsrightisalwayshard.

Page 8: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

H2O.ai Overview

Page 9: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

CompanyOverviewFounded 2011 Venture-backed,debutedin2012

Products • H2O: In-Memory AIPredictionEngine• SparklingWater:SparkIntegration• Steam:Deploymentengine• DeepWater:DeepLearning

Mission Operationalize DataScience,andprovideaplatformforuserstobuildbeautifuldataproducts

Team 70employees• DistributedSystemsEngineersdoingMachineLearning• World-classvisualizationdesigners

Headquarters Mountain View,CA

Page 10: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

H2O.aiOffersAIOpenSourcePlatformProductSuitetoOperationalizeDataScience

In-Memory, Distributed Machine Learning

Algorithms with Speed and Accuracy

H2O Integration with Spark. Best Machine Learning on Spark.

100% Open Source

Operationalize and Streamline Model

Building, Training and Deployment Automatically

and Elastically

State-of-the-art Deep Learning on GPUs with TensorFlow, MXNetor Caffe with the ease of

use of H2O

DeepWater

Page 11: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

H2O

DATA

VERTICALS

• H2O FlowSingle web-based Document for code execution, text, mathematics, plots and rich media

• R, Python, Spark APIsAdvanced, scalable ML in the language of your choice

• H2O Steam Elastic ML & Auto MLOperationalize Data Science

H2O.aiNowFocusedOnExperienceBeyondAlgorithmsandData

Deep Water

Page 12: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

HDFS

S3

NFS

DistributedIn-Memory

LoadData

Loss-lessCompression

H2OComputeEngine

ProductionScoringEnvironment

Exploratory&DescriptiveAnalysis

FeatureEngineering&Selection

Supervised&UnsupervisedModeling

ModelEvaluation&Selection

Predict

Data&ModelStorage

ModelExport:PlainOldJavaObject

YourImagination

DataPrepExport:PlainOldJavaObject

Local

SQL

HighLevelArchitecture

Page 13: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

IntrotoMachineLearningAlgos

Page 14: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Supervised Learning

• Penalized Linear Models: Super-fast, super-scalable, and interpretable

• Naïve Bayes: Straightforward linear classifier

Statistical Analysis

Decision Tree

Ensembles

• Distributed Random Forest: Easy-to-use tree-bagging ensembles

• Gradient Boosting Machine: Highly tunable tree-boosting ensembles

• Deep neural networks: Multi-layer feed-forward neural networks for standard data mining tasks

• Convolutional neural networks: Sophisticated architectures for pattern recognition in images, sound, and text

Algorithms on H2OUnsupervised Learning

• K-means: Partitions observations into similar groups; automatically detects number of groups

Clustering

Dimensionality Reduction

• Principal Component Analysis: Transforms correlated variables to independent components

• Generalized Low Rank Models: Extends the idea of PCA to handle arbitrary data consisting of numerical, Boolean, categorical, and missing data

Anomaly Detection

Term Embeddings

• Autoencoders: Find outliers using a nonlinear dimensionality reduction technique

• Word2vec: Generate context-sensitive numerical representations of a large text corpus

MultilayerPerceptron

DeepLearning

Neural Networks

Stacking • Stacked Ensemble: Combine multiple types of models for better predictions Aggregator

• Aggregator: Efficient, advanced sampling that creates smaller data sets from larger data sets

Page 15: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Supervised Learning

X

y

Regression: How much will a customers spend?

Classification: Will a customer make a purchase? Yes or No

xi

xj

yesno

H2O algos: Penalized Linear ModelsRandom ForestGradient BoostingNeural NetworksStacked Ensembles

H2O algos: Penalized Linear ModelsNaïve BayesRandom ForestGradient BoostingNeural NetworksStacked Ensembles

Page 16: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

Unsupervised Learning

Clustering:Grouping rows – e.g. creating groups of similar customers

H2O algos: k – means

xi

xj

DINKHINRYSoccermom

Feature extraction:Grouping columns – Create a small number of new representative dimensions

xi

xj

PC1 = -0.3 xi - 0.4 xi

H2O algos: Principal componentsGeneralized low rank modelsAutoencodersWord2Vec

xi

xj

Weirdo

Fraudster

Billionaire

Anomaly detection:Detecting outlying rows - Finding high-value, fraudulent, or weird customers

H2O algos: Principal componentsGeneralized low rank modelsAutoencoders

Page 17: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

GradientBoostingMachines

Neural Networks

(Deep learning & MLP)

RandomForest

NaïveBayes

PenalizedLinear Models

Usage Recommendations Problems

• Regression • Classification

• Creates interpretable models with super-fast training time• Nonlinear and interaction terms to be specified manually• Can extrapolate beyond training data domain• Select the correct target distribution• Few hyperparameters to tune

• NAs • Outliers/influential points • Strongly correlated inputs• Rare categorical levels in new data

• Classification • Nonlinear and interaction terms should be specified by users

• Linear independence assumption• Often less accurate than more

sophisticated classifiers• Rare categorical levels in new data

• Regression • Classification

• Builds accurate models without overfitting• Few hyperparameters to tune• Requires less data prep• Great for implicitly modeling interactions

• Difficulty extrapolating beyond training data domain

• Can be difficult to interpret• Rare categorical levels in new data

• Regression • Classification

• Builds accurate models without overfitting(often more accurate than random forest)

• Requires less data prep• Great for implicitly modeling interactions

• Many hyperparameters• Difficulty extrapolating beyond training

data domain• Can be difficult to interpret• Rare categorical levels in new data

• Regression • Classification

• Great for modeling interactions in fully connected topologies

• Can extrapolate beyond training data domain• Deep learning architectures best-suited for pattern

recognition in images, videos, and sound

• NAs• Overfitting• Outliers/influential

points• Long training times

• Many hyperparameters• Strongly correlated

inputs• Rare categorical levels

in new data• Difficult to interpret

Page 18: Overview of Machine Learning and H2O - GitHub...Product Suite to Operationalize Data Science In-Memory, Distributed Machine Learning Algorithms with Speed and Accuracy H2O Integration

k - means

Usage Recommendations Problems

• Clustering

• Many Hyperparameters• Overtraining• Specifying term

weightings prior to training

Principal ComponentsAnalysis

GeneralizedLow Rank

Models

Autoencoders(Neural

Networks)

• NAs• Overtraining• Outliers/influential

points• Long training times

• Many hyperparameters

• Strongly correlated inputs

• Rare categorical levels in new data

• Feature extraction• Dimension reduction• Anomaly detection

• Feature extraction• Dimension reduction• Anomaly detection• Matrix completion

• Feature extraction• Dimension reduction• Anomaly detection

• NAs • Outliers/influential points• Strongly correlated inputs• Cluster labels sensitive to initialization• Curse of dimensionality

• NAs• Outliers/influential points• Categorical inputs

• Outliers/influential points

• Great for creating Gaussian, non-overlapping, roughly equally sized clusters

• The number of clusters can be unknown

• Great for extracting a number <= N of linear, orthogonal features from i.i.d. numeric data

• Great for plotting extracted features in a reduced-dimensional space to analyze data structure, e.g. clusters, hierarchy, sparsity, outliers

• Great for extracting linear features from mixed data • Great for plotting extracted features in a reduced-

dimensional space to analyze data structure, e.g. clusters, hierarchy, sparsity, outliers

• Great for imputing NAs

• Great for extracting a number of nonlinear features from mixed data

• Great for plotting extracted features in a reduced dimensional space to analyze structure, e.g. clusters, hierarchy, sparsity, outliers

• Great for extracting highly representative, context sensitive term embeddings (e.g. numerical vectors) from text

• Great for text preprocessing prior to further supervised or unsupervised analysis

• Long training times• Highly representative feature extraction from textWord2Vec