Buscar

Lista de Exercícios

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aluno: Vinícius Biasi Nascimento 
 
 
• Trabalho da N1 
 
• Construir uma árvore de decisão (de forma automática, por indução) 
para o domínio (aplicação) de sua preferência. Justificar a sua escolha, 
ou seja, dizer o motivo pelo qual uma árvore de decisão pode ser 
aplicada ao conjunto de dados de sua preferência. Para isso, você pode 
utilizar a tecnologia de sua preferência. Na aba de arquivos deste curso, 
você encontrará exemplos em linguagem C, em Python e no Matlab. 
 
A variável de maior importância (que melhor explica a variabilidade dos dados) é 
“Possui Carteira Nacional de Habilitação (CNH)”. A partir da raiz, a árvore se 
ramifica em três grupos principais: (1) > 18 anos, (2) Possui Carro (3) Possui Moto. 
 
Com base nas justificativas, a arvore de decisão representa as decisões de pode 
tirar ou não a CNH, se ele tem a idade adequada para tirar a CNH e portar ela. Com 
isso, podemos analisar uma estimativa que se ele tiver a CNH, ele pode possuir dois 
grupos de automóveis que são os carros e motos. Podendo analisar o uso destes 
com o uso da CNH. 
 
• Árvore de decisão - Possui CNH: 
 
• Implementação 
 
 
 
• Console com a Geração dos Dados 
 
• Dados da Tabela 
 
 
• Imagem da Arvore 
 
 
 
 
 Observam-se, através da AD representada, as variáveis selecionadas, bem 
como sua influência no uso (ou não) de cada um dos dois modos de transporte 
considerados. Ter Carteira Nacional de Habilitação (CNH), por exemplo, influencia 
positivamente o uso do modo de transporte particular automotivo (maior quer 0,50% 
utiliza automóvel), assim como ter CNH (maior que 0,50% e ter mais de 18 anos 
utilizando a mesma porcentagem). Indivíduos que não possuem CNH e não 
possuem Carro são mais propensos ao uso do modo de transporte motorizado ou 
não se utilizam transportes. Verificou-se também uma boa porcentagem com a de 
possuir carro e moto, o uso de não ter a CNH, e mesmo assim utilizando os 
automóveis para utilização no dia a dia e com isso, podendo levar Multa. 
 
• Código: 
 
# -*- coding: utf-8 -*- 
""" 
 
@author: Vinicius Biasi 
""" 
 
import six #Biblioteca de compatibilidade entre o Python 2 e 3 
import sys 
sys.modules['sklearn.externals.six'] = six 
import pandas as pd #Manipula arquivos 
from sklearn.preprocessing import LabelEncoder #Biblioteca de data science 
from id3 import Id3Estimator #Importa o algoritmo id3 
from id3 import export_graphviz #Importa o gráfico do algoritmo id3 
import numpy as np #Biblioteca numérica 
 
arquivo = pd.read_csv('CNHArvore.csv') #Vai ler o arquivo .csv 
 
#Previsõres 
previsores = arquivo.iloc[:,0:3].values 
#Classe 
classe = arquivo.iloc[:,3].values 
#Nome dos previsores 
colunas = np.asarray(arquivo.columns[0:3]) 
 
print(previsores) 
print(classe) 
 
labelencoder = LabelEncoder() #Vai pegar os dados da tabela 
previsores[:,0] = labelencoder.fit_transform(previsores[:,0]) #Converte string 
para binário 
previsores[:,1] = labelencoder.fit_transform(previsores[:,1]) 
previsores[:,2] = labelencoder.fit_transform(previsores[:,2]) 
print("Depois da transformação:") 
print(previsores) 
 
#Treina a árvore e exporta o resultado 
estimator = Id3Estimator() 
estimator.fit(previsores, classe) 
t = export_graphviz(estimator.tree_, 'cnh.dot', colunas) #Gera um arquivo .dot 
com os dados da tabela 
 
#Para ver a imagem da árvore copia o texto do arquivo neste site: 
#https://dreampuf.github.io/GraphvizOnline/ 
 
 
 
⚫ Atividade 1 
 
• Ler o cap. 1 e cap 2 (livro de Norvig e Russel) e fazer os exercícios do 
cap. 2: 2.1, 2.2, 2.3, 2.4, 2.5 e 2.6. 
 
2.1 Suponha que a medida de desempenho se preocupa apenas com os T primeiros 
passos de tempo do ambiente e ignora tudo a partir de então. Mostre que a ação de 
um agente racional depende não apenas do estado do ambiente, mas também do 
passo de tempo que ele alcançou. 
 
Um agente realiza a avaliação de seu ambiente abstraindo informações dele e gera 
uma sequência de ações de acordo com as percepções que recebe. Essas ações 
quando realizadas podem ou não afetar o ambiente e se houver alguma mudança 
nas ações do agente isso significa que é necessária uma atualização do ambiente. 
As ações do agente podem variar tomando diversos caminhos portanto é crucial que 
saibamos qual será o resultado, não somente apenas as etapas em que o tempo T 
(intervalos) influenciam por conta da constante mudança do mundo. Um agente 
deve realizar suas ações com base em seu conhecimento se houverem paradas no 
tempo T e o agente não for construído com o intuito de lidar com essas paradas não 
será possível que esse agente obtenha êxito. 
 
2.2 Vamos examinar a racionalidade de várias funções do agente aspirador de pó. 
 
(a) Mostre que a função do agente aspirador de pó simples descrito na Figura 
2.3 é realmente racional, conforme as suposições listadas na página 38. 
 
Para que o agente de aspirador de pó simples seja considerado racional é 
necessário que ele atenda algumas suposições como se o mapa já está anexado a 
sua base de conhecimento ou se ele consegue identificar através de um sensor se é 
hora de realizar a limpeza ou não e assim ele sempre agira dentre os limites 
preestabelecidos. 
 
