SlideShare uma empresa Scribd logo
1 de 51
Aprendizado de Máquina
Data Science
09 de maio de 2014
Ricardo Lima Feitosa de Ávila
Agenda
Introdução
Conceitos e Definição
Formas de Aprendizado
Fases de Aprendizagem
Exemplos
Introdução
• Computadores realmente são capazes de aprender?
• Infelizmente ainda não sabemos exatamente como fazer
computadores aprender de uma maneira similar a maneira
como os humanos aprendem.
• Entretanto, existem algoritmos que são eficientes em certos
tipos de tarefas de aprendizagem.
O que é Aprendizagem de Máquina?
• Aprender significa “mudar para fazer melhor” (de acordo com
um dado critério) quando uma situação similar acontecer.
• Aprendizagem, não é memorizar. Qualquer computador pode
memorizar, a dificuldade está em generalizar um
comportamento para uma nova situação.
O que é Aprendizagem de Máquina?
Redes
Neurais
Lógica
Fuzzy
Computação
Evolucionária
Agentes
Inteligentes
Linguagem
Natural
RobóticaRaciocínio
Baseado em
Casos
Raciocínio
Baseado
em Regras
Aprendizado
de Máquina
Subáreas da Inteligência Artificial
Um programa aprende a partir da experiência E, em relação a
uma classe de tarefas T, com medida de desempenho P, se seu
desempenho em T, medido por P, melhora com E.
Mitchell, 1997
Também chamado de Aprendizado Indutivo.
Aprendizado de Máquina ‐ Uma Definição
• Detecção de bons clientes para um cartão de crédito
– Tarefa T: classificar potenciais novos clientes como bons
ou maus pagadores
– Medida de Desempenho P: porcentagem de clientes
classificados corretamente
– Experiência de Treinamento E: uma base de dados
histórica em que os clientes já conhecidos são
previamente classificados como bons ou maus
pagadores
Aprendizado de Máquina ‐ Exemplo (1/2)
• Reconhecimento de caracteres manuscritos
– Tarefa T: reconhecer e classificar caracteres manuscritos
– Medida de Desempenho P: percentagem de caracteres
classificados corretamente
– Experiência de Treinamento E: base de dados de
caracteres manuscritos com a respectiva classificação
Aprendizado de Máquina ‐ Exemplo (2/2)
Conceitos e Definições 
Conceitos e Definições 
Conceitos e Definições 
• Conjunto de exemplos: Um conjunto de exemplos é
composto por exemplos contendo valores de atributos bem
como a classe associada.
Conceitos e Definições 
• Classificador ou Hipótese: Dado um conjunto de exemplos
de treinamento, um indutor gera como saída um
classificador (também denominado hipótese ou descrição
de conceito) de forma que, dado um novo exemplo, ele
possa predizer com a maior precisão possível sua classe.
• Ruído: é comum no mundo real, trabalhar com dados
imperfeitos. Eles podem ser derivados do próprio processo
que gerou os dados, do processo de aquisição de dados, do
processo de transformação ou mesmo devido a classes
rotuladas incorretamente (por exemplo, exemplos com os
mesmos valores de atributos mas com classes diferentes).
Conceitos e Definições 
• Missing Values (Valores Perdidos): em geral, indicados por
valores fora do escopo
– Tipos: desconhecidos, não registrados, irrelevantes
– Razões:
• Mau‐funcionamento do equipamento
• Mudanças na definição do experimento
• Incapacidade de mesuração
Conceitos e Definições 
• Modo de aprendizado:
– Não‐incremental (batch): sempre que todo o conjunto
de treinamento deva estar presente para o aprendizado.
– Incremental: o indutor apenas tenta atualizar a hipótese
antiga sempre que novos exemplos são adicionados ao
conjunto de treinamento.
• Taxa de Erro de um classificador h:
– Compara a classe verdadeira de cada exemplo com o
rótulo atribuído pelo classificador induzido.
Conceitos e Definições 
• Precisão do Classificador: complemento da taxa de erro
denotado por acc(h)
Conceitos e Definições 
• Erro de Regressão: calcula‐se a distância entre o valor real
com o atribuído pela hipótese induzida. Pode‐se usar: erro 
médio quadrado ou a distância absoluta média.
Conceitos e Definições 
• Por que é importante para um agente aprender?
– Os programadores não podem antecipar todas as
situações que o agente pode encontrar.
Exemplo: Um robô programado para andar em um único
labirinto pode não saber andar em outros.
– Os programadores não podem antecipar todas as
mudanças que podem acontecer com o passar do tempo.
Exemplo: Agente programado para prever as melhores
opção de bolsa para investir precisa se adaptar quando o
ambiente muda.
– Os programadores nem sempre sabem encontrar a
solução dos problemas diretamente.
Exemplo: Programar um sistema para reconhecer faces
não é algo trivial.
Importância do Aprendizado
Carro de Auto‐condução do Google
Laser scan Intensity model Elevation model
Camera vision 2D stationary map Lane model
Características do Carro
• Aprendizado Supervisionado 
• Aprendizado Não‐Supervisionado
Formas de Aprendizado
• Observa‐se alguns pares de exemplos de entrada e saída, de
forma a aprender uma função que mapeia a entrada para a
saída.
• Damos ao sistema a “resposta correta” durante o processo de
treinamento.
• É eficiente pois o sistema pode trabalhar diretamente com
informações corretas.
• Útil para classificação, regressão, estimação de probabilidade
condicional (qual é a probabilidade de um cliente com um
determinado perfil comprar um determinado produto?)
Aprendizado Supervisionado
• O agente reconhece padrões nos dados de entrada, mesmo
sem nenhum feedback de saída.
• Por exemplo, um agente aprendendo a dirigir pode
gradualmente desenvolver um conceito de dias de bom
trafego e dias de trafego congestionado mesmo sem nunca
ter recebido exemplos rotulados por um professor.
Aprendizado Não‐Supervisionado
Aprendizado de 
Máquina
Supervisionado
Classificação Regressão
k‐NN
Árvores de Decisão
Naive Bayes
Perceptron/Adaline
Multi‐Layer Perceptron
k‐NN
Adaline
Multi‐Layer Perceptron
k‐means
Metódos Hierárquicos
Self‐Organizing Map
Tipos de Aprendizado de Máquina
Não‐Supervisionado
• Simbólico
– Expressão lógica, árvores de decisão, regras ou rede
semântica.
• Estatístico
– Aprendizado Bayesiano
• Baseado em Exemplos
– Nearest Neighbours e raciocínio baseado em casos
• Conexionista
– Redes neurais
• Evolutivo
– Algoritmos genéticos
Paradigmas de Aprendizado
• Treinamento
– Apresenta‐se exemplos ao sistema.
– O sistema “aprende” a partir dos exemplos.
– O sistema modifica gradualmente os seus parâmetros para
que a saída se aproxime da saída desejada.
• Utilização
– Novos exemplos jamais visto são apresentados ao sistema.
– O sistema deve generalizar e reconhecê‐los.
Fases da Aprendizagem
(Aprendizado Supervisionado)
Atributos
Exemplo Atrib1 Atrib2 Atrib3 Atrib4 Atrib5 Atrib6 Classe
X1 0.24829 0.49713 0.00692 ‐0.020360 0.429731 ‐0.2935 1
X2 0.24816 0.49729 0.00672 0.0065762 0.431444 ‐0.29384 1
X3 0.24884 0.49924 0.01047 ‐0.002901 0.423145 ‐0.28956 3
X4 0.24802 0.50013 0.01172 0.001992 0.422416 ‐0.29092 2
X5 0.24775 0.49343 0.01729 ‐0.014341 0.420937 ‐0.29244 2
Exemplos de Treinamento
Atributos
Exemplo Atrib1 Atrib2 Atrib3 Atrib4 Atrib5 Atrib6 Classe
X1 0.22829 0.48713 0.00592 ‐0.010360 0.419731 ‐0.2845 ?
X2 0.21816 0.48729 0.00572 0.0045762 0.421444 ‐0.28484 ?
X3 0.23884 0.49824 0.01447 ‐0.003901 0.433145 ‐0.24956 ?
X4 0.23002 0.49013 0.02172 0.002992 0.412416 ‐0.28092 ?
X5 0.24575 0.49243 0.01029 ‐0.015341 0.430937 ‐0.28244 ?
Classificação de Exemplos 
(Desconhecidos)
• Classificação:
– Responde se uma determinada “entrada” pertence a uma
certa classe.
– Dada a imagem de uma face: de quem é esta face (dentre
um número finito).
• Regressão:
– Faz uma predição a partir de exemplos.
– Predizer o valor da bolsa amanhã, dados os valores de dias
e meses anteriores.
• Estimação de Densidade:
– Estima quais são as N categorias presente nos dados.
Tipos de Problemas
• Dado uma quantidade finita de dados para o treinamento,
temos que derivar uma função h que se aproxime da
verdadeira função f(x) (a qual gerou os dados e é
desconhecida).
• Existe um número infinito de funções h.
Aprendizado Supervisionado
• Dado uma quantidade finita de dados para o treinamento,
temos que derivar uma função h que se aproxime da
verdadeira função f(x) (a qual gerou os dados e é
desconhecida).
• Existe um número infinito de funções h.
Aprendizado Supervisionado
• Dado uma quantidade finita de dados para o treinamento,
temos que derivar uma função h que se aproxime da
verdadeira função f(x) (a qual gerou os dados e é
desconhecida).
• Existe um número infinito de funções h.
Aprendizado Supervisionado
• Dado uma quantidade finita de dados para o treinamento,
temos que derivar uma função h que se aproxime da
verdadeira função f(x) (a qual gerou os dados e é
desconhecida).
• Existe um número infinito de funções h.
Aprendizado Supervisionado
• Dado uma quantidade finita de dados para o treinamento,
temos que derivar uma função h que se aproxime da
verdadeira função f(x) (a qual gerou os dados e é
desconhecida).
• Existe um número infinito de funções h.
Aprendizado Supervisionado
• Não queremos aprender por memorização
– Boa resposta sobre os exemplos de treinamento somente.
– Fácil para um computador.
– Difícil para os humanos.
• Aprender visando generalizar
– Mais interessante.
– Fundamentalmente mais difícil: diversas maneiras de
generalizar.
– Devemos extrair a essência, a estrutura dos dados e não
somente aprender a boa resposta para alguns casos.
Generalizar é Difícil
• Função‐alvo f (melhor resposta possível).
Exemplo
• Erro baixo sobre os exemplos de aprendizagem. Mais elevado
para os de teste.
Exemplo ‐ Overfitting
• Escolhemos um modelo muito simples (linear): erro elevado
na aprendizagem.
Exemplo ‐ Underfitting
Overfitting X Underfitting
• O modelo é suficientemente flexível para capturar a forma
curva da função f mais não é suficiente para ser exatamente
igual a função f.
Exemplo – Um Bom Modelo
• Como sabemos se a hipótese h está próxima da função‐alvo f,
se não conhecemos o que é f?
• Este é um aspecto de uma questão mais abrangente: como
saber se um algoritmo de aprendizado produziu uma teoria
que preverá corretamente o futuro?
• Qualquer hipótese que é consistente com um conjunto
suficientemente grande de exemplos é pouco provável de
estar seriamente errada.
Teoria de Aprendizado Computacional
?
circunferência
peso
Características são Importantes
forma
cor
Características são Importantes
Características são Importantes
no
aSer 10 
pm?  yes
call friend 
got 
electricity? 
read book 
got new 
dvd? 
play 
computer 
watch tv 
Árvore de Decisão
E
B 
C 
A 
A  B  C  D E
D
Bishop, “Pa4ern Recogni%on and Machine Learning”, Springer, 2006  
Árvore de Decisão – Ideia
10        7    
E
3        5     7        2    
3        2    
A 
A  B  C  D E
B 
C  D
Árvore de Decisão – Ideia
• 
• 
• 
• 
Interpretação
Facilidade em lidar com diversos tipos de informação
Adaptável também a problemas de regressão
Escolha automática dos atributos mais relevantes
em cada caso
Árvore de Decisão – Vantagens
•  Sensibilidade a pequenas perturbações no conjunto
de treino (geram redes muito diferentes)
•  Overfiting
Árvore de Decisão – Desvantagens
•  Fronteiras lineares e perpendiculares aos eixos 
• Russell, S. and Novig, P. Artificial 
Intelligence: a Modern Approach, 
2nd Edition, Prentice‐Hall, 2003.
– Capítulo 18: Learning from 
Observations
Leitura Complementar

