Upload
rubens-pinheiro
View
69
Download
2
Embed Size (px)
Citation preview
Introdução ao Machine Learning
Quem sou?
● Rubens Pinheiro
● Bacharel em Ciências da Computação (UECE)
● Desenvolvedor Front End
● Entusiasta Python
● Sempre aprendendo!
Sobre a apresentação
● Introdução
● Ideia e definição básica sobre machine learning
● Exemplo prático
● Regressão
● Classificação
● Ferramentas
● Dúvidas
O que é?
“Aprendizagem de máquina é um método de análise de dados que automatiza a construção de modelos analíticos.
Usando algoritmos que iterativamente aprendem a partir de dados, o aprendizado de máquina permite que os
computadores encontrem 'insights' ocultos sem ser explicitamente programados para onde olhar.” - SAS
Francis Galton
Vox Populi - 1907
? Kg552kG
510kG
521kG
Francis Galton
Vox Populi - 1907
543,4 Kg
552kG
510kG
490kG
Média de 787 tickets547,4 Kg
Menos de 1% de erro!
Paper disponível em: http://galton.org/essays/1900-1911/galton-1907-vox-populi.pdf
Quanto mais experiência, mais próximo do acerto
543,4 Kg552kG510kG
490kG
Dados baseado em experiência!
Criação de um Modelo
Simplificando
Dados
Simplificando
Dados de aprendizado
Dados de teste
Treinando o modelo
Dados de aprendizado
400 Kg
Todas vaquinhas tem o valor de nosso “prediction target”, que é o peso.
Importante:
Durante o treino são utilizados como referências, features dos “dados” (as vacas), como a raça da vaca, sua idade, se está prenha, além de outros aspectos que podem ser externos, como a época do ano ou o bioma local. Pode ser usado tudo que influencie no nosso target, o peso.
Validação do modelo
ModeloDados
de teste
? Kg
Predição501Kg
Escondemos o peso e fazemos que oModelo tente prever o valor...
Modelo Dados de teste
501Kg
Predição501Kg
Acerto *
Continua o processo
Validação do modelo (acerto)
* Dentro de uma margem de erro definida
Modelo Dados de teste
510Kg
Predição501Kg
Erro
Corrige o modelo e continua o processo
Validação do modelo (erro)
“Aprenda com seus erros!”
Modelo Dados de teste
510Kg
Predição501Kg
Erro
Corrige o modelo e continua o processo
Validação do modelo (erro)
“Aprenda com seus erros!”
Formalizando: Regressão
Formalizando: Regressão
Dados
yi` (Valor previsto)
yi (Valor real)
Função gerada f(x)Resíduo/Erro
Feature
Target
Soma do quadrado residual (RSS)
yi` (Valor previsto)
yi (Valor real)
Resíduo/ErroTarget
Feature
E daí?
● O que queremos?
– Minimizar o erro → Min(RSS)● Como fazermos?
– Derivando o RSS
Tendo que a derivada da soma residual dos quadrados ...
… dará a função de previsão f(x)` = ax + b
Outras técnicas de regressão
Polynomial RegressionKernel Regression
Classificação
Identificar elementos (rótular) baseado em features
?
Classificação
Identificar elementos (rótular) baseado em features
!Wow!
Such precision!
So fast!
Very Pythonic!
Wow!
Classificação de texto (Tipo)
Artigo Centífico
Romance
Textão de Face(mimimimi)
Classificação de texto (Análise de sentimento)
?
Quebrando o texto em palavras
bom incrível páia ruim
Treinando o modelo
bom +1
incrível+5
4 estrelas(Texto marcado como bom)(se, fora, amanhã, depois, ...)
Treinando o modelo
(se, fora, amanhã, depois, ...)
páia -3
ruim -2
1 estrelas(Texto marcado como ruim)
Testando o modelo
páia -3
bom +1
incrível+5
Esse carro é bom.É incrível como o consumo dele é baixo! Só a direção que achei páia.
Pontuação total: +1 +5 -3 = +3 (Positivo)
? estrelas
Testando o modelo
páia -3
bom +1
incrível+5
Esse carro é bom.É incrível como o consumo dele é baixo! Só a direção que achei páia.
Pontuação total: +1 +5 -3 = +3 (Positivo)
4 estrelas
ACERTO
Testando o modelo (erro)
ruim -2
Eu com esse carro? Pense em uma vida ruim...
Pontuação total: -2 (Negativo)
5 estrelas
ERRO
Corrige o modelo(Recalculo da pontuação das palavras)
Testando o modelo (erro)
páia -2
Eu com esse carro? Pense em uma vida ruim...
Pontuação total: -2 (Negativo)
5 estrelas
ERRO
Outras técnicas de classificação
● Decision Trees● Clustering● Deep learning
Ferramentas
Dúvidas
?