(b) Descreva uma função de agente racional para o caso em que cada 
movimento custa um ponto. O programa de agente correspondente exige 
estado interno? 
 
Se cada movimento custar um ponto, um estado interno é necessário para manter o 
controle dos pontos de partida (se houver) e a subtração desses pontos. A não ser 
que a pontuação comece em 0 e seja negativa para cada movimento. Mas, se 
limpar um espaço, dá um ponto, então um objetivo ideal seria tentar obter uma 
pontuação de 0 ou mais. 
 
(c) Descreva possíveis projetos de agentes para os casos em que quadrados 
limpos podem ficar sujos e a geografia do ambiente é desconhecida. Faz 
sentido para o agente aprender a partir de sua experiência nessas 
situações? Em caso afirmativo, o que ele deve aprender? Se não, por quê? 
 
Se o ambiente pode variar seus estados como a mudança de um estado limpo para 
sujo então é necessário que o aspirador limpe esses espaços que ficaram sujos. E 
para economizar energia é necessário que o aspirador saiba analisar o ambiente e 
mapeá-lo a cada etapa concluída de limpeza para que seu sugador a vácuo não 
fique ligado o tempo todo e ele passe novamente em um espaço já limpo. Ao 
inicializar, ele deve assumir que todos os espaços estão sujos e iniciar um caminho 
para limpar todos eles, certificando-se de obter todos os espaços sujos. Quanto 
mais o aspirador faz isso, mais ele conhece os arredores e com que frequência 
deve limpar. 
 
2.3 Para cada uma das seguintes afirmações, diga se é verdadeiro ou falso e 
justifique com exemplos a sua resposta ou com contraexemplos se for o caso. 
 
(a) Um agente que detecta apenas informações parciais sobre o estado não 
podem ser perfeitamente racionais. 
Falso, pois, a racionalidade está ligada a capacidade de tomada de decisões a partir 
de um conhecimento prévio. 
 
(b) Existem ambientes de tarefa nos quais nenhum agente reativo puro pode 
comportar-se racionalmente. 
Verdadeiro. Um agente reativo puro ignora percepts anteriores, portanto, não é 
possível obter uma estimativa de estado ideal em um ambiente parcialmente 
observável. Um exemplo disso é o xadrez, que é jogado através do envio de 
movimentos. Se o movimento do outro jogador é o percept atual, um agente reativo 
puro não poderia manter o controle do estado do tabuleiro e teria que responder da 
mesma maneira, independentemente da posição em que foi jogado. 
 
(c) Existe um ambiente de tarefa em que todo agente é racional. 
Verdadeiro. Pois em um ambiente onde há um único estado embelecido e toda e 
qualquer ação realizada irá convergir para o mesmo resultado e assim o agente 
sempre será racional. Em geral, qualquer ambiente que é invariante sob permutação 
das ações satisfará esta propriedade. 
 
(d) A entrada para o programa de agente é a mesma que a entradapara a 
função de agente. 
Falso. Pois a função do agente considera as sequências de entradas até o instante 
determinado já o programa de agente toma como entrada a percepção em tempo 
real. 
 
(e) Toda função de agente é implementável por uma combinação de 
programa/máquina. 
Falso. Porque há problemas que são intratáveis como de tamanhos aleatórios em 
tempo constante, ou seja, onde há diversas mudanças e que o agente não pode 
tomar uma decisão por faltado conhecimento prévio da entrada. 
 
(f) Suponha que um agente selecione sua ação uniformemente ao acaso do 
conjunto de ações possíveis. Existe um ambiente de tarefa determinista em 
que esse agente é racional. 
Verdadeiro. Trata-se de um caso especial. Já que não importa qual ação você é 
tomada, ao selecionar aleatoriamente, isso é racional. 
 
(g) É possível para um dado agente ser perfeitamente racional em dois 
ambientes de tarefa distintos. 
Verdadeiro. Por exemplo, podemos modificar arbitrariamente as partes do ambiente 
que são inacessíveis por qualquer política ideal, desde que fiquem inacessíveis 
 
(h) Todo agente é racional em um ambiente não observável. 
Falso. Algumas ações são estúpidas e o agente pode ter conhecimento disso se ele 
tem um modelo do ambiente, mesmo que o estado do ambiente não possa ser 
perceptível. 
 
(i) Um agente jogador de pôquer perfeitamente racional nunca perde. 
Falso. A não ser que tenha saído com uma mão perfeita, o agente pode sempre 
perder se um adversário tem cartas melhores. Isso pode acontecer por jogo após 
jogo. 
 
2.4 Para cada uma das seguintes atividades, forneça uma descrição PEAS do 
ambiente da tarefa e caracterize-o em termos das propriedades listadas na Seção 
2.3.2. 
 
• Jogar futebol: 
 
Parcialmente observável: O ambiente pode ser alterado por fatores como 
temperatura, chuva ou até mesmo neve. 
 
Agente múltiplo: Cada jogador realiza uma funcionalidade diferente sendo que 
cada jogador é um agente. 
 
Estocástico: Não há como definir completamente o estado do ambiente pois ele 
varia constantemente. 
 
Sequencial: As ações atuais do agente influenciam em decisões futuras. 
 
Dinâmico: Por ser um ambiente dinâmico ele se encontra em constante mudança e 
pode mudar durante a ação de um agente. 
 
Contínuo: A passagem do tempo e a velocidade da bola são contínuos no tempo. 
 
• Explorar os oceanos subterrâneos de Titã: 
 
Parcialmente observável: Mudanças podem ocorrer no ambiente como terremotos 
e desabamentos. 
 