Mais conteúdo relacionado

Mais procurados

Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
Nécio de Lima Veras
 
As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
tontotsilva
 

Mais procurados (20)

Introduction to machine learning
Introduction to machine learningIntroduction to machine learning
Introduction to machine learning
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Python
PythonPython
Python
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage Automatique
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
 
Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherche
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Cloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCloud Computing - Computação em Nuvem
Cloud Computing - Computação em Nuvem
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Machine learning
Machine learningMachine learning
Machine learning
 
Machine Learning - Introdução e Aplicações
Machine Learning - Introdução e AplicaçõesMachine Learning - Introdução e Aplicações
Machine Learning - Introdução e Aplicações
 
Hyperparameter Tuning
Hyperparameter TuningHyperparameter Tuning
Hyperparameter Tuning
 
Diagrama de Fluxo de Dados
Diagrama de Fluxo de DadosDiagrama de Fluxo de Dados
Diagrama de Fluxo de Dados
 
Introduction to text classification using naive bayes
Introduction to text classification using naive bayesIntroduction to text classification using naive bayes
Introduction to text classification using naive bayes
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Lista de Eventos
Lista de EventosLista de Eventos
Lista de Eventos
 

Destaque

RFID Technology and Internet of Things
RFID Technology and Internet of ThingsRFID Technology and Internet of Things
RFID Technology and Internet of Things
Dmitri Shiryaev
 
