SlideShare uma empresa Scribd logo
Uma introdução a
Machine Learning
Guilherme Silveira
http://www.caelum.com.br
Uma introdução a
Machine Learning
Guilherme Silveira
http://www.alura.com.br
a idéia
problemas
perguntas
soluções
respostas
quem sou eu
casa ==> caelum
decidi ir de carro
<== piada
pego o carro...
de camarote
de camarote
decidi ir de metrô
quem conhece
são paulo?
são paulo?
quem conhece o
metrôem são paulo?
Problema?
vista interna
além do trânsito
minha vida pessoal
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
mudança
o preço dos imóveis
está caro?
Tamanho Preço
100 750000
200 860000
150 977000
140 81900
160 984000
180 1127000
130 638000
80 647000
40 346000
p: qual um preço justo
para esse imóvel?
está caro?
regressão linear f(x) = ax + b
planilha
preço = 5053x + 57758preço = 5053x + 57758
regressão linear f(x) = ax + b
polinômios f(x) = a + bx + cx^2 + ... + dx^n
preço = a + ... + dx^npreço = a + ... + dx^n
p: como estimar o valor de algo?
possível resposta: regressão
possível resposta: regressão
p: quanto tempo os alunos
precisarão para essa prova?
p: qual a nota que o aluno vai
tirar na prova final?
p: qual será a nota do hipólito na
próxima olimpíada?
simplicidade++
bizarro--
bizarro--
função Brad Pitt
(a função perfeita?)
e o número de
dormitórios?
Tamanho Preço
100 750000
200 860000
150 977000
140 81900
160 984000
180 1127000
130 638000
80 647000
40 346000
e o número de
dormitórios?
Tamanho Dormitório Preço
100 2 750000
200 3 860000
150 4 977000
140 3 81900
160 3 984000
180 4 1127000
130 3 638000
80 3 647000
40 1 346000
bibliotecas
http://math.nist.gov/javanumerics/jama/
http://mahout.apache.org/
http://commons.apache.org/math/
google: language + regression
chego no trabalho
abro os emails
Introducao a inteligencia artificial na educacao
p: classificação
É spamzis!É spamzis!
Não é!Não é!
11
00
treino!
Introducao a inteligencia artificial na educacao
valido!
p: ele é 1?
acredito que sim, comacredito que sim, com
chance de 78%chance de 78%
classificação
humana
lista com 1000 itens
treino da
máquina
valida a
qualidade
99% de acerto99% de acerto
p: ele é 1?
chance de x%chance de x%
r: regressão logística
p: o email é spam?
p: qual a chance do aluno acertar
esse exercício?
p: o aluno está com dificuldade?
p: o aluno domina o conteúdo?
p: qual a chance de essa imagem
ser o número 3? ou 8?
p: qual a chance de essa imagem
ser um cancêr?
nota: simplificações desses
problemas
e o cartão de credito?
você gastou 50
dia 30
loja 15
loja 15
loja 15
você gastou 30
dia 30
loja 17
loja 17
loja 17
você gastou 25
dia 30
loja 21
loja 21
loja 21
você gastou 25
dia 30
loja 21
loja 21
loja 21
você gastou 2500
dia 30
loja 7
loja 7
loja 7
dia valor loja
30 30 15
30 35 17
30 100 8
1 37 9
30 2500 7
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
treina
37% de acerto37% de acerto
valida
eu continuoeu continuo
roubandoroubando
regressão logística é,
em geral, linear ou
lerdíssima
regularização
polinômios
outras
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
87% de acerto87% de acerto
treina
treina
treina
treina
treina
treina
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
o seu telefone tocao seu telefone toca
p: o email é spam?
p: essa movimentação é uma
fraude?
p: qualquer pergunta sim/não
como antes?
http://neuroph.sourceforge.net/
acesso o
“banco.caelum.com.br”
dia valor loja
30 30 MAX PAD
30 35 MUNI TR
30 149 CAELUM
1 499 FACULDADE
30 5 BUTECO
o que é isso?o que é isso?
o que é isso?o que é isso?
alimentaçãoalimentação
profissionalprofissional
profissionalprofissional
p: a movimentação 15 é?
p: a movimentação 15 é
entretenimento ou não? (0 ou 1)
p: a movimentação 15 é
alimentação ou não? (0 ou 1)
p: a movimentação 15 é
profissional ou não? (0 ou 1)
dia valor loja categoria
30 30 MAX PAD alimentação
30 35 MUNI TR transporte
30 149 CAELUM profissional
1 499 FACULDADE profissional
30 5 BUTECO alimentação
onde estão osonde estão os
0 e 1?0 e 1?
dia valor loja categoria
30 30 MAX PAD 0
30 35 MUNI TR 1
30 149 CAELUM 2
1 499 FACULDADE 2
30 5 BUTECO 0
é 0, 1 ou 2?é 0, 1 ou 2?
dia valor loja categoria
30 30 MAX PAD é
30 35 MUNI TR resto
30 149 CAELUM resto
1 499 FACULDADE é
30 5 BUTECO resto
é 0 ou o resto?é 0 ou o resto?
77%77%
dia valor loja categoria
30 30 MAX PAD resto
30 35 MUNI TR é
30 149 CAELUM resto
1 499 FACULDADE resto
30 5 BUTECO é
é 1 ou o resto?é 1 ou o resto?
53%53%
dia valor loja categoria
30 30 MAX PAD resto
30 35 MUNI TR resto
30 149 CAELUM é
1 499 FACULDADE é
30 5 BUTECO resto
é 2 ou o resto?é 2 ou o resto?
64%64%
dia valor loja label
30 30 15 0
30 35 17 0
30 100 8 0
1 37 9 1
30 2500 7 0
dia valor loja label
30 30 15 0
30 35 17 1
30 100 8 1
1 37 9 0
30 2500 7 0
dia valor loja label
30 30 15 1
30 35 17 0
30 100 8 0
1 37 9 0
30 2500 7 1
77%77%
entretenimento
alimentação
profissional
treina
você ficou esperando o
outro robô aparecer né?
53%53%
64%64%
entretenimentoentretenimento
One vs All
p: dentre as categorias A,B,C a
qual categoria ele pertence?
p: o aluno está motivado,
desanimado, desiludido,
decepcionado, contente ou
malandrão?
o aluno não terminou :(
será que eu poderia ter
ajudado ele?
qto tempo em cada
exercício?
alunos = []alunos << [12, 150, 3, 15]alunos << [4, 170, 32, 25]alunos << [1, 10, 3, 25]alunos << [12, 20, 31, 15]
se ele termina o curso
em 3 meses ou não
labels = [1, 1, 0, 0]
alunos = []alunos << [12, 150, 3, 15]alunos << [4, 170, 32, 25]alunos << [1, 10, 3, 25]alunos << [12, 20, 31, 15]
treina
e o guilherme?
guilherme = [6, 140, 25, 10]
model.predict(Node.features(guilherme))
adivinhe!
SVM
dados fake
labels = [1, 1, 0, 0]
alunos = []alunos << [12, 150, 3, 15]alunos << [4, 170, 32, 25]alunos << [1, 10, 3, 25]alunos << [12, 20, 31, 15]
dados reais
dados reais
C utilizado ACERTOS NO TREINO PREVISOES COM ACE
0.08 93.18% 85.71%
C utilizado ACERTOS NO TREINO PREVISOES
0.001 70.45454545454545 61.9047619
0.04 88.63636363636364 71.4285714
0.08 93.18181818181819 85.7142857
0.2 100.0 100.0
SVM para classificar
(0,1, ...)
p: dentre as categorias A,B,C a
qual categoria ele pertence?
p: o aluno vai desistir do curso?
p: essa pessoa tem perfil de
terrorista?
grupos de alunos
dificuldade != facilidade
user id 15 ?? user id 17
user id 15 ?==? user id 17
333784321236738126783 ?==? 1238793923832178612397
características em comum
número de respostas erradas
tempo gasto
número de exercícios feitos
feedbacks dados
notas de feedback recebidos
likes
cursos
quantidade de caracteres
altura???
joga no plano
olha eles aqui!
chuta um ponto
X
X
genial
X
X
melhora
X
X
X
X
e melhora...
e melhora...
e melhora...
e melhora...
e melhora...
e melhora...
e melhora...
esses são os grupos
grupos esperados:
muitas perguntas,
muitos erros
poucos erros,
poucas perguntas
poucos erros,
poucas perguntas,
ajuda bastante
X X
X
grupos encontrados:
muitas perguntas,
poucos erros
muitos erros,
poucas perguntas
muitos erros,
poucas perguntas,
ajuda bastante
entre
outros
p: como meus _____ se
agrupam?
p: como os alunos se
comportam?
p: como os instrutores se
comportam?
p: como os exercícios se
comportam?
p: como meus clientes se
agrupam?
p: como meus produtos se
agrupam?
p: como minhas features se
agrupam?
p: como os clientes usam o
sistema?
resumindo
machine learning
regressão linear
classificadores
redes neurais
logistic
k-cluster
complexidade deles
ricminer.org.br
Introducao a inteligencia artificial na educacao
não dirija
se beber não dirija
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
eu quero beber e ler
eu não quero dirigir
Introducao a inteligencia artificial na educacao
detectando... margem de erromargem de erro
o que você quer saber
sobre um cliente?
sobre um cliente?
o que o cliente quer saber
sobre ele mesmo?
como os clientes se agrupam?
como seus itens se agrupam?
quando o cliente fará algo?
nós respondemos 2
levante as suas
obrigado 1
guilherme.silveira@caelum.com.br
@guilhermecaelum
http://www.alura.com.br

Mais conteúdo relacionado

Introducao a inteligencia artificial na educacao