Único: Apenas um robô explorando o local. 
 
Estocástico: Não há como definir completamente o estado do ambiente. 
 
Sequencial: As ações atuais do agente influenciam nas ações futuras. 
 
Dinâmico: O ambiente pode passar por mudanças. 
 
Contínuo: A passagem do tempo e a velocidade do agente são contínuos no 
tempo. 
 
• Comprar livros usados de IA na Internet: 
 
Parcialmente observável: Alterações podem ocorrer no ambiente como o 
lançamento de um livro novo ou a indisponibilidade de um livro. 
 
Agente único: Apenas um mecanismo de pesquisa. 
 
Determinístico: O próximo estado do ambiente depende da ação do agente. 
 
Sequencial: As ações atuais do agente influenciam nas decisões futuras. 
 
Estático: O ambiente só altera se o agente atuar nele. 
 
Discreto: O ambiente tem um número finito de estados. 
 
• Jogar uma partida de Tênis 
 
Parcialmente observável: pois o ambiente pode mudar de forma drástica, como 
chuva, interferência de outros objetos que não seja a bola. 
Agente único: agente compete com outro jogador para cumprir seu objetivo de 
ganhar a partida. 
Estocástico: não se pode prever todas as jogadas do outro jogador. 
Sequencial: dados como a velocidade da bola mudam de forma contínua. 
Dinâmico: enquanto o agente delibera o ambiente muda, o jogador adversário 
muda sua posição e a bola sua trajetória. 
Continuo: as ações do agente são deliberadas de forma contínua no tempo e as 
escolhas de ações anteriores influenciam nos seus estados futuros, como jogar a 
bola para a direita ou esquerda pode desencadear uma sequência de eventos que 
leve a um deslocamento para a direita futuramente. 
Desconhecido: por ser multiagente, o outro agente pode interagir com a bola com 
diferentes estratégias as quais o agente vai ter que se adaptar no momento. 
 
 
• Praticar tênis contra uma parede: 
 
Totalmente observável: O ambiente não sofre alteração. 
 
Único: Apenas um jogador. 
 
Determinístico: O próximo estado do ambiente depende das ações do agente. 
 
Sequencial: As ações atuais do agente influenciam nas decisões futuras. 
 
Estático: O ambiente não muda enquanto o agente está atuando nele. 
 
• Realizar um salto de altura: 
 
Totalmente: O ambiente não sofre alteração. 
 
Único: Apenas um agente. 
 
Determinístico: O próximo estado do ambiente depende das ações do agente. 
 
Episódico: O agente percebe o estado do ambiente e executa a ação de salto. 
 
Estático: O ambiente não muda enquanto o agente está atuando nele. 
 
• Licitações de um item em um leilão: 
 
Totalmente: O ambiente não sofre alteração. 
 
Único: Apenas um agente. 
 
Determinístico: O próximo estado do ambiente depende das ações do agente. 
 
Episódico: O agente percebe o estado do ambiente e executa a ação de venda. 
 
Estático: O ambiente não muda enquanto o agente está atuando nele. 
 
 
 
Agente Desempenho Ambiente Atores Sensores 
Jogar Futebol 
 
Fazer Gol, realizar 
o mínimo de 
faltas, Estar 
Concentrado 
Campo de Futebol 
Jogadores, 
Técnicos, 
Juízes, Var 
Câmeras, 
Sensores e 
Movimento 
Explorar os 
oceanos 
subterrâneos 
de Titã 
Profundidade, 
experiência, 
coleta de 
materiais 
Saturno, Lua de 
Saturno, Link de 
transmissão, 
Subterrâneo 
Cientistas, 
Astronautas 
Sondas, Câmeras, 
Profundidade 
Comprar 
livros usados 
de IA na 
Internet 
Receber livro de 
IA em casa 
Internet, Lojas Online 
de Livros, 
Transportadora e 
Residência 
Site de venda, 
entregador, 
comprador 
Leitor de código 
de barras 
Jogar uma 
partida de 
tênis 
Fazer pontos, 
vencer a partida, 
estratégia 
Quadra 
Jogadores, 
Juízes, Plateia, 
preparador 
físico 
Medidor de 
velocidade da 
bola, Câmeras, 
Movimento 
Praticar tênis 
contra uma 
parede 
 
Jogar a bola na 
parede, e esperar 
a ação dela voltar 
Sala 
Jogador, 
Parede 
Câmeras 
 Realizar um 
salto de 
altura 
 
Altura do Santo, 
permanecer em 
pé após o salto 
Linha, área de 
aterrissagem 
Atleta 
Sensor de altura, 
Velocímetro, 
sensores de 
precisão 
Licitações de 
um item em 
um leilão 
Arremata o item, 
Bom preço de 
arremate 
Casa de Leilões, 
Leilões Online 
Compradores, 
e leiloeiro 
Sensor de lance 
mais alto 
 
 
2.5 Defina com suas próprias palavras os termos a seguir: agente, função de 
agente, programa de agente, racionalidade, autonomia, agente reativo, agente 
baseado em modelo, agente baseado em objetivos, agente baseado em utilidade, 
agente com aprendizagem. 
 
Agente: O Agente é aquele que percebe o ambiente buscando a realização da ação 
correta adaptando-se a mudanças procurando cumprir as metas estabelecidas. 
 
Função do agente: É responsável por determinar uma ação, baseada na 
percepção atual, ou, o que é mais comum, numa sequência de percepções. 
 
Programa de agente: Caracteriza a função do agente que é responsável por 
determinar uma ação, baseada na percepção atual, ou, o que é mais comum, numa 
sequência de percepções. 
 
Racionalidade: capacidade de agir sempre em busca dos próprios objetivos. 
 