Apresentação da aula de biotecnologia
Apresentação da aula de biotecnologia Apresentação da aula de biotecnologia
Apresentação da aula de biotecnologia
Seleste Mendes Pereira
 

Destaque (14)

Aplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningAplicações Práticas de Machine Learning
Aplicações Práticas de Machine Learning
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clustering
 
Recursos do Ambiente R para a Análise de Clusters
Recursos do Ambiente R para a Análise de ClustersRecursos do Ambiente R para a Análise de Clusters
Recursos do Ambiente R para a Análise de Clusters
 
Principios básicos de Biologia Sintetica
Principios básicos de Biologia SinteticaPrincipios básicos de Biologia Sintetica
Principios básicos de Biologia Sintetica
 
Aprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RAprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e R
 
Biologia Sintética: engenharia de sistemas biológicos inovadores
Biologia Sintética: engenharia de sistemas biológicos inovadoresBiologia Sintética: engenharia de sistemas biológicos inovadores
Biologia Sintética: engenharia de sistemas biológicos inovadores
 
"All about rfid" Internet of Things Workshop
"All about rfid" Internet of Things Workshop"All about rfid" Internet of Things Workshop
"All about rfid" Internet of Things Workshop
 
Redes neurais
Redes neuraisRedes neurais
Redes neurais
 
