predictive apps for startups
Post on 22-Mar-2017
410 Views
Preview:
TRANSCRIPT
Predictive Apps for Startups
@louisdorard #MLVLC - 11 March 2016
AI is everywhere
Lars Trieloff
@trieloff
(see source)
How does it work?
Data + Machine Learning
Bedrooms Bathrooms Surface (foot²) Year built Type Price ($)
3 1 860 1950 house 565,0003 1 1012 1951 house2 1.5 968 1976 townhouse 447,0004 1315 1950 house 648,0003 2 1599 1964 house3 2 987 1951 townhouse 790,0001 1 530 2007 condo 122,0004 2 1574 1964 house 835,0004 2001 house 855,0003 2.5 1472 2005 house4 3.5 1714 2005 townhouse2 2 1113 1999 condo1 769 1999 condo 315,000
Bedrooms Bathrooms Surface (foot²) Year built Type Price ($)
3 1 860 1950 house 565,0003 1 1012 1951 house2 1.5 968 1976 townhouse 447,0004 1315 1950 house 648,0003 2 1599 1964 house3 2 987 1951 townhouse 790,0001 1 530 2007 condo 122,0004 2 1574 1964 house 835,0004 2001 house 855,0003 2.5 1472 2005 house4 3.5 1714 2005 townhouse2 2 1113 1999 condo1 769 1999 condo 315,000
Bedrooms Bathrooms Surface (foot²) Year built Type Price ($)
3 1 860 1950 house 565,0003 1 1012 1951 house2 1.5 968 1976 townhouse 447,0004 1315 1950 house 648,0003 2 1599 1964 house3 2 987 1951 townhouse 790,0001 1 530 2007 condo 122,0004 2 1574 1964 house 835,0004 2001 house 855,0003 2.5 1472 2005 house4 3.5 1714 2005 townhouse2 2 1113 1999 condo1 769 1999 condo 315,000
ML is a set of AI techniques where “intelligence” is built from
examples
“Weak AI” vs. “Strong AI”
22
Ever yday use cases
• Real-estate
• Spam
• Priority inbox
• Crowd prediction
property price
email spam indicator
email importance indicator
location & context #people
Zillow
Gmail
Gmail
Tranquilien
Making Machine Learning accessible with cloud platforms
HTML / CSS / JavaScript
HTML / CSS / JavaScript
The two phases of ML
• TRAIN a model
• PREDICT with a model
30
M achine Learning APIs
The two methods of ML Application Programming Interfaces (here in Python)
• model = create_model(‘training.csv’)
• predicted_output, confidence = create_prediction(model, new_input)
31
M achine Learning APIs
The two methods of ML Application Programming Interfaces (here in Python)
• model = create_model(‘training.csv’)
• predicted_output, confidence = create_prediction(model, new_input)
32
M achine Learning APIs
Example request to BigML API
$ curl https://bigml.io/dev/model?$BIGML_AUTH \ -X POST \ -H "content-type: application/json" \ -d '{"dataset": "dataset/50ca447b3b56356ae0000029"}'
• Classification problem
• Features:
• Text of email
• Sender in address book?
• How often do I reply?
• How quickly do I reply?
• Demo35
Prior it y detec t ion
• VM with Jupyter notebooks (Python & Bash)
• API wrappers preinstalled: BigML & Google Pred
• Notebook for easy setup of credentials
• Scikit-learn and Pandas preinstalled
• Open source VM provisioning script & notebooks
• Search public Snaps on terminal.com: “machine learning”37
G etting star ted
Making Machine Learning easier
How was i t before?
from sklearn import svmmodel = svm.SVC(gamma=0.001, C=100.)
from sklearn import datasetsdigits = datasets.load_digits() model.fit(digits.data[:-1], digits.target[:-1])
model.predict(digits.data[-1])
How was i t before?
from sklearn import svmmodel = svm.SVC(gamma=0.001, C=100.)
from sklearn import datasetsdigits = datasets.load_digits() model.fit(digits.data[:-1], digits.target[:-1])
model.predict(digits.data[-1])
WAT?
• Spearmint: “Bayesian optimization” for tuning parameters → Whetlab → Twitter
• Auto-sklearn: “automated machine learning toolkit and drop-in replacement for a scikit-learn estimator”
42
Open S ource AutoML l ibrar ies
S cik it
from sklearn import svmmodel = svm.SVC(gamma=0.001, C=100.)
from sklearn import datasetsdigits = datasets.load_digits() model.fit(digits.data[:-1], digits.target[:-1])
model.predict(digits.data[-1])
S cik it
from sklearn import svmmodel = svm.SVC(gamma=0.001, C=100.)
from sklearn import datasetsdigits = datasets.load_digits() model.fit(digits.data[:-1], digits.target[:-1])
model.predict(digits.data[-1])
AutoML S cik it
import autosklearnmodel = autosklearn.AutoSklearnClassifier()
from sklearn import datasetsdigits = datasets.load_digits() model.fit(digits.data[:-1], digits.target[:-1])
model.predict(digits.data[-1])
• Algorithm selection… AutoML
• Scaling… Azure ML or Yhat (Greg at PAPIs Connect)
• “Automating ML workflows: a report from the trenches” — Jose A. Ortega Ruiz
46
Automatizat ion
Making Deep Learning accessible
• Classification problem
• Input is an image = pixel values
• Deep Learning! (with Vincent)
48
I mage categorizat ion
49
M achine Learning for person detec t ion
pixel1 pixel2 pixel3 person?
102 0 255 Yes35 41 209 No… … … …
• Neural network:
• Layers
• Neurons of one layer connected to neurons of next layer
• Each neuron receives signals from previous layer and sends new signal to next layer
• New signal based on linear combination of signals received
• “Deep” -> more than 3 layers50
Deep Learning
51
Deep Learning for animal detec t ion
52
Deep Learning for animal detec t ion
pixel1
pixel2
pixel3
cat
dog
1st layer value=(102, 0, 255)
Last layer value=(0.1, 0.7, 0.4)
Output value=(0.8, 0.3) => there’s
probably a cat!
53
Deep Learning for animal detec t ion
pixel1
pixel2
pixel3
cat
dog
1st layer value=(4, 166, 23)
Last layer value=(0.1, 0.7, 0.4)
Output value=(0.1, 0.2) => probably no
animal here
pixel1
pixel2
pixel3
cat
dog
1st layer value=(102, 0, 255)
Output value=(0.8, 0.3) => there’s
probably a cat!
Last layer value=(0.1, 0.7, 0.4)
55
M achine Learning for person detec t ion
pixel1 pixel2 pixel3 person?
102 0 255 Yes35 41 209 No… … … …
• Use network for animal detection until last layer
• Replace images with “smart” representation given by last layer
neuron1 neuron2 neuron3 person?
0.1 0.2 0.5 Yes0.8 0.3 0.8 No… … … …
• Artificial Intelligence for Business and Society
• Next Monday & Tuesday
• papis.io/connect
• Discount for 24 hours only!
57
PAPIs Connec t
top related