Introdução ao Machine Learning - XI Pylestras

34
Introdução ao Machine Learning

Transcript of Introdução ao Machine Learning - XI Pylestras

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

?