RFID Technology and Internet of Things
RFID Technology and Internet of ThingsRFID Technology and Internet of Things
RFID Technology and Internet of Things
 
Machine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learnMachine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learn
 
Apresentação da aula de biotecnologia
Apresentação da aula de biotecnologia Apresentação da aula de biotecnologia
Apresentação da aula de biotecnologia
 
Biologia biotecnologia
Biologia biotecnologiaBiologia biotecnologia
Biologia biotecnologia
 
RNA - Redes neurais artificiais
RNA - Redes neurais artificiaisRNA - Redes neurais artificiais
RNA - Redes neurais artificiais
 
Machine Learning Algorithms
Machine Learning AlgorithmsMachine Learning Algorithms
Machine Learning Algorithms
 

Semelhante a Aprendizado de máquina

"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade
"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade
"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade
Carlos Augusto Oeiras
 

Semelhante a Aprendizado de máquina (20)

Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociência
 
Introdução a Aprendizado de maquina (ML)
Introdução a Aprendizado de maquina (ML)Introdução a Aprendizado de maquina (ML)
Introdução a Aprendizado de maquina (ML)
 
BSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
BSDDAY 2019 - Data Science e Artificial Intelligence usando FreebsdBSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
BSDDAY 2019 - Data Science e Artificial Intelligence usando Freebsd
 
