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
? Kg
552kG
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 Kg
552kG510kG
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
Modelo
Dados
de teste
? Kg
Predição
501Kg
Escondemos o peso e fazemos que o
Modelo tente prever o valor...
Modelo Dados
de teste
501Kg
Predição
501Kg
Acerto *
Continua o processo
Validação do modelo (acerto)
* Dentro de uma margem de erro definida
Modelo Dados
de teste
510Kg
Predição
501Kg
Erro
Corrige o modelo e
continua o processo
Validação do modelo (erro)
“Aprenda com seus erros!”
Modelo Dados
de teste
510Kg
Predição
501Kg
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/Erro
Target
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
?

Introdução ao Machine Learning - XI Pylestras