Autonomia: é a capacidade do agente de executar o controle sobre suas próprias 
ações. 
Agente reativo: não modelam o mundo para determinar suas ações. São agentes 
simples que possuem um mapeamento de situações e respostas associadas. 
Assim, quando um estado ambiental ocorre, o agente executa a ação 
correspondente. 
 
Agente baseado em modelo: o agente que o usa o modelo de mundo. 
 
Agente baseado em objetivos: o agente precisa de algum tipo de informação 
sobre o seu objetivo,e esses objetivos descrevem situações desejáveis. 
 
Agente baseado em utilidade: se um estado do mundo é mais desejável que 
outro, então ele terá maior utilidade para o agente. 
 
Agente com aprendizagem: habilidade apresentada pelo agente de acumular 
conhecimento baseado em experiências anteriores, e consequentemente, modificar 
seu comportamento em resposta às novas situações. 
 
2.6 Este exercício explora as diferenças entre funções de agentes e programas de 
agentes. 
 
(a) Pode haver mais de um programa de agente que implemente uma dada 
função de agente? Dê um exemplo ou mostre por que não é possível. 
 
Sim. Podemos criar um programa de agente por meio da modificação de um 
programa de agente existente, inserindo comandos inúteis que não alterem a saída 
do programa. Estes dois programas implementam a mesma função de agente. 
 
(b) Existem funções de agente que não podem ser implementadas por 
qualquer programa de agente? 
 
Sim. O agente imprime ‘true’ caso o percept seja um programa de máquina de 
Turing que pare, e imprime ‘false’, caso contrário. Sendo observado que para 
máquinas de velocidade inferior a infinita, a função do agente faz uma jogada 
vencedora, se for possível, em um jogo de xadrez. 
 
(c) Dada uma arquitetura de máquina fixa, cada programa de agente 
implementa exatamente uma função de agente? 
 
Sim. O comportamento do agente é corrigido pela arquitetura e pelo programa. 
 
(d) Dada uma arquitetura com n bits de armazenamento, quantos 
programas de agentes distintos são possíveis nessa arquitetura? 
 
Existem programas de agente 2n, embora muitos destes não serão executados. 
Qualquer programa pode dedicar no máximo n bits para o armazenamento, 
podendo ser distinguidas apenas 2n histórias passadas. Como a função de agentes 
específicas ações com base em históricos dos percepts, haverá muitas funções de 
agente que não poderão ser implementadas devido à falta de memória disponível na 
máquina. 
 
(e) Suponha manter fixo o programa de agente, mas aumentamos a 
velocidade da máquina por um fator de dois. Isso muda a função de 
agente? 
 
Depende do programa e o meio ambiente. Se o ambiente é dinâmico, o excesso de 
velocidade da máquina pode significar a escolha diferente (talvez melhor) ações e / 
ou agir mais cedo. Se o ambiente é estático e o programa não presta atenção à 
passagem de tempo decorrido, a função do agente é inalterada. 
 
⚫ 2) Todos os exercícios que estão nos slides “Representação-
conhecimento.pdf”. 
 
2.1. Tendo o ser humano como primeiro modelo de observação, descreva um 
processo de acúmulo do conhecimento que o possibilite agir de forma inteligente. 
Em seguida, identifique as propriedades desse modelo. 
 
Uma pessoa tendo contato a primeira vez com um Cubo Magico. 
 
Humano -> Sentido -> Objeto -> Conhecimento -> Interação -> Conseguir alinhar as 
cores rapidamente. 
 
Adequação Inferencial (Sentido), Eficiência Inferencial (Cubo Magico), Adequação 
Representacional (Conhecimento). 
 
2.2. Descreva um conjunto de Regras de Produção (utilizando o português 
estruturado) para um Sistema Computacional, que com fatos fornecidos pelo 
usuário, possa ser usado na escolha de um vinho. Como fatos, considere dados de 
entradas. 
 
Um conjunto de regras, <condição>: determina a aplicabilidade da regra, <ação>: 
descreve a ação a ser realizada se a regra for aplicada. 
 
tipo_molhos = {tomate, carne, brancos, frutos do mar, pesto} 
preço = {<100,00, 100-200, >200} 
tipo = {branco, rosés, tinto, fresco} 
origem = {Argentina, Chile, Europa, USA, Italia} 
UVA = {Malbec, Cabernet, Merlot, Syrah, Carmenere} 
safra = {2005, 2007, 2018, 2020} 
 
Escolha = {sim, não} 
Se tipo_molhos = tomate 
então tipo=tinto 
Se origem = Chile 
então UVA = Cabernet 
se Safra = 2007 
 Se preço <100 
então vinho escolhido 
então escolha = sim 
 
 
Com base na finalização do algoritmo, o usuário irá ter uma decisão e escolhe do 
vinho. O agente ele classifica os conjuntos de variáveis, para a decisão feita pelo 
usuário com base nos diferentes tipos de escolhas de cada variável. 
 
 
2.3. Defina a função do agente para um recomendador de jogo. Defina a medida de 
desempenho para o agente. Em seguida, construa um conjunto de produção para 
implementar o programa do agente, considerando se tratar de um agente reativo 
simples. 
 
 
Objetivo (Função do agente): Recomendar um jogo baseado nas escolhas do 
usuário; 
Medida de desempenho: Jogo escolhido com sucesso de acordo com as escolhas 
do usuário; 
Fatos: Dados de entrada; 
Disponível = {Xbox, Playstation, Nintendo_Switch} 
Gênero = {ação, aventura, luta, atirador, esporte, estratégia} 
// Classificação = {todas_as_idades} 
Classificação_Etária = {10, 12, 14, 16, 18} 
Aceitar_Sugestão = {sim, não} 
Valor = {<50, 60-100, >200} 
 
