Machine Learning
Introduction to Machine Learning
About Presenter Katharine Beaumont
Writer and editor for Voxxed, interviewer for Devoxx and Voxxed Days, developer for fun :-)
@KatharineCodes
Perpetual student, wandering into software development from maths, science, publishing, politics, law...
Developer / Mathematician / Writer / Speaker - Voxxed
About Presenter James Weaver
Java Champion, JavaOne Rockstar, plays well with others, etc :-)
@JavaFXpert
Author of several Java/JavaFX/RaspPi books
Developer Advocate & International Speaker for Pivotal
@JavaFXpert
You are cordially invited to ...
From introductory video in Machine Learning course (Stanford University & Coursera) taught by Andrew Ng.
@KatharineCodes @JavaFXpert
Self-driving cars
@KatharineCodes @JavaFXpert
Generating image descriptions
@KatharineCodes @JavaFXpert
Supervised Learning
@KatharineCodes @JavaFXpert
Supervised learning regression problem
@KatharineCodes @JavaFXpert
Unsupervised Learning
@KatharineCodes @JavaFXpert
Unsupervised learning finds structure in unlabeled data
(e.g. market segment discovery, and social network analysis)
@KatharineCodes @JavaFXpert
Reinforcement Learning
@KatharineCodes @JavaFXpert
AlphaGo is a recent reinforcement learning success story
@KatharineCodes @JavaFXpert
Supervised Learning
(Let's dive in now)
@KatharineCodes @JavaFXpert
Supervised learning classification problem
(using the classic Iris flower data set)
@KatharineCodes @JavaFXpert
@KatharineCodes @JavaFXpert
Visualizing Iris dataset with TensorFlow tool
@KatharineCodes @JavaFXpert
Lab Exercise:
@KatharineCodes @JavaFXpert
- Select the Circle dataset icon and only the X1 & X2 features.
- Using a total of six neurons allocated among any number of hidden layers, modify the hyperparameters in such a way that minimizes the number of Epochs required to make the Test loss and Training loss each <= 0.009
- Tweet screenshot with your lowest Epochs result using #MachineLearningExposed and presenters' Twitter IDs
Practice tuning neural network hyperparameters
Is Optimizing your Neural Network a Dark Art ?
Excellent article by Preetham V V on neural networks and choosing hyperparameters
@KatharineCodes @JavaFXpert
Convolutional neural networks
Recognizing images
@KatharineCodes @JavaFXpert
Convolutional neural network architecture
@KatharineCodes @JavaFXpert
[by Adit Deshpande]
Peeking into a convolutional neural network
http://scs.ryerson.ca/~aharley/vis/ [by Adam Harley]
@KatharineCodes @JavaFXpert
Time series prediction with neural networks
What is happening? What is most likely to happen next?
@KatharineCodes @JavaFXpert
This is a job for a Recurrent Neural Network
What is happening? What is most likely to happen next?
@KatharineCodes @JavaFXpert
Music composition with an RNN
@KatharineCodes @JavaFXpert
Predicting the most likely next note
@KatharineCodes @JavaFXpert
Playing a duet with neural networks
@KatharineCodes @JavaFXpert
Playing a duet with neural networks
@KatharineCodes @JavaFXpert
Unsupervised Learning
@KatharineCodes @JavaFXpert
(Let's dive in now)
Using unsupervised learning to map artworks
@KatharineCodes @JavaFXpert
Reinforcement Learning
(Let's dive in now)
@KatharineCodes @JavaFXpert
Using BURLAP for Reinforcement Learning
@KatharineCodes @JavaFXpert
Learning to Navigate a Grid World with Q-Learning
@KatharineCodes @JavaFXpert
Rules of this Grid World
- Agent may move left, right, up, or down (actions)
- Reward is 0 for each move
- Reward is 5 for reaching top right corner (terminal state)
- Agent can't move into a wall or off-grid
- Agent doesn't have a model of the grid world. It must discover as it interacts.
Challenge: Given that there is only one state that gives a reward, how can the agent work out what actions will get it to the reward?
(AKA the credit assignment problem)
Goal of an episode is to maximize total reward
@KatharineCodes @JavaFXpert
This Grid World's MDP (Markov Decision Process)
In this example, all actions are deterministic
@KatharineCodes @JavaFXpert
Agent learns optimal policy from interactions with the environment (s, a, r, s')
@KatharineCodes @JavaFXpert
Through the Eyes of a Self-Driving Tesla
@KatharineCodes @JavaFXpert
Summary of links
Andrew Ng video:
https://www.coursera.org/learn/machine-learning/lecture/zcAuT/welcome-to-machine-learning
Iris flower dataset:
https://en.wikipedia.org/wiki/Iris_flower_data_set
Visual neural net server:
http://github.com/JavaFXpert/visual-neural-net-server
Visual neural net client:
http://github.com/JavaFXpert/ng2-spring-websocket-client
Deep Learning for Java: http://deeplearning4j.org
Spring initializr: http://start.spring.io
A.I Duet application: http://aiexperiments.withgoogle.com/ai-duet/view/
Self driving car video: https://vimeo.com/192179727
@KatharineCodes @JavaFXpert
Machine Learning
Introduction to Machine Learning
Machine Learning Exposed: Introduction to Machine Learning
By javafxpert
Machine Learning Exposed: Introduction to Machine Learning
Shedding light on machine learning, being gentle with the math.
- 3,427