machine learning - empatika open

73
Machine Learning Bayram Annakov, Empatika Open

Upload: empatika

Post on 16-Apr-2017

123 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Machine Learning - Empatika Open

Machine LearningBayram Annakov, Empatika Open

Page 2: Machine Learning - Empatika Open
Page 3: Machine Learning - Empatika Open

Types of ML

Page 4: Machine Learning - Empatika Open

Supervised machine learning

Page 5: Machine Learning - Empatika Open

Supervised learning

x

o

xxx

x x

ooo

o o

Page 6: Machine Learning - Empatika Open

Classification

Page 7: Machine Learning - Empatika Open

Unsupervised learning

Page 8: Machine Learning - Empatika Open

Unsupervised learning

oooo

o o

oooo

o o

X1

X2

Page 9: Machine Learning - Empatika Open

Users clustering

Page 10: Machine Learning - Empatika Open

Process

Page 11: Machine Learning - Empatika Open

Baby first steps

• GOAL: better purchase conversion from Trial Emails

• Knowledge: internal Empatika Open

• Whats next?

• Load new data & apply

Page 12: Machine Learning - Empatika Open

First results - I’m genius!KNN: 97% score on test set

Page 13: Machine Learning - Empatika Open

… & first disappointment

Too many Negative - unbalanced dataset

Balanced: 64%

Better do something: email conversion 2 times less

Page 14: Machine Learning - Empatika Open

Start from scratch

+

How: 1. Small dataset (own)

• Time • Value

2. Balanced 3. Don’t hurry

lots of answers

Page 15: Machine Learning - Empatika Open

ProcessData

Model 1 Model 2 Model N………

Results 1 Results 2 Results N

Reducing features

size

Scaling

… other data

stuffBest result

Train model(parameters)

………

Page 16: Machine Learning - Empatika Open

Results

Test dataset

New dataset

30% better

7% better

Email conversion 2 times better Vs. previous model

416 different inputs

Page 17: Machine Learning - Empatika Open

Next level

• Features

• Volume

• Understand Model parameters

• Train model harder (24/7)

• Whole picture: not only 1 score, but Precision, Recall, f1-score, etc.

Page 18: Machine Learning - Empatika Open

Lessons & Knowledge source

• Think about features (valuable VS lots VS less) balance

• Models are sensitive to different data

• Model tuning is important, but long road

• Sources:

• O’REILLY: Introduction to Machine Learning with Python

• scikit-learn.org

• Github

Page 19: Machine Learning - Empatika Open

Be patient

Page 20: Machine Learning - Empatika Open

Process

Data collection & preparation

Modeling

Training

Evaluation

Page 21: Machine Learning - Empatika Open

Data preparation!!!

Page 22: Machine Learning - Empatika Open

Tasks

Page 23: Machine Learning - Empatika Open

Images classification

Page 24: Machine Learning - Empatika Open

Rhythmic Gymnastics

Page 25: Machine Learning - Empatika Open

Rhythmic Gymnastics

Page 26: Machine Learning - Empatika Open

Approach• Collect data

Simple iPhone app that helps draw and export

• Prepare dataImage = Grid. Each cell = 1 (black) or 0 (white)Convert Grid to Line Image = 000100011000011100011…

• Train + Analyze Until satisfied with the score

Page 27: Machine Learning - Empatika Open
Page 28: Machine Learning - Empatika Open

Prepare dataimport skimageimport numpy

Page 29: Machine Learning - Empatika Open

Train and Analyze

1. K-neighbors 78% from sklearn.neighbors import KNeighborsClassifier clf = KNeighborsClassifier(n_neighbors=1) clf.fit(x_train, y_train) clf.score(x_test, y_test)

Page 30: Machine Learning - Empatika Open

Train and Analyze

2. K-neighbors + PCA 81% from sklearn.decomposition import PCA pca = PCA(n_components=40, whiten=True) pca.fit(x_train) x_train_pca = pca.transform(x_train) x_test_pca = pca.transform(x_test)

//repeat KNN

Page 31: Machine Learning - Empatika Open

May be someone has already solved it?

Page 32: Machine Learning - Empatika Open

MNIST

http://yann.lecun.com/exdb/mnist/

Page 33: Machine Learning - Empatika Open

3. SVM 90% from sklearn import svm classifier = svm.SVC(gamma=0.001) classifier.fit(x_train, y_train)

predicted = classifier.predict(x_test)

Page 34: Machine Learning - Empatika Open

Neural networks?

Page 35: Machine Learning - Empatika Open

Neuron

Page 36: Machine Learning - Empatika Open

Perceptron

Page 37: Machine Learning - Empatika Open

Multi-layered (deep)

Page 38: Machine Learning - Empatika Open

Problems with images

Too big vectors (200x200x3 = 120,000)

Pixel position matters

Page 39: Machine Learning - Empatika Open

Convolution

Page 40: Machine Learning - Empatika Open

Pooling (sub-sampling)

Page 41: Machine Learning - Empatika Open

CNN

Page 42: Machine Learning - Empatika Open
Page 43: Machine Learning - Empatika Open

Object recognition

Page 44: Machine Learning - Empatika Open
Page 45: Machine Learning - Empatika Open

ImageNet

Page 46: Machine Learning - Empatika Open

Faces recognition

Page 47: Machine Learning - Empatika Open

Eigenfaces

Page 48: Machine Learning - Empatika Open

LFW

Page 49: Machine Learning - Empatika Open

Recommendation systems

Page 50: Machine Learning - Empatika Open
Page 51: Machine Learning - Empatika Open
Page 52: Machine Learning - Empatika Open

NLP

Page 53: Machine Learning - Empatika Open

Bag-of-words

Page 54: Machine Learning - Empatika Open

Data is key

Page 55: Machine Learning - Empatika Open

Competitive Advantage?

Page 56: Machine Learning - Empatika Open

Costs

Page 57: Machine Learning - Empatika Open

Why?

Page 58: Machine Learning - Empatika Open

CPU vs GPU

Page 59: Machine Learning - Empatika Open

Opportunities

Page 60: Machine Learning - Empatika Open
Page 61: Machine Learning - Empatika Open

Better than Google?

Page 62: Machine Learning - Empatika Open

Attributes

Proprietary data sets

Domain-specific tasks

Domain-specific knowledge

Page 63: Machine Learning - Empatika Open

So,

Page 64: Machine Learning - Empatika Open

Useful links

“The Master Algorithm”

Andrew Ng “AI is new electricity”

fast.ai course

“Introduction to ML with Python”

“Python Machine Learning”

Page 65: Machine Learning - Empatika Open

one more thing…

Page 66: Machine Learning - Empatika Open

Please donate any sum to any fund

Page 67: Machine Learning - Empatika Open
Page 68: Machine Learning - Empatika Open

Plans

3 universities in Paris

Crowdfunding

Platform

Page 69: Machine Learning - Empatika Open

Not only academics

Page 70: Machine Learning - Empatika Open

New Tech

Page 71: Machine Learning - Empatika Open

How you can help?Finances

Introductions

Ideas

Expertise

Media

Tech

even frequent flyer miles :)

Page 72: Machine Learning - Empatika Open

ThanksLucy Evstratova

+79165884397

Unicore.pro

AlfaBank

4154 8120 0093 9516

Sberbank

4276 3800 1234 3302

Page 73: Machine Learning - Empatika Open

Ачворвоы выовпывп ывп ыврп