Aceitar_Sugestão {sim, não} 
Se Disponível = Xbox 
 Então Classificação_Etária = 16 
 Se Gênero = luta e Valor = 60-100 
 Então .... 
 Então = Escolhido 
 
 
 
function Agente_Reativo_Simples (percept) return uma ação 
static: regras – um conjunto de regras condição-ação 
 
Estado ← Interpreta_Entrada (percept) 
Regra ← Acha_Regra (estado, regras) 
Ação ← Regra_Ação [regra] return ação 
 
 
⚫ 3) Leia o texto “Árvores de Decisão”, dos prof. Fernando J. Von Zuben & 
Romis R. F. Attux. Em seguida, responder ao questionário. 
1) Como podem ser classificados os atributos utilizados em árvores de decisão? 
De acordo com texto base, costuma-se especificar os atributos em três formas 
categóricos ordinais, categóricos não-ordinais e contínuos. Os contínuos assumem 
valores numéricos em intervalos no eixo dos números reais. Categóricos ordinais 
eles assumem um conjunto finito de valores, que podem ser ordenados. Categóricas 
não-ordinais assumem um conjunto finito de valores que não podem ser ordenados. 
 
2) O que é uma classe? 
A classe é uma variável dependente cujo valor é definido a partir das variáveis 
independentes, ou seja, a partir dos atributos. 
 
3) Qual o significado de modelagem descritiva e modelagem preditiva, por meio de 
árvores de decisão. 
Na modelagem descritiva, um modelo de classificação é utilizado como uma 
ferramenta para distinguir exemplos de diferentes classes. Como exemplo, um 
médico pode utilizar um modelo de classificação para identificar quais são as 
principais causas de uma determinada doença. 
Quando há o interesse em análise descritiva, é desejável que o modelo de 
classificação seja fácil de interpretar, ou seja, que fique claro ao usuário o porquê de 
um determinado exemplo pertencer a uma determinada classe. Na modelagem 
preditiva, um modelo de classificação é utilizado para classificar exemplos cujas 
classes são desconhecidas, ou seja, exemplos que não foram utilizados na 
construção do modelo. Como exemplo, um médico pode utilizar um conjunto de 
dados históricos de seus pacientes, em que as classes (diagnóstico) já são 
conhecidas, para construir um modelo de classificação a ser utilizado para 
diagnosticar novos pacientes. 
 
4) O que é indução manual (top-down) e o que é indução automática (botton-up), 
em árvores de decisão? 
Top Down nada mais é que um algoritmo que gera regras ordenadas pela ordem 
que são induzidas enquanto o método bottom-up gera um conjunto não ordenado. 
Esta diferença implica que a aplicação do conjunto de regras a exemplos não 
classificados seja, no caso do top-down, cada exemplo é classificado pela primeira 
regra satisfeita, no caso bottom-up, todas as regras satisfeitas são utilizadas para 
classificar o exemplo, optando pela regra com melhor qualidade. 
 
5) O que significa ganho de informação baseado em entropia? 
O ganho informacional é baseado na redução da entropia depois de uma divisão do 
conjunto de dados baseado em determinada regra. A entropia é uma forma de medir 
a probabilidade de obter um elemento positivo a partir de uma seleçãoaleatória do 
subconjunto de dados. Ou seja, construir uma árvore de decisão se trata de 
encontrar regras sobre as variáveis do modelo (ou pontos de corte) que retornam o 
maior ganho de informação, isto é, que tornam os ramos da árvore mais 
homogêneos, com menor entropia. 
 
6) O que significa razão do ganho? 
Nada mais é do que o ganho de informação relativo (ponderado) como critério de 
avaliação. 
7) Para que serve o índice Gini? Como é utilizado na indução de árvores de 
decisão? 
Ele serve para medir a heterogeneidade dos dados e é utilizado tanto para a 
seleção de atributos como também em análises econômicas e sociais para verificar 
a distribuição de renda em um certo país. Quando se utiliza o critério Gini na 
indução de árvores de decisão binárias, tende-se a isolar num ramo os registros que 
representam a classe mais frequente, assim, utilizando o atributo com menor valor 
do índice para a classificação, já, ao utilizar-se da entropia, balanceia-se o número 
de registros em cada ramo. Um algoritmo de indução de árvore de decisão bastante 
conhecido que utiliza o índice GINI para a seleção de atributos é o algoritmo CART 
(Classification and Regression Trees), ele realiza a indução pela abordagem top-
down e constrói uma árvore de decisão binária simples e legível. 
 
8) Descreva as cinco alternativas apresentadas para a representação dos nós para 
atributos categóricos. 
Existem cinco formas de representação dos nós para atributos categóricos são eles, 
um ramo para cada valor de atributo, que é a partição mais comum, na qual é criada 
uma aresta para cada valor do atributo usado como condição de teste. Embora esse 
tipo de partição permita extrair do atributo todo o seu conteúdo informativo, possui a 
desvantagem de tornar a árvore de decisão mais complexa outra. Uma alternativa é 
a solução de Hunt que é a partição utilizada pelo algoritmo ID3, sugere uma partição 
binária. Nesse caso, um dos valores é atribuído a uma das arestas e todos os outros 
valores à outra aresta. Já os tributos categóricos ordinais: Como já definido, um 
atributo é ordinal quando há uma relação de ordem entre os seus possíveis valores. 
Com atributos desse tipo, é possível realizar uma partição binária do tipo altura < 
〈média〉, em que todos os exemplos cujo atributo altura tem valor 〈baixa〉 seguem 
por uma aresta e os outros seguem por outra aresta. Agrupamento de valores em 
dois conjuntos: pode ser realizada de uma forma mais complexa, onde cada um dos 
dois subconjuntos pode ser formado por registros com mais de um valor para o 
atributo utilizado como condição de teste. 
 
