machine learning exposed!
TRANSCRIPT
![Page 1: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/1.jpg)
Machine Learning Exposed!
James WeaverDeveloper Advocate
@JavaFXpert
#s1p #springone
![Page 2: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/2.jpg)
From introductory video in Machine Learning course (Stanford University & Coursera) taught by Andrew Ng.
@JavaFXpert
![Page 3: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/3.jpg)
Self-driving cars
@JavaFXpert
![Page 4: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/4.jpg)
Generating image descriptions
Credit: Andrej Karpathy, Li Fei-Feihttp://cs.stanford.edu/people/karpathy/deepimagesent/
@JavaFXpert
![Page 5: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/5.jpg)
Supervised Learning
@JavaFXpert
![Page 6: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/6.jpg)
Supervised learning regression problem(from Andrew Ng’s Machine Learning course)
@JavaFXpert
![Page 7: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/7.jpg)
Unsupervised Learning
@JavaFXpert
![Page 8: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/8.jpg)
Unsupervised learning finds structure in unlabeled data
(e.g. market segment discovery, and social network analysis)
@JavaFXpert
![Page 9: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/9.jpg)
Reinforcement Learning
@JavaFXpert
![Page 10: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/10.jpg)
AlphaGo is a recent reinforcement learning success story
Source: https://gogameguru.com/i/2016/03/AlphaGo-Lee-Sedol-game-3-game-over.jpg@JavaFXpert
![Page 11: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/11.jpg)
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!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/12.jpg)
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!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/13.jpg)
Modeling the brain works well with machine learning(ya think?)
(inputs)
(output)
@JavaFXpert
![Page 14: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/14.jpg)
Anatomy of an Artificial Neural Network(aka Deep Belief Network when multiple hidden layers)
Input layer Output layerHidden layers
Neurons
Synapses@JavaFXpert
![Page 15: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/15.jpg)
Neural net visualization app (uses Spring and DL4J)https://github.com/JavaFXpert/visual-neural-net-serverhttps://github.com/JavaFXpert/ng2-spring-websocket-client
@JavaFXpert
![Page 16: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/16.jpg)
Entering feature values for prediction (classification)
@JavaFXpert
![Page 17: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/17.jpg)
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!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/18.jpg)
@JavaFXpert
The app leverages machine learning library found at deeplearning4j.org
![Page 19: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/19.jpg)
Simple neural network trained for XOR logic
forward propagation
@JavaFXpert
![Page 20: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/20.jpg)
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!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/21.jpg)
Simple neural network trained for XOR logic
back propagation (minimize cost function)
@JavaFXpert
![Page 22: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/22.jpg)
Back propagationUses gradient descent to iteratively minimize the cost function
@JavaFXpert
![Page 23: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/23.jpg)
@JavaFXpert
kaggle.com is a great website for data science and machine learning enthusiasts
![Page 24: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/24.jpg)
@JavaFXpert
Let’s use a dataset from kaggle.com to train a neural net on speed dating
![Page 25: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/25.jpg)
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!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/26.jpg)
Code that configures our speed dating neural net
@JavaFXpert
![Page 27: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/27.jpg)
Trying our new speed dating neural net example
@JavaFXpert
![Page 28: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/28.jpg)
Making predictions with our speed dating neural netNote that input layer neuron values are normalized
@JavaFXpert
![Page 29: Machine Learning Exposed!](https://reader033.vdocuments.us/reader033/viewer/2022061306/58f2c7dd1a28ab101a8b456d/html5/thumbnails/29.jpg)
Machine Learning Exposed!
James WeaverDeveloper Advocate
@JavaFXpert
#s1p #springone
(Thanks for your kind attention)