machine learning exposed!

29
Machine Learning Exposed! James Weaver Developer Advocate @JavaFXpert #s1p #springone

Upload: javafxpert

Post on 16-Apr-2017

2.697 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Machine Learning Exposed!

Machine Learning Exposed!

James WeaverDeveloper Advocate

@JavaFXpert

#s1p #springone

Page 2: Machine Learning Exposed!

From introductory video in Machine Learning course (Stanford University & Coursera) taught by Andrew Ng.

@JavaFXpert

Page 3: Machine Learning Exposed!

Self-driving cars

@JavaFXpert

Page 5: Machine Learning Exposed!

Supervised Learning

@JavaFXpert

Page 6: Machine Learning Exposed!

Supervised learning regression problem(from Andrew Ng’s Machine Learning course)

@JavaFXpert

Page 7: Machine Learning Exposed!

Unsupervised Learning

@JavaFXpert

Page 8: Machine Learning Exposed!

Unsupervised learning finds structure in unlabeled data

(e.g. market segment discovery, and social network analysis)

@JavaFXpert

Page 9: Machine Learning Exposed!

Reinforcement Learning

@JavaFXpert

Page 11: Machine Learning Exposed!

Supervised learning classification problem(using the Iris flower data set)

Sepal length

Sepal width

Petal length

Petal width

Species

5.1 3.5 1.4 0.2 Iris setosa

4.9 3.0 1.4 0.2 Iris setosa

7.0 3.2 4.7 1.4 Iris versicolor

6.4 3.2 4.5 1.5 Iris versicolor

6.3 3.3 6.0 2.5 Iris virginica

5.8 3.3 6.0 2.5 Iris virginica

Features LabelsTraining / test data

@JavaFXpert

Page 12: Machine Learning Exposed!

Iris data classified in four

dimensions

Sepal length

Sepal width

Petal length

Petal width

Species

5.1 3.5 1.4 0.2 Iris setosa

4.9 3.0 1.4 0.2 Iris setosa

7.0 3.2 4.7 1.4 Iris versicolor

6.4 3.2 4.5 1.5 Iris versicolor

6.3 3.3 6.0 2.5 Iris virginica

5.8 3.3 6.0 2.5 Iris virginica

Credit: Tal Galilihttps://cran.r-project.org/web/packages/dendextend/vignettes/Cluster_Analysis.html

Features LabelsTraining / test data

@JavaFXpert

Page 13: Machine Learning Exposed!

Modeling the brain works well with machine learning(ya think?)

(inputs)

(output)

@JavaFXpert

Page 14: Machine Learning Exposed!

Anatomy of an Artificial Neural Network(aka Deep Belief Network when multiple hidden layers)

Input layer Output layerHidden layers

Neurons

Synapses@JavaFXpert

Page 16: Machine Learning Exposed!

Entering feature values for prediction (classification)

@JavaFXpert

Page 17: Machine Learning Exposed!

Visual Neural Network application architectureSpring makes REST services and WebSockets easy as π

Neural Net Model Listener

HTML5 client (angular 2 & visjs)

DeepLearning4j library

Neural net graph (WebSocket)

Prediction REST service

prediction & activations

Model Selection Handler

connect & subscribe(WebSocket)

@JavaFXpert

Page 18: Machine Learning Exposed!

@JavaFXpert

The app leverages machine learning library found at deeplearning4j.org

Page 19: Machine Learning Exposed!

Simple neural network trained for XOR logic

forward propagation

@JavaFXpert

Page 20: Machine Learning Exposed!

Feedforward calculations with XOR exampleFor each layer:

(1 x 8.54) + (0 x 8.55) = 8.54

1 / (1 + e -4.55) = 0.99Use sigmoid activation function:

Multiply inputs by weights:Add bias: 8.54 + (-3.99) = 4.55

@JavaFXpert

Page 21: Machine Learning Exposed!

Simple neural network trained for XOR logic

back propagation (minimize cost function)

@JavaFXpert

Page 22: Machine Learning Exposed!

Back propagationUses gradient descent to iteratively minimize the cost function

@JavaFXpert

Page 23: Machine Learning Exposed!

@JavaFXpert

kaggle.com is a great website for data science and machine learning enthusiasts

Page 24: Machine Learning Exposed!

@JavaFXpert

Let’s use a dataset from kaggle.com to train a neural net on speed dating

Page 25: Machine Learning Exposed!

Identify features and label we’ll use in the modelLet’s use 65% of the 8378 rows for training and 35% for testing

@JavaFXpert

Page 26: Machine Learning Exposed!

Code that configures our speed dating neural net

@JavaFXpert

Page 27: Machine Learning Exposed!

Trying our new speed dating neural net example

@JavaFXpert

Page 28: Machine Learning Exposed!

Making predictions with our speed dating neural netNote that input layer neuron values are normalized

@JavaFXpert

Page 29: Machine Learning Exposed!

Machine Learning Exposed!

James WeaverDeveloper Advocate

@JavaFXpert

#s1p #springone

(Thanks for your kind attention)