Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br....

50
Bruno Lucattelli 14 de Agosto de 2015 Machine Learning 101 Por onde começar?

Transcript of Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br....

Page 1: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Bruno Lucattelli

14 de Agosto de 2015

Machine Learning 101 – Por onde começar?

Page 2: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Programador desde os 16

anos, trabalhando com SAP

ABAP desde 2004. Palestrante

desde 2009 em eventos da

comunidade SAP no Brasil,

SAP Mentor desde 2014.

Page 3: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Big Data?

Data Science?

Artificial Intelligence?

Machine Learning?

Page 4: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Big Data?

Data Science?

Artificial Intelligence?

Machine Learning?

Page 5: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 6: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Big Data?

Data Science?

Artificial Intelligence?

Machine Learning?

Page 7: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 8: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 9: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Data Scientist

Page 10: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Data Scientist

SCIENTIST!

Page 11: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

“In God we trust. All others must bring data”

Page 12: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Data Scientist Skills:

• Negócio (adm, economia, etc)

• Matemática (cálculo, estatística, radial

basis function)

• Computação (programação, cloud, in-

memory database)

Page 13: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Big Data?

Data Science?

Artificial Intelligence?

Machine Learning?

Page 14: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 15: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 16: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 17: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 18: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Big Data?

Data Science?

Artificial Intelligence?

Machine Learning?

Page 19: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 20: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 21: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 22: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 23: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 24: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 25: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 26: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 27: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

DemoRede neural em ABAP

Page 28: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 29: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 30: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 31: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 32: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas
Page 33: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Então, por onde começar?

Page 34: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Quanto vale uma casa?M2 $

100 ...

200 ...

300 ...

0 ∞

Page 35: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Quanto vale uma casa?

1 M2 = $ 500

Page 36: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Quanto vale uma casa?M2 $

100 50.000

200 100.000

300 150.000

0 ∞

Page 37: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Quanto vale uma casa?

Intuição.

Page 38: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Quanto vale uma casa?M2 $

100 100.000,00

200 ...

300 300.000,00

0 ∞

Page 39: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Quanto vale uma casa?

Se:

1 M2 = $ 1.000

Logo:

200 M2 x 1.000 = 200.000

Page 40: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Quanto vale uma casa?M2 $

100 100.000,00

200 200.000,00

300 300.000,00

0 ∞

Page 41: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

ParadigmasSERES HUMANOS COMPUTADORES

OBSERVAÇÃO(Casas de 100 M2 e 300 M2)

Usada para gerar

intuição.N/A

MODELO(1 M2 = 1.000)

Aplicado a partir da

intuição gerada.

Aplicado a partir de

programação.

DADO REPRODUZIDO(Casa de 200 M2)

Obtido a partir da

aplicação do modelo.

Obtido a partir da

aplicação do modelo.

Page 42: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Aprender a

programar

Aprender

Machine

Learning

Page 43: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Introdução História da computação

Lógica de Programação Estimular o pensamento lógico

AlgoritmosAprender boas práticas comuns e

básicas

Linguagens Básicas Basic, Pascal, C, Lisp, Perl

Conceitos ModernosOrientação a objetos, Design Patterns,

etc

Ferramentas ModernasJava, C#, Objective C, Ruby, Scala, JS,

Python, Git, etc...

Page 44: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Programação Machine Learning

Introdução

• The Future of Robotics and

Artificial Intelligence (Andrew Ng)

youtu.be/AY4ajbu_G3k

• Machine Learning: A Love Story

(Hilary Mason)

bit.ly/1lrAOvC

Page 45: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Programação Machine Learning

Lógica de Programação

• Stanford University Machine

Learning (Andrew Ng)

bit.ly/1IXp8Lg

• Stanford University CS229 (Andrew

Ng)

cs229.stanford.edu

Page 46: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Programação Machine Learning

Algoritmos

• Math-as-code

bit.ly/1gMl49R

• Calculus 1

bit.ly/1oqkavV

• Curso Prandiano

prandiano.com.br

Page 47: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Programação Machine Learning

Linguagens Básicas

• Matlab / Octave

bit.ly/1Gzc0tV

• Scikit-learn

scikit-learn.org

• Awesome Machine Learning List

bit.ly/1t8b6QX

Page 48: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Programação Machine Learning

Conceitos Modernos

• Going Deeper Into Neural Networks

bit.ly/1BkXP09

• Stanford University Deep Learning

Tutorial

ufldl.stanford.edu/tutorial

• University of Alberta Introduction to

Reinforcement Learning

bit.ly/1KffZ5P

Page 49: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

Programação Machine Learning

Ferramentas Modernas

• R

r-project.org

• Apache Hadoop

hadoop.apache.org

• SAP Predictive Analytics

bit.ly/1GzeqbS

Page 50: Machine Learning 101 Por onde começar? - Bruno Lucattelli · • Curso Prandiano prandiano.com.br. Programação Machine Learning Linguagens Básicas

OBRIGADO!

[email protected]

twitter.com/lucattelli

github.com/lucattelli/ZICA_ML