Inteligência Artificial
Construindo sistemas inteligentes no maior site jurídico do mundo
Produtos de extremo sucesso
O que eles têm em comum?
Machine Learning
Machine Learning é um tipo de Inteligência Artificial que dá aos computadores uma habilidade de aprender algo sem ser explicitamente programado pra isso.
É fazer com que programas cresçam sozinhos e que se modifiquem conforme expostos a novos dados
"Programas que crescem e se modifiquem sozinhos...?"
Machine Learning é uma simplificação do processo de aprendizagem dos humanos
Carro
Carro
O que é isso?
Reconhecimento de padrões
O que é isso?
Reconhecimento de padrões
Carro
O que é isso?
Carro
Carro
Mas o que acontece aqui?
Carro
Bruxaria?
Carro
Machine Learning
Machine Learning é uma mudança de paradigma na programação
Paradigma conhecido e tradicional:
Construir um programa para resolver um problema
Paradigma conhecido e tradicional:
Construir um programa para resolver um problema
Paradigma da Machine Learning:
Construir um programa para aprender a resolver um problema
Machine Learning é uma mistura de diversas áreas científicas
Teoria da Informação
Álgebra Linear
Estatística
Probabilidade
vs.
Supervised Learning
Unsupervised Learning
Supervised Learning
Supervised Learning
Dados treinados
Supervised Learning
Dados treinados
Algoritmo de aprendizagem
Supervised Learning
Dados treinados
Algoritmo de aprendizagem
Modelo
Supervised Learning
Dados treinados
Algoritmo de aprendizagem
Modelo
Novos dados
Supervised Learning
Dados treinados
Algoritmo de aprendizagem
Modelo
Novos dados
Previsões
Supervised Learning
Tendo dados em mãos, nosso objetivo é achar a função que melhor generalize o problema
Supervised Learning
Temos 2 tipos de problemas aqui
Supervised Learning
Temos 2 tipos de problemas aqui
Classificação
Supervised Learning
Temos 2 tipos de problemas aqui
Classificação
Dada várias classes, prever qual a classe de um próximo dado
Supervised Learning
Temos 2 tipos de problemas aqui
Classificação
Dada várias classes, prever qual a classe de um próximo dado
Ex: Paciente tem câncer ou não?
A pessoa na câmera está sorrindo ou não?
Supervised Learning
Temos 2 tipos de problemas aqui
Classificação
Dada várias classes, prever qual a classe de um próximo dado
Ex: Paciente tem câncer ou não?
A pessoa na câmera está sorrindo ou não?
Previsão/Regressão
Supervised Learning
Temos 2 tipos de problemas aqui
Classificação
Dada várias classes, prever qual a classe de um próximo dado
Ex: Paciente tem câncer ou não?
A pessoa na câmera está sorrindo ou não?
Previsão/Regressão
Prever informações futuras com base em dados passados
Ex: vai chover amanhã? Qual o preço de uma casa com X quartos em um dado local?
Supervised Learning
Meta: Achar a função que melhor generaliza o problema
Supervised Learning
E quando os dados são mais complicados e uma função linear não resolve mais?
Supervised Learning
polinômio neles!
Supervised Learning
Ok... mas no mundo real... temos mais de 2 variáveis; temos milhares!
Supervised Learning
Ok... mas no mundo real... temos mais de 2 variáveis; temos milhares!
Supervised Learning
Então, começamos a buscar a melhor função no hiperespaço
Supervised Learning
Melhor estratégia: Gradient Descent
Supervised Learning
Melhor estratégia: Gradient Descent
Supervised Learning
O problema de classificação é conceitualmente um pouco diferente
Supervised Learning
O problema de classificação é conceitualmente um pouco diferente
Supervised Learning
Queremos achar a função que melhor divida as classes
Supervised Learning
Queremos achar a função que melhor divida as classes
Supervised Learning
Queremos achar a função que melhor divida as classes
Supervised Learning
Queremos achar a função que melhor divida as classes
Supervised Learning
Mas... e os algoritmos pra achar essas funções que generalizam os problemas e geram os modelos?
Supervised Learning
Mas... e os algoritmos pra achar essas funções que generalizam os problemas e geram os modelos?
Dados treinados
Algoritmo de aprendizagem
Modelo
Supervised Learning
Mas... e os algoritmos pra achar essas funções que generalizam os problemas e geram os modelos?
Dados treinados
Algoritmo de aprendizagem
Modelo
Supervised Learning
Support Vector Machines
Supervised Learning
Decision Tree
Supervised Learning
Random Forest
Supervised Learning
Redes Neurais Artificiais (ANNs)
Supervised Learning
Redes Neurais Artificiais (ANNs)
Flexíveis
Poderosas
Elegantes
Supervised Learning
Redes Neurais Artificiais (ANNs)
Supervised Learning
Redes Neurais Artificiais (ANNs)
Supervised Learning
Redes Neurais Artificiais (ANNs)
Backpropagation é lindo (e funciona)
Supervised Learning
Redes Neurais Artificiais (ANNs)
Com o passar das épocas de treinamento, a rede neural passa a errar menos
Supervised Learning
E o que é Deep Learning?
Supervised Learning
Simples. Redes Neurais com mais camadas escondidas
Supervised Learning
Deep Learning
Unsupervised Learning
Unsupervised Learning
E quando não temos aqueles dados treinados previamente para alimentar o algoritmo?
Unsupervised Learning
Dados treinados
Algoritmo de aprendizagem
Modelo
Novos dados
Previsões
Unsupervised Learning
Dados treinados
Algoritmo de aprendizagem
Modelo
Novos dados
Previsões
Unsupervised Learning
Dados treinados
Algoritmo de aprendizagem
Modelo
Novos dados
Previsões
Unsupervised Learning
Solução: Clustering
Unsupervised Learning
Solução: Clustering
Unsupervised Learning
Dificuldades:
Unsupervised Learning
Dificuldades:
Algortimos ainda não estão em estado-da-arte
Unsupervised Learning
Dificuldades:
É difícil calcular precisão do resultado quando não se tem dados passados para comparar
https://backchannel.com/how-google-is-remaking-itself-as-a-machine-learning-first-company-ada63defcb70#.gp4mynj4t
https://medium.com/the-wtf-economy/dont-replace-people-augment-them-8bea60cb80ac#.blwz8rowl
Mais automatização
Mais velocidade
Mais satisfação
Mais foco no que realmente importa
Machine Learning: RoadMap
Machine Learning: RoadMap
Por onde começar a estudar Machine Learning?
Machine Learning: RoadMap
Programação
Machine Learning: RoadMap
Programação
Matemática
Álgebra Linear
Estatística
Probabilidade
Teoria da Info
Machine Learning: RoadMap
Programação
Matemática
Álgebra Linear
Estatística
Probabilidade
Teoria da Info
Ops
Spark
Hadoop
Redis
Docker
Machine Learning: RoadMap
Programação
Matemática
Álgebra Linear
Estatística
Probabilidade
Teoria da Info
Ops
Spark
Hadoop
Redis
Docker
Neurociência
Neurociência básica
Learning Process
Processos Cognitivos
Machine Learning: Dicas
Machine Learning: Dicas
Implemente os algoritmos que você esteja estudando, não tenha medo
Machine Learning: Dicas
Abra seu coração para a matemática avançada. Ela é o centro da Machine Learning
Machine Learning: Dicas
Seus primeiros dias lidando com ML:
Você rodando seu primeiro algoritmo de ML implementado
Machine Learning: Recursos
Free Datasets: https://archive.ics.uci.edu/ml/datasets.html
Machine Learning: Recursos
Free Datasets: https://archive.ics.uci.edu/ml/datasets.html
SciKit-Learn tutorials: http://scikit-learn.org/stable/tutorial/
Machine Learning: Recursos
Free Datasets: https://archive.ics.uci.edu/ml/datasets.html
SciKit-Learn tutorials: http://scikit-learn.org/stable/tutorial/
Melhor curso do coursera de Machine Learning: https://www.coursera.org/learn/machine-learning
Machine Learning: Recursos
Free Datasets: https://archive.ics.uci.edu/ml/datasets.html
SciKit-Learn tutorials: http://scikit-learn.org/stable/tutorial/
Melhor curso do coursera de Machine Learning: https://www.coursera.org/learn/machine-learning
leia toda essa thread: https://www.quora.com/How-do-I-learn-machine-learning-1
Dúvidas?
Obrigado!
Rodrigo Araújo
@digorithm
www.rodrigoaraujo.me
Software Engineer || Data scientist @Jusbrasil
BSc. Computer Science @Unifacs
MSc. Computer Science @University of British Columbia
We are hiring
We are hiring
AI/ML talk @ I SECOMTEC
By Rodrigo Araújo
AI/ML talk @ I SECOMTEC
- 1,844