Aplicações Práticas de Machine Learning

77
aplicações práticas de machine learning Luiz Costa @gutomcosta www.sagadoprogramador.com.br

description

Machine Learning tem se tornado um tópico importante no cenário de software atual. Muito do que se vê sobre o assunto ainda está altamente relacionado a uma matemática complicada, algo exclusivamente acadêmico ou relacionado ao tema do momento, Big Data. A proposta desta apresentação é tentar mostrar um pouco além da teoria sobre o assunto. Mostrar como parte de toda a carga conceitual por trás de Machine Learning, tem tornado aplicações ligeiramente mais “inteligentes” e como isso pode ser usado em projetos mais tradicionais do mundo empresarial, sem necessidade de ser uma grande startup, que produz alguns milhões de registros de dados por dia. Nesta palestra, será apresentada uma visão geral sobre o assunto, será mostrado alguns algoritmos e exemplos de aplicações. Além de mostrar um pouco pouco do trabalho que está sendo feito no processo de evolução de um sistema de recomendação e da otimização de processos empresariais através das idéias de Process Mining.

Transcript of Aplicações Práticas de Machine Learning

Page 1: Aplicações Práticas de Machine Learning

aplicações práticas de machine learning

Luiz Costa@gutomcosta

www.sagadoprogramador.com.br

Page 2: Aplicações Práticas de Machine Learning
Page 3: Aplicações Práticas de Machine Learning

artificial Intelligence?

machine learning?Intro to Artificial

IntelligenceStanford online 2011

Intro to Machine Learning

Stanford online 2011

Page 4: Aplicações Práticas de Machine Learning

IA e ML!

Page 5: Aplicações Práticas de Machine Learning

IA e ML???

Page 6: Aplicações Práticas de Machine Learning
Page 7: Aplicações Práticas de Machine Learning

machine learningIn which we describe agents that can improve their behaviour

through diligent study of their own experiences.

“Artificial Intelligence -A modern approach"-Stuart Russell and Peter Norvig

Page 8: Aplicações Práticas de Machine Learning

Field of study that gives computers the ability to learn without being explicitly programmed.

Arthur Samuel (1959)

Page 9: Aplicações Práticas de Machine Learning

Machine learning is a subfield of computer science (CS) and artificial intelligence (AI) that deals with the construction and study of systems that can learn from data, rather than follow only explicitly programmed instructions. Besides CS and AI, it has strong ties to statistics and optimization, which deliver both methods and theory to the field.

Machine Learning - Wikipedia

Page 10: Aplicações Práticas de Machine Learning

Machine learning is a subfield of computer science (CS) and artificial intelligence (AI) that deals with the construction and study of systems that can learn from data, rather than follow only explicitly programmed instructions. Besides CS and AI, it has strong ties to statistics and optimization, which deliver both methods and theory to the field.

Machine Learning - Wikipedia

Page 11: Aplicações Práticas de Machine Learning

supervised learning

Aprendendo através de exemplos

Page 12: Aplicações Práticas de Machine Learning

dados de exemplo

Page 13: Aplicações Práticas de Machine Learning

unsupervised learning

sem exemplos, o que é possível fazer?

Page 14: Aplicações Práticas de Machine Learning

clustering

Page 15: Aplicações Práticas de Machine Learning

clustering

Page 16: Aplicações Práticas de Machine Learning

marketingdescobrir grupos distintos em uma base de clientes e usar estes grupos para ajudar no

desenvolvimento de campanhas focadas nos nestes grupos

Page 17: Aplicações Práticas de Machine Learning

segurosdescobrir perfis com alto risco para seguros de

automóveis

Page 18: Aplicações Práticas de Machine Learning

na práticadois exemplos de uso. Será que dá

tempo?

Page 19: Aplicações Práticas de Machine Learning

evoluindo um sistema de

recomendação

Page 20: Aplicações Práticas de Machine Learning

vandal.com.br

Page 21: Aplicações Práticas de Machine Learning

collaborative filtering

Page 22: Aplicações Práticas de Machine Learning

usuários avaliam

Page 23: Aplicações Práticas de Machine Learning

não existe avaliação

Page 24: Aplicações Práticas de Machine Learning

content-based recommendation

Page 25: Aplicações Práticas de Machine Learning