9) Qual a utilidade dos métodos de poda, em árvores de decisão? 
Quando árvores de decisão são construídas, muitas das arestas ou sub-árvores 
podem refletir ruídos ou erros. Isso acarreta um problema conhecido como sobre 
ajuste, que significa um aprendizado muito específico do conjunto de treinamento, 
não permitindo ao modelo generalizar. Para detectar e excluir essas arestas e sub-
árvores, são utilizados métodos de poda (pruning) da árvore, cujo objetivo é 
melhorar a taxa de acerto do modelo para novos exemplos, os quais não foram 
utilizados no conjunto de treinamento (HAN, 2001). 
 
10) Apresente as principais características dos algoritmos ID3, C4.5 e Cart. 
Uma árvore de decisão é um classificador que particiona dados recursivamente para 
formar grupos ou classes. Este é um algoritmo de aprendizado supervisionado que 
pode ser usado em dados discretos ou contínuos para classificação ou regressão. O 
algoritmo usado nas árvores de decisão é ID3, C4.5, CART, C5.0, CHAID, QUEST, 
CRUISE etc. A árvore de decisão consiste em nós que formam uma árvore 
enraizada, o que significa que é uma árvore direcionada com um nó chamado “Raiz” 
que não possui arestas recebidas. Todos os outros nós têm exatamente uma borda 
de entrada. Um nó com arestas de saída é chamado de nó interno ou de teste. 
Todos os outros nós são chamados de folhas. 
ID3 ou Dicotomizador Iternativo, foi a primeira de três implementações da Árvore 
de Decisão desenvolvidas por Ross Quinlan Ele cria uma árvore de decisão para os 
dados fornecidos de maneira descendente, iniciando a partir de um conjunto de 
objetos e uma especificação de propriedades Recursos e informações. Cada nó da 
árvore, uma propriedade é testada com base na maximização do ganho de 
informações e na minimização da entropia, e os resultados são usados para dividir o 
conjunto de objetos. Esse processo é feito recursivamente até que o conjunto em 
uma subárvore seja homogêneo (ou seja, contém objetos pertencentes à mesma 
categoria). O algoritmo ID3 usa uma pesquisa gananciosa. Ele seleciona um teste 
usando o critério de ganho de informações e nunca explora a possibilidade de 
escolhas alternativas. 
C4.5: Versão aprimorada no ID 3 da Quinlan. Os novos recursos (versus ID3) são: 
(i) aceita recursos contínuos e discretos; 
(ii) lida com pontos de dados incompletos; 
(iii) resolve o problema de ajuste excessivo por meio da técnica bottom-up (muito 
inteligente), geralmente conhecida como "poda"; e 
(iv) pesos diferentes podem ser aplicados aos recursos que compõem os dados de 
treinamento. 
Cart: Alta capacidade de relacionar dados, Gera arvores mais simples, produz 
arvores binarias, utiliza agrupamento de valores em dois conjuntos, possui método 
de pós poda. 
 
⚫ 4) Utilizando os dados do problema “Ir ao Café Cancun”, do arquivo 
“AulaID3.pdf”, encontre qual atributo deve ser escolhido como a raiz da 
árvore de decisão. Para isso, aplique o algoritmo ID3. 
 
 
 
 
 
 
No exemplo apenas existem duas classes de classificação, ou seja, vai pro café 
(Sim), que seria o nosso positivo. Ou não irá pro café (Não) que seria o nosso 
negativo. 
− Por essa definição aplica o conceito de Entropia e ganho. 
 
 
 
 https://planetcalc.com/8421/# 
 
 
O atributo deve ser escolhido como a raiz da árvore de decisão é 
 
Fome, com base no site Planet Cálc. 
 
O maior ganho de informação está na coluna Fome, e como a entropia para ambas 
variações é 0 os nos dessas variações são folhas da arvore, portanto a nossa 
arvore fica: 
 
 
https://planetcalc.com/8443/ 
 
Primeiro, deve ser selecionado a coluna ação e feito o cálculo com a probabilidade de 
sim e não acontecer: 
𝒑 = 𝒒𝒕𝒅/𝒕𝒐𝒕𝒂𝒍 
Quantidade de sim = 7 | para sim = 7/12 Quantidade de não = 5 | para não = 5/12 Total = 
12 
 
𝑬 = − ∑ 𝒑𝒊𝒍𝒐𝒈𝟐(𝒑𝒊) 
 
Após calcular a entropia da coluna ação: 
 
 
 
Entropia ação = − [( 𝟕∗ 𝒍𝒐𝒈( 𝟕 )) + ( 𝟓∗ 𝒍𝒐𝒈( 𝟓 ))] = 𝟎, 𝟗𝟕𝟗𝟖𝟔𝟖𝟕𝟓𝟔𝟔𝟓𝟏 
A coluna do sono gerar três ramos, um para cada variação da coluna. Deve ser 
calculado a entropia e o peso de cada mudança: 
Quantidade de pouco = 6 
pouco sim na tabela pai = 4 
pouco não na tabela pai = 2 
para sim = 4/6 
para não = 2/6 
 
Entropia pouco = − [(𝟒/6 ∗ 𝒍𝒐𝒈 (𝟒/6)) + (𝟐/6 ∗ 𝒍𝒐g(𝟐))] = 𝟎, 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑𝟒𝟎𝟓𝟒 
Peso pouco = 𝒂𝒎𝒐𝒔𝒕𝒓𝒂𝒔 𝒇𝒊𝒍𝒉𝒐/𝒂𝒎𝒐𝒔𝒕𝒓𝒂𝒔 𝒑𝒂𝒊 = 6/12 
Quantidade de sim = 3 
sim na tabela pai = 0 
sim não na tabela pai = 3 
para sim = 0/3 
para não = 3/3 
 
