INF 1771 Inteligência Artificial  
Aula 12 Aprendizado de Máquina  
Edirlei Soares de Lima  
<elima@inf.puc-rio.br>  
Agentes Vistos Anteriormente  
Agentes baseados em busca:  
Busca cega  
Busca heurística  
Busca local  
Agentes baseados em lógica:  
Lógica proposicional  
Lógica de primeira ordem  
Agentes baseados em planejamento:  
Planejamento de ordem parcial  
Planejamento em ambientes não-determinísticos  
Agentes baseados em conhecimento estatístico:  
Redes Bayesianas  
Lógica Fuzzy  
Introdução  
Computadores realmente são capazes de  
aprender?  
Infelizmente ainda não sabemos como fazer  
computadores aprender de uma maneira similar  
a maneira como os humanos aprendem.  
Entretanto, foram desenvolvidos algoritmos que  
são eficientes em certos tipos de tarefas de  
aprendizagem.  
O que é Aprendizagem de Máquina?  
O que é Aprendizagem de Máquina?  
Aprender significamudar 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.  
Importancia do Aprendizado  
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 adapta 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.  
Como Aprender Algo?  
Exemplos:  
Considerando um agente treinando para ser se  
tornar um motorista de táxi. Toda vez que o  
instrutor gritar "freio!" o agente pode aprender  
uma condição de quando ele deve frear.  
Ao ver várias imagens que contem ônibus, o  
agente pode aprender a reconhecê-los.  
Ao tentar ações e observar os resultados. Por  
exemplo, ao frear forte em uma estrada molhada  
pode aprender que isso não tem um efeito bom.  
Formas de Aprendizado  
Aprendizado Supervisionado  
Aprendizado Não Supervisionado  
Aprendizado Por Reforço  
Aprendizado Supervisionado  
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  
Exemplo:  
Considerando um agente treinando para ser se tornar  
um motorista de táxi. Toda vez que o instrutor gritar  
"freio!" o agente pode aprender uma condição de quando  
ele deve frear.  
A entrada é formada pelos dados percebidos pelo agente  
através de sensores. A saída é dada pelo instrutor que  
diz quando se deve frear, virar a direita, virar a  
esquerda, etc.  
Aprendizado Não 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 Por Reforço  
O agente fica sabendo de uma série de reforços,  
recompensas ou punições.  
Por exemplo, a falta de uma gorjeta no final do percurso da  
ao agente de taxista uma indicação de que ele fez algo  
errado.  
Cabe ao agente reconhecer qual das ações antes do reforço  
foram as maiores responsáveis por isso.  
“Não damos a “resposta correta” para o sistema. O sistema  
faz uma hipótese e determina se essa hipótese foi boa ou  
ruim.  
Fases da Aprendizagem  
Treinamento (supervisionado)“  
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.  
Tipos de Problemas  
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 um exemplo.  
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.  
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  
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.  
Generalizar é Difícil  
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.  
Exemplo  
Função-alvo f (melhor resposta possível).  
Exemplo - Overfitting  
Erro baixo sobre os exemplos de aprendizagem. Mais  
elevado para os de teste.  
Exemplo - Underfitting  
Escolhemos um modelo muito simples (linear): erro  
elevado na aprendizagem.  
Exemplo Um Bom Modelo  
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.  
Teoria de Aprendizado Computacional  
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.  
Próximas Aulas  
Aprendizado Supervisionado:  
Arvores de decisão.  
KNN  
SVM  
Redes Neurais.  
Aprendizado Não-Supervisionado:  
Algoritmos de Clusterização.  
K-Means.  
Aprendizado Por Reforço.