AlfaCon LABs - Meetup Machine Learning (03/07/2014)
AlfaCon LABs - Meetup Machine Learning (03/07/2014)AlfaCon LABs - Meetup Machine Learning (03/07/2014)
AlfaCon LABs - Meetup Machine Learning (03/07/2014)
 
Machine Learning e Artificial Intelligence para desenvolvedores .NET
Machine Learning e Artificial Intelligence para desenvolvedores .NETMachine Learning e Artificial Intelligence para desenvolvedores .NET
Machine Learning e Artificial Intelligence para desenvolvedores .NET
 
O único agrupamento possível: O que é clustering em Machine Learning
O único agrupamento possível: O que é clustering em Machine LearningO único agrupamento possível: O que é clustering em Machine Learning
O único agrupamento possível: O que é clustering em Machine Learning
 
"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade
"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade
"Desaprendizado de maquina" - Desmistificando machine learning na sua realidade
 
PráTica De Ensino De Algoritmo Volume 1 e 2
PráTica De Ensino De Algoritmo Volume 1 e 2PráTica De Ensino De Algoritmo Volume 1 e 2
PráTica De Ensino De Algoritmo Volume 1 e 2
 
Machine Learning: Classificação de Comentários com Azure ML & Python
Machine Learning: Classificação de Comentários com Azure ML & PythonMachine Learning: Classificação de Comentários com Azure ML & Python
Machine Learning: Classificação de Comentários com Azure ML & Python
 
C# 8 e ML.NET
C# 8 e ML.NETC# 8 e ML.NET
C# 8 e ML.NET
 
(curso) Inteligência Artificial nos negócios
(curso) Inteligência Artificial nos negócios(curso) Inteligência Artificial nos negócios
(curso) Inteligência Artificial nos negócios
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de software
 
A ciência de dados por traz de sistemas de recomendação
A ciência de dados por traz de sistemas de recomendaçãoA ciência de dados por traz de sistemas de recomendação
A ciência de dados por traz de sistemas de recomendação
 
01-Paradigmas.pdf
01-Paradigmas.pdf01-Paradigmas.pdf
01-Paradigmas.pdf
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
Inteligência Artificial na Prática
Inteligência Artificial na PráticaInteligência Artificial na Prática
Inteligência Artificial na Prática
 
Test Driven Development - Conceitos básicos
Test Driven Development - Conceitos básicosTest Driven Development - Conceitos básicos
Test Driven Development - Conceitos básicos
 
TDC 2015 São Paulo - Clean Code para Testers
TDC 2015 São Paulo - Clean Code para TestersTDC 2015 São Paulo - Clean Code para Testers
TDC 2015 São Paulo - Clean Code para Testers
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computador
 

Aprendizado de máquina