Inteligência Artificial na Prática - static.eventials.com · Definição 5 "Machine Learning ou...
Transcript of Inteligência Artificial na Prática - static.eventials.com · Definição 5 "Machine Learning ou...
Nesta apresentação:
- O que é Machine Learning ?
- Análise de Dados
- Exemplo 1: Análise de Dados
- Deep Learning
- Exemplo 2: Reconhecedor de Caracteres
- Exemplo 3: Reconhecedor de Faces2
O que é Machine Learning?
- Sub-área da Inteligência Artificial
- Fornece habilidade do computador aprender
- Sem programação explicita!
3
Definição
5
"Machine Learning ou Aprendizado de Máquina é um método de análise de
dados que automatiza o desenvolvimento de modelos analíticos.
Usando algoritmos que aprendem interativamente a partir de dados, o
aprendizado de máquinas permite que os computadores encontrem insights
ocultos sem serem explicitamente programados para procurar algo específico."
SAS - https://www.sas.com/pt_br/insights/analytics/machine-learning.html
Algoritmo Genético
Um dos primeiros criados e muito usado até hoje
● Baseado no modelo evolutivo
de Darwin
● Versão de John Henry Holland
de 1975 é a mais popular
● Otimizador muito usado no
meio acadêmico
7
Ant Colony Optimization
(ACO)Solução alternativa ao Problema
do Caixeiro Viajante
● Sistema baseado na
natureza(colônia de formigas)
● Criado em 1992
● Google Maps usa uma versão
do ACO combinada com outros
algoritmos para gerar rota
8
Redes Neurais Artificiais
Base para Deep Learning
● Familia de algoritmos
baseados no cérebro de
diversos animais
● Interesse no modelo de volta
em 1986 com Backpropagation
● Capacidade de separação não
linear
9
Exemplo 1: Análise de Dados
Classificação/Regressão
- Categorizar uma entrada/Definir valor de uma entrada
- Baseadas nas características
11
Exemplo 1: Análise de Dados
Análise dos Dados
- Quais características mais influenciam?
- Quais menos influenciam?
- É possível determinar o valor/classificar usando menos características?
- É possível determinar o valor/classificar combinando características?
12
Gradient Boosting
“Um algoritmo eficiente para transformar hipóteses ruins em hipóteses boas”
Thoughts on Hypothesis Boosting, Michael Kearns (1998)
- Funcionamento
- Método supervisionado
- Usa Árvore de Decisão
14
Exemplo: Iris Dataset
Banco com características de flores
- 4 características
- 3 classes
- 150 entradas, 50 para cada tipo de flor
16
Modelo Bom?
Poucas características
Dataset pequeno
Flores possuem mais características:
- Cor
- Estrutura
- Altura
- Formato das folhas
- E muito mais!
19
Competição Kaggle-Santander
- Determinar quais clientes estão
satisfeitos e insatisfeitos
- 369 características
- 76020 entradas
21
Fácil e sair usando?
Ler documentação vale a pena
Usado com os parâmetros default
25
http://xgboost.readthedocs.io/en/latest/python/python_api.html - Documentação
Convolutional Neural Network
(CNN)Leva em conta a localização
dos dados
● Tratamento de imagens
● 1998: Yan LeCun alcança
mais de 99% de acerto na
classificação de dígitos
escritos à mão (MNIST)
● Técnica de processamento
de sinais (convolução)
32
Exemplo 2: Classificador de Dígitos (0-9)
- Classificação de dígitos (0-9) escritos à mão
- Dataset MNIST
33
Fases Para Reconhecimento Facial
1a Fase:
- Detectar face
2a Fase:
- Detectar e codificar
características da
face
3a Fase:
- Comparar os dados
39
1a Fase:Detecção de Face
- Primeiro detectar se há uma face
- Uma imagem pode conter mais de uma face
- Importante isolar para facilitar o trabalho posterior
42
2a Fase:Características da Face
Quais características?
- Tamanho do rosto
- Distância dos olhos
- Posição da boca
- Entre outras
43
3a Fase:Encoding das Faces
- Com a detecção dos pontos principais, é
necessário tansformar em algo comparável (um
número, um array, uma matriz...)
- shape_predictor faz essa transformação
44
4a Fase:Comparar Faces
- Com os valores de encoding prontos, resta fazer
a comparação
- O valor comparado deve ser menor que
TOLERANCE
Quem é? Claudio!
Faces Conhecidas
47
5a Fase:Comparar Faces
- A função anterior retorna um vetor de Booleanos
dizendo com qual face o dado de entrada se
parece
- Sinta-se a vontade para criar uma interface!
49
Limitações do exemplo
- Limitado à 1(uma) face por imagem
- A face deve estar de frente para pegar todos os pontos de destaque
- Não foi feito teste com muitas imagens
57
Conclusão
Se trabalha com dados:
- Estudar Gradient Boosting
Se trabalha com mídia
- Estudar Deep Learning
- Convolutional Neural Network
59
Recomendação
PCA (Principal Component
Analysis)
Combinar Gradient Boosting com
PCA
Deep Learning: Keras
Técnicas de Deep Learning
- Convolutional Neural Network
- Recurrent Neural Network
- Long Short-Term Memory(LSTM)
- Gated Recurrent Unit (GRU)
60
Links
61
Competições Kaggle: https://www.kaggle.com/competitions
Gradient Boosting:
- Introdução:http://machinelearningmastery.com/gentle-introduction-gradient-boosting-algorithm-machine-
learning/
- Seleção de Características: http://machinelearningmastery.com/gentle-introduction-gradient-boosting-
algorithm-machine-learning/
- Diferença: Gradient Boosting x Randon Forest: http://fastml.com/what-is-better-gradient-boosted-trees-
or-random-forest/
Deep Learning:
Blog sobre Deep Learning: http://machinelearningmastery.com/blog/
Tutoriais com implementações mais baixo nível das arquiteturas Deep Learning-
http://deeplearning.net/tutorial/logreg.html
Livro sobre deep learning: http://neuralnetworksanddeeplearning.com/
Links
62
Código dos Exemplos:
- Iris: https://github.com/cfsantos/xgboost-iris
- Competição Kaggle-Santander: https://github.com/cfsantos/xgboost-santander
- CNN - MNIST: https://github.com/cfsantos/CNNExample
- Face Recognition: https://github.com/cfsantos/face-recognition.git
Artigos Relacionados ao Detector de Faces:
- Características da face: One Millisecond Face Alignment with an Ensemble of Regression Trees
- Reconhecedor de Faces: Deep Face Recognition
- ResNET: Deep Residual Learning for Image Recognition
Obrigado!
Contatos:
Linkedin:
https://www.linkedin.com/in/
cfsantos85/
E-mail: [email protected]
Link: www.thedata.com.br
64