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

Aprendizado de máquina