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

Made with Slides.com