Entropia sim = − [(𝟎/3 ∗ 𝒍𝒐𝒈 (𝟎/3)) + (𝟑/3 ∗ 𝒍𝒐𝒈(𝟑/3))] = 𝟎 
Peso sim = 𝒂𝒎𝒐𝒔𝒕𝒓𝒂𝒔 𝒇𝒊𝒍𝒉𝒐 / 𝒂𝒎𝒐𝒔𝒕𝒓𝒂𝒔 𝒑𝒂𝒊 = 𝟑/12 
Quantidade de não = 3 
não sim na tabela pai = 3 
sim não na tabela pai = 0 
para sim = 3/3 
para não = 0/3 
 
Entropia não = − [(𝟎/3 ∗ 𝒍𝒐𝒈 (𝟎/3)) + (𝟑/3 ∗ 𝒍𝒐𝒈(𝟑/3))] = 𝟎 
Peso pouco = 𝒂𝒎𝒐𝒔𝒕𝒓𝒂𝒔 𝒇𝒊𝒍𝒉𝒐 / 𝒂𝒎𝒐𝒔𝒕𝒓𝒂𝒔 𝒑𝒂𝒊 = 3/12 
Cálculo do ganho de informação para a coluna sono: 
𝑮𝒂𝒏𝒉𝒐𝑰𝒏𝒇𝒐 = 𝒆𝒏𝒕𝒓𝒐𝒑𝒊𝒂𝒑𝒂𝒊 − ∑ 𝒑𝒆𝒔𝒐𝒇𝒊𝒍𝒉𝒐𝒆𝒏𝒕𝒓𝒐𝒑𝒊𝒂𝒇𝒊𝒍𝒉𝒐 
Ganho de informação sono: 
= 𝟎, 𝟗𝟕𝟗𝟖𝟔𝟖𝟕𝟓𝟔𝟔𝟓𝟏 – [( 𝟔/12 ∗ 𝟎, 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑𝟒𝟎𝟓𝟒) + (𝟎 ∗ 𝟑/12 ) + (𝟎 ∗ 𝟑/12 )] 
Ganho informação sono = 𝟎. 𝟓𝟐𝟎𝟕𝟐𝟎𝟖𝟑𝟗𝟔𝟐𝟒 
O mesmo processo se repete nas outras colunas: 
 
 Sono TransportePUC Álcool Sair Fome Ação 
GI 𝟎, 
𝟓𝟐𝟎𝟕𝟐
𝟎 
𝟎, 𝟎𝟗𝟓𝟒𝟑𝟕 𝟎, 
𝟎𝟔𝟐𝟗𝟎𝟕
𝟐𝟗𝟑 
𝟎, 
𝟎𝟔𝟐𝟗𝟎𝟕𝟐𝟗
𝟑 
𝟎, 
𝟎𝟖𝟏𝟕𝟎𝟒𝟏
𝟔 
𝟎, 
𝟎𝟑𝟎𝟑
𝟕𝟕𝟑𝟑 
- 
 
 
A coluna com o maior ganho de informação será a raiz da árvore, no caso a coluna 
sono. Como base no sono, é gerado 3 ramos, será dividido a base de dados para os três 
respectivos ramos: 
Sono – Pouco: 
 
Sono Transporte PUC Álcool Sair Fome Ação 
Pouco Carro Sim Sim Não Sim Sim! 
Pouco Carona Não Não Sim Sim Sim! 
Pouco Carona Não Não Sim Não Sim! 
Pouco Outros Não Sim Não Sim Não 
Pouco Carro Sim Não Sim Sim Sim! 
Pouco Carona Não Não Não Sim Não 
 
Sono – Sim: 
 
Sono Transporte PUC Álcool Sair Fome Ação 
Sim Carro Não Sim Sim Sim Não 
Sim Outros Sim Sim Sim Não Não 
Sim Carro Não Sim Sim Não Não 
 
Sono – Não: 
 
Sono Transporte PUC Álcool Sair Fome Ação 
Não Outros Sim Sim Sim Sim Sim! 
Não Carro Não Sim Sim Não Sim! 
Não Carona Não Sim Sim Sim Sim! 
 
É observado para a entropia do sono - sim e do sono - não é notado que é 0. 
Nas tabelas que representam os ramos dessas variações, é notado que 
independentemente do valor das outras colunas sempre que sono – sim, não vou ao café 
e sempre que sono não, vou ao café. Esses nós, portanto, geram folhas da arvore. O 
processo vai se repetir com a tabela de dados que não gerou uma folha ainda, Sono – 
Pouco. 
Entropia da coluna ação = 𝟎. 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑 
 
 
Ganhos de informação das colunas? 
 
Transporte Sim Não Peso Entropia 
Carro 2 0 2/6 0 
Carona 2 1 3/6 𝟎. 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑 
Outros 0 1 1/6 0 
 
Ganho de informação (Transporte) = 𝟎. 𝟓𝟒𝟎𝟖𝟓𝟐𝟎𝟖 
 
PUC Sim Não Peso Entropia 
Sim 2 0 2/6 0 
não 2 2 4/6 1 
 
Ganho de informação (PUC) = 𝟎. 𝟑𝟑𝟑𝟑𝟑𝟑𝟑𝟑 
 
Álcool Sim Não Peso Entropia 
Sim 1 1 2/6 1 
não 3 1 4/6 𝟎. 𝟖𝟏𝟏𝟐𝟕𝟖𝟏𝟐 
 
Ganho de informação (Álcool) = 𝟎. 𝟏𝟐𝟓𝟖𝟏𝟒𝟓𝟖 
 