características

Page 26: Aplicações Práticas de Machine Learning
Page 27: Aplicações Práticas de Machine Learning

1. Mostrar itens similares

Page 28: Aplicações Práticas de Machine Learning

vector space model

skull caveira flower vintage caveiras

produto1 1 1 1 0 0

produto2 1 1 0 1 1

produto3 1 1 0 0 0

Page 29: Aplicações Práticas de Machine Learning

O quanto um produto é similar a

outro?

Page 30: Aplicações Práticas de Machine Learning

cálculo de similaridade

Page 31: Aplicações Práticas de Machine Learning

cálculo de similaridade

Page 32: Aplicações Práticas de Machine Learning

obtendo produtos similares

Page 33: Aplicações Práticas de Machine Learning

obtendo produtos similares

Page 34: Aplicações Práticas de Machine Learning

obtendo produtos similares

Page 35: Aplicações Práticas de Machine Learning

obtendo produtos similares

Hein ????

Page 36: Aplicações Práticas de Machine Learning
Page 37: Aplicações Práticas de Machine Learning
Page 38: Aplicações Práticas de Machine Learning

2. recomendação personalizada

em desenvolvimento

Page 39: Aplicações Práticas de Machine Learning
Page 40: Aplicações Práticas de Machine Learning

Como mostrar aqui o que é interessante para um usuário?

Page 41: Aplicações Práticas de Machine Learning

construindo um profile de

preferências do usuário

Page 42: Aplicações Práticas de Machine Learning

capturando ações do usuário

data evento conteúdo

01/09/2014 08:35 buscou{query: "caveira",

produtos: [1991, 1331, 3892] }

01/09/2014 08:39 visualizou {id: 1991}

01/09/2014 08:34 visualizou {id:1331}

01/09/2014 08:40 like {id: 1331}

01/09/2014 08:44 comprou {id: 1331}

Usuário: Paulo José

Page 43: Aplicações Práticas de Machine Learning

capturando ações do usuário

data evento conteúdo

01/09/2014 08:35 buscou{query: "caveira",

produtos: [1991, 1331, 3892] }

01/09/2014 08:39 visualizou {id: 1991}

01/09/2014 08:34 visualizou {id:1331}

01/09/2014 08:40 like {id: 1331}

01/09/2014 08:44 comprou {id: 1331}

Page 44: Aplicações Práticas de Machine Learning

construindo as preferências

Page 45: Aplicações Práticas de Machine Learning

construindo as preferências

Page 46: Aplicações Práticas de Machine Learning

algumas ações não seriam mais

importantes que outras?

Page 47: Aplicações Práticas de Machine Learning

capturando ações do usuário

data evento conteúdo peso

01/09/2014 08:35 buscou {query: "caveira", produtos:

[1991, 1331, 3892] }0.3

01/09/2014 08:39 visualizou {id: 1991} 0.1

01/09/2014 08:34 visualizou {id:1331} 0.1

01/09/2014 08:40 like {id: 1331} 0.6

01/09/2014 08:44 comprou {id: 1331} 1

Page 48: Aplicações Práticas de Machine Learning

construindo as preferências com pesos

Page 49: Aplicações Práticas de Machine Learning

vector space model

skull caveira flowers metal caveira

silustraçã

o arte cool

produto_1331

1 1 1 0 0 0 0 0

produto_1991 0 1 0 1 1 1 1 0

produto_3892

1 1 0 0 1 0 0 1

Paulo José 1 1 0 1 1 1 1 0

Page 50: Aplicações Práticas de Machine Learning

agora é só calcular a similaridade das preferências de usuário com os

produtos

Page 51: Aplicações Práticas de Machine Learning

agora é só calcular a similaridade das preferências de usuário com os

produtos

Page 52: Aplicações Práticas de Machine Learning

similaridade do cosseno

Page 53: Aplicações Práticas de Machine Learning
Page 54: Aplicações Práticas de Machine Learning
Page 55: Aplicações Práticas de Machine Learning

processos inteligentes e

process miningaquela história de BPM, Enterprise, pode ser

divertida

Page 56: Aplicações Práticas de Machine Learning

business process management

Page 57: Aplicações Práticas de Machine Learning

process mining

• process discovery