Sair Sim Não Peso Entropia 
Sim 3 0 3/6 0 
não 1 2 3/6 𝟎. 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑 
 
Ganho de informação (Sair) = 𝟎. 𝟓𝟒𝟎𝟖𝟓𝟐𝟎𝟖 
 
Fome Sim Não Peso Entropia 
Sim 3 2 5/6 𝟎. 𝟗𝟕𝟎𝟗𝟓𝟎𝟓𝟗 
não 1 0 1/6 0 
 
Ganho de informação (Fome) = 𝟎. 𝟏𝟗𝟎𝟖𝟕𝟒𝟓𝟎 
 
 Transporte PUC Álcool Sair Fome Ação 
GI 𝟎. 
𝟓𝟒𝟎𝟖𝟓𝟐𝟎𝟖 
𝟎. 
𝟑𝟑𝟑𝟑𝟑𝟑𝟑𝟑 
𝟎. 
𝟏𝟐𝟓𝟖𝟏𝟒𝟓𝟖 
𝟎. 
𝟓𝟒𝟎𝟖𝟓𝟐𝟎𝟖 
𝟎. 
𝟏𝟗𝟎𝟖𝟕𝟒𝟓𝟎 
- 
 
Como transporte e sair tem o mesmo ganho de informação, escolhemos o primeiro. A 
árvore fica dessa forma até o momento: 
---------------------------------------------------------------------------------------------------------- 
𝑺𝒐𝒏𝒐 === 𝒔𝒊𝒎 ===> 𝒏ã𝒐 
𝑺𝒐𝒏𝒐 === 𝒏ã𝒐 ===> 𝒔𝒊𝒎 
𝑺𝒐𝒏𝒐 === 𝒑𝒐𝒖𝒄𝒐 ===> 𝒕𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 
---------------------------------------------------------------------------------------------------------- 
 
 
---------------------------------------------------------------------------------------------------------- 
𝑻𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 ======= 𝒄𝒂𝒓𝒓𝒐 ========> 𝒔𝒊𝒎 
𝑻𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 ======= 𝒐𝒖𝒕𝒓𝒐𝒔 ========> 𝒏ã𝒐 
𝑻𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 ======= 𝒄𝒂𝒓𝒐𝒏𝒂 ========> ? 
---------------------------------------------------------------------------------------------------------- 
Uma nova rodada será feia, considerando a base de dados com a variação carona de 
transporte: 
 
Sono Transporte PUC Álcool Sair Fome Ação 
Pouco Carona Não Não Sim Sim Sim! 
Pouco Carona Não Não Sim Não Sim! 
Pouco Carona Não Não Não Sim Não 
 
Entropia (Ação) = 𝟎. 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑 
Cálculo do ganho de informação de cada uma das outras colunas: 
 
Puc Sim Não Peso Entropia 
Sim 0 0 0 0 
não 2 1 3/3 𝟎. 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑 
 
Ganho de informação (PUC) = 𝟎. 𝟎𝟖𝟏𝟕𝟎𝟒𝟏𝟕 
 
Alcool Sim Não Peso Entropia 
Sim 0 0 0 0 
não 2 1 3/3 𝟎. 𝟗𝟏𝟖𝟐𝟗𝟓𝟖𝟑 
 
Ganho de informação (Álcool) = 𝟎. 𝟎𝟖𝟏𝟕𝟎𝟒𝟏𝟕 
 
Sair Sim Não Peso Entropia 
Sim 2 0 2/3 0 
não 0 1 1/3 0 
 
Ganho de informação (Sair) = 𝟏 
 
Fome Sim Não Peso Entropia 
Sim 1 1 2/3 1 
não 1 0 1/3 0 
 
Ganho de informação (Fome) = 𝟎. 𝟑𝟑𝟑𝟑𝟑𝟑𝟑𝟑 
 
 PUC Álcool Sair Fome Ação 
GI 𝟎. 𝟎𝟖𝟏𝟕𝟎𝟒𝟏𝟕 𝟎. 𝟎𝟖𝟏𝟕𝟎𝟒𝟏𝟕 1 𝟎. 
𝟑𝟑𝟑𝟑𝟑𝟑𝟑𝟑 
- 
 
 
O maior ganho de informação está na coluna sair, pois a entropia das duas variantes é 
0, e os nós dessas variantes são as folhas da árvore, então a árvore fica desse modelo: 
---------------------------------------------------------------------------------------------------------- 
𝑺𝒐𝒏𝒐 === 𝒔𝒊𝒎 ===> 𝒏ã𝒐 
𝑺𝒐𝒏𝒐 === 𝒏ã𝒐 ===> 𝒔𝒊𝒎 
𝑺𝒐𝒏𝒐 === 𝒑𝒐𝒖𝒄𝒐 ===> 𝒕𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 
---------------------------------------------------------------------------------------------------------- 
𝑻𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 ======= 𝒄𝒂𝒓𝒓𝒐 ========> 𝒔𝒊𝒎 
𝑻𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 ======= 𝒐𝒖𝒕𝒓𝒐𝒔 ========> 𝒏ã𝒐 
𝑻𝒓𝒂𝒏𝒔𝒑𝒐𝒓𝒕𝒆 ======= 𝒄𝒂𝒓𝒐𝒏𝒂 ========> 𝒔𝒂𝒊𝒓 
---------------------------------------------------------------------------------------------------------- 
𝑺𝒂𝒊𝒓 ======= 𝒔𝒊𝒎 ========> 𝒔𝒊𝒎 
𝑺𝒂𝒊𝒓 ======= 𝒏ã𝒐 =======> 𝒏ã𝒐 
----------------------------------------------------------------------------------------------------------

Continue navegando