• performance analysis

• process prediction

• process improvement

o que realmente aconteceu?

quais são os gargalos do meu processo?

esta instância vai estourar o sla?

como posso redesenhar este processo com o que foi aprendido?

Page 58: Aplicações Práticas de Machine Learning
Page 59: Aplicações Práticas de Machine Learning

log de eventos

Page 60: Aplicações Práticas de Machine Learning

análise

Page 61: Aplicações Práticas de Machine Learning

e a análise sobre dados de negócios?

exemplo compra de passagens aéreas

Page 62: Aplicações Práticas de Machine Learning

passageiro companhia trecho preço data da compra

data do embarque

dias de diferença

Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8

Costa/Luiz TAM SDU/CGH 200,00 08/04/2014 09/06/2014 62

Paiva/Roberto AVIANCA SDU/CGH 126,00 25/02/2014 11/03/2014 14

Ronaldo/Cristiano TAM SDU/CGH 258,70 25/11/201

4 17/12/2014 22

log resumido processo de compra de passagens aéreas

Page 63: Aplicações Práticas de Machine Learning

dados de negócio?

• o que define uma boa compra?

• quais são as variáveis que mais influenciam na compra?

• por que uma compra ruim, foi ruim?

Page 64: Aplicações Práticas de Machine Learning

definição de um processo automático para obter respostas

Statistical Learning

Page 65: Aplicações Práticas de Machine Learning

casecontexto e

objetivo

qual seria a entrada de dados necessária?

passageiro companhia trecho preço data da compra

data do embarque

dias de diferença

Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8

Costa/Luiz TAM SDU/CGH 200,00 08/04/2014 09/06/2014 62

Paiva/Roberto AVIANCA SDU/CGH 126,00 25/02/2014 11/03/2014 14

Ronaldo/Cristiano TAM SDU/CGH 258,70 25/11/201

4 17/12/2014 22

Page 66: Aplicações Práticas de Machine Learning

preço

570,00

200,00

126,00

258,70

como definir o que é uma boa compra?

Page 67: Aplicações Práticas de Machine Learning

preço

570,00

200,00

126,00

258,70

como definir o que é uma boa compra?

preço <= 181,50

Page 68: Aplicações Práticas de Machine Learning

quais são as variáveis que mais influenciam na compra?

Page 69: Aplicações Práticas de Machine Learning

quais são as variáveis que mais influenciam na compra?

lineares? Não lineares?

variáveis mais

importantes

Page 70: Aplicações Práticas de Machine Learning

quais são as variáveis que mais influenciam na compra?

Ex. código R

Page 71: Aplicações Práticas de Machine Learning

por que uma compra ruim, foi ruim?

passageiro companhia trecho preço data da compra

data do embarque

dias de diferença

Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8

Page 72: Aplicações Práticas de Machine Learning

por que uma compra ruim, foi ruim?utilizando as variáveis

identificadas, é possível ter alguns insights

dias de diferença companhia

boas case boas case

14 8 100% Avianca TAM

passageiro companhia trecho preço data da compra

data do embarque

dias de diferença

Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8

Page 73: Aplicações Práticas de Machine Learning

muita estatística

Page 74: Aplicações Práticas de Machine Learning

considere R para prototipação. Para produção existem

boas alternativas, mas não deixe de olhar python + pandas +

scikit

Page 75: Aplicações Práticas de Machine Learning

existem vários cenários que é possível aplicar as idéias de machine

learning dentro da sua empresa e não precisa ser big data small data

Page 76: Aplicações Práticas de Machine Learning

Obrigado.

Page 77: Aplicações Práticas de Machine Learning

ReferênciasIntrodução a sistemas de recomendação - https://www.coursera.org/course/recsys

Recommender Systems: An Introduction - http://www.amazon.com/Recommender-Systems-Introduction-Dietmar-Jannach/dp/0521493366

Process Mining - http://www.processmining.org/

Statistical Learning Theory -http://en.wikipedia.org/wiki/Statistical_learning_theory

R Language - http://www.r-project.org/

scikit learn - http://scikit-learn.org/stable/

Vandal - www.vandal.com.br

An Introduction to Statistical Learning with applications in R - Gareth James, Daniela Wittern, Trevor Hastie, Robert Tibshirani