«agentes – aprendizagem» - departamento de …asilva/page1/page3/assets/agentes e...figura 22 -...

63
«Agentes – Aprendizagem» Trabalho Teórico AISC – Agentes Inteligentes e Sistemas Cooperativos 5º Ano – 1º Semestre – 2006/2007 1000313 António Santos 1020113 Helder Ferreira Departamento de Engenharia Informática

Upload: trantruc

Post on 07-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

«Agentes – Aprendizagem»

Trabalho TeóricoAISC – Agentes Inteligentes e Sistemas Cooperativos

5º Ano – 1º Semestre – 2006/2007

1000313 António Santos 1020113 Helder Ferreira

Departamento de Engenharia Informática

Page 2: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

ResumoO trabalho teórico apresentado neste relatório surge no decorrer da

disciplina de Agentes Intelegentes e Sistemas Cooperativos, ministrada no

primeiro semestre do quinto ano do Curso de Engenharia Informática, no

Instituto Superior de Engenharia do Porto no ano lectivo de 2006 / 2007.

O tema do trabalho é Agentes – Aprendizagens. Para a inteligência artificial a

aprendizagem é uma característica fundamental de um agente tal como o

raciocínio e as capacidades sociais.

A aprendizagem é a capacidade do agente mudar o seu comportamento com

base na experiência passada, existem outras definições umas mais

específicas das áreas em questão outras muito genéricas, no entanto, na

essência todas parecem concordar de alguma forma que aprendizagem está

relacionada com:

• Aquisição de conhecimento (diferente de aquisição de informação)

• Definição de Inteligência (alguma coisa que não aprende é

inteligente?)

• Adaptabilidade ao meio (possível objectivo da aprendizagem)

De qualquer forma a definição de aprendizagem não é consensual. Temos

alguns conhecimentos de como é que os seres vivos conseguem aprender,

no entanto não conseguimos criar programas que simulem completamente o

ser vivo em todos os seus aspectos. Sendo alguns desses aspectos a

inteligência e a capacidade de aprender. De qualquer forma esta área têm

sido alvo de imensa investigação e discussão.

Actualmente a criação de programas inteligentes tem tido por base

essencialmente 3 paradigmas centrais:

• Paradigma da Aprendizagem Simbólica

ii

Page 3: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

• Paradigma Conexionista

• Paradigma Biológico

O primeiro refere-se à utilização de lógica e algoritmos e capacidade de

processamento de computadores actuais com o objectivo de recriar a

aprendizagem. O segundo baseia-se no funcionamento interno do cérebro

(redes neuronais) um “equipamento” bem sucedido na tarefa de

aprendizagem. Finalmente o terceiro tenta aplicar os conceitos de evolução

biológica e sobrevivência dos mais bem adaptados às questões relacionadas

com aprendizagem.

iii

Page 4: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Índice1 INTRODUÇÃO..................................................................................................................................11

1.1 TRABALHO PRETENDIDO..................................................................................................................... 11

1.2 ORGANIZAÇÃO DO RELATÓRIO ............................................................................................................11

2 ARQUITECTURA DE UM AGENTE (APRENDIZ).................................................................... 13

3 PARADIGMA DE APRENDIZAGEM SIMBÓLICA................................................................... 16

3.1 BASEADA EM EXEMPLOS.....................................................................................................................16

3.1.1 Algoritmo de Eliminação de Candidatos............................................................................. 17

3.1.2 Algoritmo ID3...................................................................................................................... 18

3.1.3 Algoritmo de cobertura (AQ)............................................................................................... 19

3.2 OBSERVAÇÃO E DESCOBERTA............................................................................................................. 20

3.2.1 Agrupamento Conceptual.....................................................................................................20

3.2.2 Descoberta Empírica........................................................................................................... 22

3.3 ANALÍTICA.......................................................................................................................................23

3.4 BASEADA EM CASOS.......................................................................................................................... 24

3.5 APRENDIZAGEM INDUTIVA..................................................................................................................24

3.5.1 Indução por arvores de decisão...........................................................................................26

3.6 APRENDIZAGEM BAYESIANA................................................................................................................33

3.6.1 Fórmulas Básicas para Probabilidade................................................................................ 36

3.6.2 Classificador Bayesiano ingênuo.........................................................................................36

3.7 APRENDIZAGEM POR REFORÇO............................................................................................................37

4 PARADIGMA DE APRENDIZAGEM CONEXIONISTA........................................................... 40

4.1 REDES NEURONAIS........................................................................................................................... 40

4.1.1 Neurónios Artificiais............................................................................................................ 42

4.1.2 Topologias de Redes Neuronais...........................................................................................44

4.1.3 Aprendizagem da rede neuronal.......................................................................................... 47

5 PARADIGMA DE APRENDIZAGEM BIOLÓGICA...................................................................49

5.1 ALGORITMOS GENÉTICOS...................................................................................................................49

5.1.1 Selecção e Recombinação de indivíduos..............................................................................51

5.1.2 Problemas dos Algoritmos genéticos................................................................................... 54

5.1.3 Outros tipos de Algoritmos genéricos..................................................................................55

5.2 SISTEMAS CLASSIFICADORES...............................................................................................................56

6 CONCLUSÕES.................................................................................................................................. 60

6.1 TRABALHO REALIZADO.......................................................................................................................60

6.2 TRABALHO FUTURO .......................................................................................................................... 60

iv

Page 5: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

6.3 APRECIAÇÃO FINAL........................................................................................................................... 60

BIBLIOGRAFIA....................................................................................................................................... 61

ÍNDICE REMISSO.................................................................................................................................... 62

v

Page 6: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Índice de FigurasFIGURA 1 – ARQUITECTURA INTERNA DE UM AGENTE APRENDIZ.................................14

FIGURA 2 – MÓDULO DE APRENDIZAGEM................................................................................15

FIGURA 3 – B) E C) SÃO FUNÇÕES POSSÍVEIS PARA REPRESENTAR A)...........................25

FIGURA 4 – UMA ÁRVORE DE DECISÃO PARA DEFINIR SE VAMOS OU NÃO ESPERAR

POR UMA MESA.................................................................................................................................. 27

FIGURA 5 – EXEMPLOS PARA O DOMÍNIO DO RESTAURANTE.......................................... 28

FIGURA 6 – ESCOLHA DO ATRIBUTO TIPO............................................................................... 29

FIGURA 7 – ESCOLHA DO ATRIBUTO CLIENTE....................................................................... 29

FIGURA 8 – A ÁRVORE DE DECISÃO INDUZIDA A PARTIR DO CONJUNTO DE TREINO

DE 12 EXEMPLOS................................................................................................................................31

FIGURA 9 – TEOREMA DE BAYES................................................................................................. 33

FIGURA 10 – A INTERACÇÃO AGENTE-AMBIENTE EM APRENDIZAGEM POR

REFORÇO..............................................................................................................................................37

FIGURA 11 – ARVORE QUE MOSTRA QUE APENAS CHEGADO AO FIM DO JOGO O

REFORÇO É OBTIDO (VITÓRIA, DERROTA OU EMPATE).....................................................39

FIGURA 12 – PROBABILIDADE ASSOCIADA À SITUAÇÃO DO TABULEIRO.....................40

FIGURA 13 – NEURÓNIO BIOLÓGICO.......................................................................................... 41

FIGURA 14 – POSSÍVEL REPRESENTAÇÃO GENÉRICA DE NEURÓNIOS ARTIFICIAS. 42

FIGURA 15 – FUNÇÃO ACTIVAÇÃO.............................................................................................. 43

FIGURA 16 – GRÁFICO DA FUNÇÃO SIGMOIDE....................................................................... 44

FIGURA 17 – REDE MONOCAMADA À ESQUERDA. REDE HOPFIELD À DIREITA..........45

FIGURA 18 - CAMADA DE ENTRADA, CAMADA ESCONDIDA E CAMADA DE SAÍDA....46

FIGURA 19 – “CROSSOVER” DE UM PONTO...............................................................................52

FIGURA 20 – “CROSSOVER” EM DOIS PONTOS........................................................................ 53

vi

Page 7: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

FIGURA 21 – CUT AND SPLICE....................................................................................................... 53

FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR...............57

vii

Page 8: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Índice de AlgoritmosALGORITMO 1 – ELIMINAÇÃO DE CANDIDATOS....................................................................18

ALGORITMO 2 – ALGORITMO ID3................................................................................................19

ALGORITMO 3 – ALGORITMO DE COBERTURA (AQ)............................................................ 19

ALGORITMO 4 - CLUSTER/2............................................................................................................21

ALGORITMO 5 – PARA TORNAR OS CONJUNTOS DISJUNTOS............................................ 22

ALGORITMO 6 – ALGORITMO PARA REFINAR........................................................................24

ALGORITMO 7 – ALGORITMO PARA UMA APRENDIZAGEM BASEADA EM CASOS.... 24

ALGORITMO 8 – APRENDIZAGEM DE ÁRVORE DE DECISÃO.............................................31

ALGORITMO 9 – ALGORITMO GENÉTICO GENÉRICO..........................................................51

viii

Page 9: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Notação e Glossário

Aprendizagem A aprendizagem é a capacidade do agente mudar o seu

comportamento com base na experiência passada.

Heurísticas São regras de senso comum que são obtidas após um

olhar atento sobre um dado problema ou tipo de

problemas. Geralmente levam à obtenção de boas

soluções, embora não garantam nem que se obtenha a

melhor solução, nem que se obtenha uma boa solução

nem sequer que se encontre uma solução. Ajudam a

reduzir a necessidade de pesquisa e são particularmente

úteis na resolução de problemas sujeitos à explosão.Inteligência Artificial

(1) A Inteligência Artificial é o ramo da ciência dos

computadores que tem a ver com a automação de

comportamentos inteligentes [Luger-93].

(2) A Inteligência Artificial é o estudo da computação que

torna possível sentir, raciocinar e agir [Winston-92].

(1), (2) duas definições de entre as várias existentes.

Lógica Parte da filosofia que ensina as leis do raciocínio.

ix

Page 10: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Formatos

Corpo do texto Arial, 12 pt.

Estrangeirismo Times New Roman, 12 pt, Itálico.

Algoritmos Courier New, 10 pt.

Legendas (figuras, exemplos, tabelas)

Times New Roman, 12 pt, Itálico.

Palavras ou frases a destacar

São escritas com ênfase como por exemplo em

MAIÚSCULAS, Negrito, Sublinhado, Itálico.

x

Page 11: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

1 IntroduçãoPretende-se com este capítulo introdutório dar a conhecer o conteúdo do

trabalho.

1.1 Trabalho pretendido

De modo muito resumido, pode-se descrever que era pretendido abordar

métodos que podem ser aplicados aos agentes para que este tenham ou

imitem a capacidade humana de aprender.

1.2 Organização do relatório

Capítulo 1 – Introdução: neste capítulo é dado ao leitor a informação básica

necessária de forma a facilitar o enquadramento dos objectivos e dos

resultados.

Capítulo 2 – Arquitectura de um Agente (Aprendiz): neste capítulo primeiramente

é dada a definição de agente para enseguida mostrar a arquitectura interna

de um agente aprendiz.

Capítulo 3 – Paradigma de Aprendizagem Simbólica: neste capítulo é

apresentado o Paradigna de Aprendizagem Simbólica: baseada em exemplos, por

observação e descoberta e por descoberta empírica. Para uma abordagem

baseada em exemplos são dados a conhecer os algoritmos Eliminação de

Candidatos, ID3 e o algoritmo de cobertura (AQ).

Capítulo 4 – Paradigma de Aprendizagem Conexionista: neste capítulo são

apresentadadas as redes neuronais e conceitos associados.

AISC – 5º Ano – 1º Semestre – 2006/2007 11 / 63

Page 12: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Capítulo 5 – Paradigma de Aprendizagem Biológica: neste capítulo são

apresentadadas os algoritmos genéticos e os sistemas classificadores.

Capítulo 6 – Conclusões: neste capítulo é apresentado de forma resumida o

trabalho feito, possíveis trabalhos futuros e tiradas as conclusões finais.

AISC – 5º Ano – 1º Semestre – 2006/2007 12 / 63

Page 13: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

2 Arquitectura de um Agente (aprendiz)Antes de se considerar o que é um agente aprendiz convém definir o que é

um Agente?

Mais uma vez, existem diversas definições, usaremos a fornecida na sebenta

da disciplina de Agentes Inteligentes e Sistemas Cooperativos, ou seja um

agente é um programa que apresenta as seguintes características:

• Capacidade sensorial: Dispõe de sensores para captar informação

do meio ambiente onde se encontra.

• Reactividade: Sente, age e responde às mudanças do meio ambiente.

• Autonomia: Decide e controla as suas próprias acções.

• Pró Actividade: Orienta-se por objectivos e não age apenas por

reacção ao ambiente.

• Persistência: Existe ao longo do tempo.

• Capacidade social: Comunica, coopera, concorre, compete,

argumenta e negoceia com outros agentes (ou pessoas).

• Aprendizagem: Muda o seu comportamento com base na experiência

anterior.

• Mobilidade: Capacidade de movimentar-se de uma maquina para a

outra.

• Carácter: Personalidade credível e comportamento emocional.

• Inteligência: Capacidade de raciocínio autónomo, planeio o que faz,

corrige erros e reage a situações inesperadas, adapta-se e aprende,

argumenta, negoceia e gere conflitos.

AISC – 5º Ano – 1º Semestre – 2006/2007 13 / 63

Page 14: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

O seguinte diagrama de módulos mostra a arquitectura interna de um agente

aprendiz.

Figura 1 – arquitectura interna de um agente aprendiz

O que distingue este agente dos restantes é o módulo de aprendizagem. Este

módulo é constituído por:

AISC – 5º Ano – 1º Semestre – 2006/2007 14 / 63

Percepção Acção

Decisão

Aprendizagem

Ambiente

Agente

Page 15: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 2 – módulo de aprendizagem

De forma resumida, a cada percepção proveniente do meio ambiente o

agente processa-a no módulo Decisor. Por sua vez este vai comparar as

percepções com experiências passadas no módulo Critico e passa a

informação ao módulo Modificador. Se esta comparação resultar em que o

agente deve modificar o seu comportamento de forma a atingir algum

objectivo é tomada uma decisão de modificação do comportamento e

passada novamente ao módulo Decisor.

Finalmente o algoritmo do módulo de aprendizagem do agente pode ser

classificado segundo 5 aspectos distintos:

• Entrada: Características dos dados de entrada do algoritmo, por

exemplo: pares atributo/valor, expressões relacionais.

AISC – 5º Ano – 1º Semestre – 2006/2007 15 / 63

Crítico Modificador

Comparador

Decisor Decisor

Modulo de aprendizagem

Page 16: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

• Saída: Os dados de saída do algoritmo (resultado da aprendizagem)

pode ser do tipo: arvores de decisão, expressões lógicas, vectores de

números, regras do tipo Se (condição) Então (acção).

• Tipo de aprendizagem: usam técnicas indutivas, técnicas dedutivas,

técnicas híbridas (baseadas em casos).

• Ambiente de aprendizagem: Supervisionada (os exemplos de treino

são classificados) ou não e se é incremental (os exemplos aparecem

sequencialmente ao longo do tempo) ou não.

• Tarefas: Classificação (procura-se aprender classificando instancias

concretas do problema) ou Resolução de problemas (procura resolver

um problema em vários passos de uma forma eficiente).

3 Paradigma de Aprendizagem Simbólica

3.1 Baseada em exemplos

O raciocínio baseado em exemplos procura promover a aprendizagem

através do fornecimento de exemplos de treino. Trata-se portanto de uma

técnica de treino supervisionada.

Através do fornecimento de exemplos específicos, procura-se chegar a

conceitos mais genéricos ou globais.

Os dois algoritmos mais importantes, associados a este tipo de

aprendizagem é o de Eliminação de Candidatos e o ID3. Segue-se um resumo

de cada um destes e finaliza-se o capítulo com um algoritmo de cobertura (AQ)

que usa essencialmente os dois algoritmos anteriores.

AISC – 5º Ano – 1º Semestre – 2006/2007 16 / 63

Page 17: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

3.1.1 Algoritmo de Eliminação de Candidatos

Este algoritmo pressupõe a definição de um Espaço de Versões que é

essencialmente uma definição comum a todas as hipóteses definidoras de

um conceito que se pretende aprender.

É considerada a existência de dois tipos de hipóteses:

• G (Gerais): Conjunto de hipóteses mais gerais consistentes com os

exemplos. Inicialmente é representado com “?” ou seja pode tomar

qualquer valor

• E (Especificas): Conjunto de hipóteses mais específicas consistentes

com os exemplos. Inicialmente é representado com “-“ ou seja não

toma nenhum valor

As hipóteses definidoras de um conceito (positivas) são aplicadas ao

conjunto de hipóteses mais gerais de forma a torna-las mais específicas. Por

outro lado usam-se as hipóteses não definidoras do conceito (negativas) para

tornar o conjunto de hipóteses específicas mais geral. De seguida é

apresentado o algoritmo.

1.0 E = { < - , - , ... , -, - >}2.0 G = { < ? , ? , ... , ?, ? >}3.0 Para cada exemplo positivo x+

3.1 Retirar de G os membros inconsistentes com x+3.2 Generalizar os membros de E até ficarem consistentes com x+ mas guarda-los apenas se forem mais específicos que G3.3 Retirar de E os membros que não sejam os maximamente específicos

4.0 Para cada exemplo negativo de x-4.1 Retirar de E os membros inconsistentes com x-4.2 Especializar os membros de G até ficarem consistentes com x-, mas guarda-los apenas se forem mais gerais que E4.3 Retirar de G os membros que não sejam minimamente

específicos5.0 Se há mais exemplos voltar a 3.0, senão termina.

AISC – 5º Ano – 1º Semestre – 2006/2007 17 / 63

Page 18: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Algoritmo 1 – eliminação de candidatos

Uma das grandes desvantagens do algoritmo de eliminação de candidatos é

que não consegue aprender conceitos se estes forem apresentados na forma

disjuntiva.

3.1.2 Algoritmo ID3

O algoritmo ID3 tem por base uma árvore de decisão. A vantagem deste

algoritmo relativamente aos demais é que incorpora um método que lhe

permite construir uma árvore de decisão “mínima”, através de uma escolha do

atributo mais discriminante para cada ramificação da arvore.

A forma como é feita a escolha do atributo mais discriminante baseia-se na

Regra da Escolha: Deve-se escolher como atributo de divisão aquele que

produz maior ganho informativo, ou seja considerando o nó com etiqueta A o

melhor atributo é aquele que minimiza E(A).

E(A)= ∑= +

+v

inipiI

nppnpi

1),(

Sendo:

E – Ganho em informação

P, N – Subconjuntos de todos os nós possíveis da arvore

A explicação detalhada deste algoritmo vai para além do âmbito deste

trabalho. Para mais informações consultar a bibliografia usada.

De seguida apresenta-se o algoritmo do ID3.

Dado:o Conjunto S de exemplos de treino (E+, E-)o Família de conjuntos de atributos e respectivos valores Ao Conceito alvo T

AISC – 5º Ano – 1º Semestre – 2006/2007 18 / 63

Page 19: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Determinar: o Uma arvore de decisão AD cujas folhas são formadas por

elementos da mesma classe. O conceito alvo T é dado pela disjunção da caracterização da classe positiva (E+)

Algoritmo:1.0 Se todos os elementos são da mesma classe então terminar

com AD formada por um nó etiquetado pela classe dos elementos de S

2.0 Senão:2.1 Escolher um atributo A={A1,...,Av}2.2 Dividir S em {S1, ..., Sv} subconjuntos disjuntos de

acordo com os diferentes valores de A2.3 Chamar recursivamente o algoritmo para cada um dos

subconjuntos S2.4 Construir uma AD tendo por raiz o atributo A e os ramos

etiquetados pelos valores Aj ligados as sub arvores associadas a Sj

Algoritmo 2 – algoritmo ID3

3.1.3 Algoritmo de cobertura (AQ)

Este algoritmo permite atacar os problemas de aprendizagem mais

complexos. Os algoritmos anteriores baseiam-se em dividir os exemplos

fornecidos em duas classes, uma positiva (definidora do conceito) e outra

negativa (definidora do que o conceito não é), no entanto podemos necessitar

de uma maior subdivisão do que apenas duas classes... Este algoritmo

permite-nos isto, a sua descrição é a seguinte:

1.0 Dividir os exemplos pelas classes2.0 Para cada classe

2.1 Considerar os seus exemplos como positivos e todos os restantes como negativos2.2 Aplicar o algoritmo de Eliminação de Candidatos às duas classes assim criadas

Algoritmo 3 – Algoritmo de cobertura (AQ)

AISC – 5º Ano – 1º Semestre – 2006/2007 19 / 63

Page 20: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

3.2 Observação e Descoberta

Até aqui analisamos técnicas de aprendizagem que usam exemplos

supervisionados e classificados por alguém. No entanto existem técnicas que

permitem ao agente descobrir por si os exemplos através de algoritmos de

observação e descoberta. Vamos descrever sucintamente dois dos

encontrados na bibliografia, Agrupamento Conceptual e a Descoberta Empírica

3.2.1 Agrupamento Conceptual

Existem dois métodos dentro do agrupamento conceptual o método das

partições e o hierárquico

• Método Partições

Efectua-se uma partição inicial e altera-se a partição de acordo com os

critérios de optimização. Procede-se à repetição desta alteração até

ser atingido o critério de paragem.

• Método Hierárquico

Existem dois métodos dentro deste que podem ser usados por si ou em

simultâneo (misto).

o Método hierárquico aglomerativo que consiste em apenas ir

fundindo os elementos em grupos que contenham o máximo de

semelhanças, até restar apenas um elemento (de facto grupo).

o Método hierárquico divisivo que consiste em começar com um

grupo que contém todos os exemplos e ir dividindo em subgrupos de

acordo com um critério discriminante. O critério de paragem é os

grupos ficarem coerentes.

AISC – 5º Ano – 1º Semestre – 2006/2007 20 / 63

Page 21: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Além de um método de agrupamento necessitamos de um meio para avaliar

os grupos resultantes dos algoritmos. Isto é conseguido recorrendo a

definições matemáticas de métricas. Apenas para mencionar algumas:

• Simetria – d(x,y) = d(y,x)

• Positividade – d(x,y) ≥ 0

• Descriminação – d(x,y) ≠ 0 se x ≠ y

• Vizinho mais próximo – dkl = min i , min j d(Xi,Xj)

• Centroides – dkl= || Xk – Xl ||2

• Etc...

Tendo isto por base, existem algoritmos que podem ser aplicados, é o caso

do Cluster/2

Sendo CI o conjunto de instancias e K o numero de agrupamentos a formar

1.0 Escolher K instâncias (sementes)2.0 Para cada semente:

2.1 Generalizar ao máximo (estrelas) apenas limitado pelas outras sementes

2.2 Tornar os grupos disjuntos2.3 Se satisfeito com a divisão então:

2.3.1 Devolve partição2.4 Senão escolhe novas sementes para cada grupo formado2.5 Volta a 2.0

Algoritmo 4 - Cluster/2

Para tornar os conjuntos disjuntos aplica-se este algoritmo:

Sendo A e B dois grupos e C1,...,Ck os elementos comuns.

AISC – 5º Ano – 1º Semestre – 2006/2007 21 / 63

Page 22: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

1.0 Retirar os ci de A e B e coloca-los numa lista de excepções (le)2.0 Repetir:

2.1 Retirar elemento de le2.2 Coloca-lo alternadamente em A e em B2.3 Obter para cada caso as caracterizações maximamente expecíficas.2.4 Optar por uma delas 2.5 Voltar a 2.1 até le ser vazio.

Algoritmo 5 – para tornar os conjuntos disjuntos

Para uma descrição mais detalhada destes métodos consultar a bibliografia.

3.2.2 Descoberta Empírica

A ideia subjacente a este tipo de método de aprendizagem é, temos os dados e

pretendemos chegar às leis (ou teorias ou regras). Podemos considerar a

existência de dois tipos de leis, qualitativas e as quantitativas.

Um algoritmo de descoberta de leis quantitativas encontrado na bibliografia

foi o Bacon 6.0. De forma resumida este sistema funciona em 2 fases:

• Numa primeira fase é feita a colecta de dados onde se procura todas

as variáveis independentes e dependentes. De seguida calcula-se

todos os valores das variáveis dependentes para as diversas

combinações de variáveis independentes.

• Numa segunda fase o algoritmo tenta correlacionar os dados obtidos

de uma forma heurística, com o objectivo de encontrar leis que

justifiquem os resultados obtidos. Por exemplo chegar a uma

expressão matemática que defina a forma como as variáveis

independentes se relacionam com as dependentes.

AISC – 5º Ano – 1º Semestre – 2006/2007 22 / 63

Page 23: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

3.3 Analítica

A aprendizagem analítica fundamenta-se na técnica de Generalização Baseada

em Explicações. Essencialmente consiste em usar regras conhecidas para

explicar os conceitos e a geração de novas regras baseadas nas regras

existentes para explicar os conceitos que não conhece.

Existem 3 fases nesta técnica:

• Explicar: Trata-se de através da análise das regras conhecidas

explicar que um determinado objecto (instancia) é parte de um

conceito alvo.

• Analise: Pretende-se generalizar o objecto em causa, ou seja tendo

em conta as regras e a instancia, verificar se algum valor da instância

em causa pode ser variável (genérico).

• Refinar: Construir uma nova regra que contemple o objecto, caso este

apresente alguma particularidade não coberta pelas regras já

existentes.É usado o seguinte algoritmo.

Dados:Instancia positiva, conceito alvo.Teoria sobre o domínio.

Determinar:Hipótese compatível com o conceito a partir dos exemplos

1.0 Hipóteses = {}2.0 Para cada exemplo de treino não coberto pelas hipóteses:

2.1 Explicar (provar) como o exemplo de treino satisfaz o conceito alvo usando a teoria sobre o domínio

2.2 Analisar a explicação generalizando o máximo de forma compatível com a explicação

2.3 Refinar as hipóteses acrescentando uma nova regra cujos antecedentes são as condições determinadas e cujo consequente afirma o conceito alvo

AISC – 5º Ano – 1º Semestre – 2006/2007 23 / 63

Page 24: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Algoritmo 6 – algoritmo para refinar

3.4 Baseada em casos

A aprendizagem baseada em casos consiste numa forma de resolver problemas

recorrendo a casos conhecidos. A arquitectura deste sistema tem 4 fases:

• Recolha

• Reutilização

• Revisão

• Retenção

Estas fases são detalhadas no seguinte algoritmo:

Dados:Conjunto de casos conhecidos CConhecimento geral K (opcional), e um problema não resolvido P

Determinar:Uma solução S, para P usando K e elementos adaptados de C, CiTransforma S+P num novo caso de C

1.0 Recolher casos relevantes para P2.0 Repetir até estar satisfeito um critério de paragem

2.1 Reutilizar casos recolhidos Ci produzindo S’2.2 Rever S’ originando S

3.0 Reter S+P como novo caso de C

Algoritmo 7 – algoritmo para uma aprendizagem baseada em casos

3.5 Aprendizagem Indutiva

Na aprendizagem indutiva são dadas entradas específicas e o resultado

correcto da função desconhecida e deve-se tentar encontrar a tal função ou

uma aproximação. De forma mais formal, diz-se que um exemplo é um par (x,

AISC – 5º Ano – 1º Semestre – 2006/2007 24 / 63

Page 25: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

f(x)), onde x é a entrada e f(x) é a saída da função aplicada a x. A tarefa da

inferência indutiva pura (ou indução) é:

Dada uma colecção de exemplos de f, retornar uma função h que se

aproxime de f.

A função h é chamada hipótese. A razão pela qual a aprendizagem é difícil

de um ponto de vista conceptual, é que não é fácil saber se uma hipótese h

específica é uma boa aproximação de f. Uma boa hipótese irá generalizar

bem – isto é, irá prever correctamente exemplos ainda não vistos. Este é o

problema fundamental da indução.

Exemplo:

A figura a) representa os exemplos, a função f é desconhecida. As figuras b)

e c) representam possíveis funções h. Não há razão que nos faça preferir b

ou c.

Figura 3 – b) e c) são funções possíveis para representar a)

AISC – 5º Ano – 1º Semestre – 2006/2007 25 / 63

Page 26: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

3.5.1 Indução por arvores de decisão

A indução por árvores de decisão é uma das formas mais simples e também

uma com maior sucesso. Uma árvore de decisão recebe como entrada um

objecto ou situação descritos por atributos e devolve uma decisão.

Exemplo:

O objectivo é inferir uma “regra” que permita dizer se devemos ou não

esperar por uma mesa num restaurante, o objectivo é aprender uma definição

para o predicado de objectivo VaiEsperar,

Começa-se por definir os atributos que descreverem os exemplos:

1. Alternativa: existe um restaurante alternativo próximo?

2. Bar: existe uma área de bar confortável para esperar?

3. Sexta/Sábado: hoje é Sexta ou Sábado?

4. Fome: temos fome?

5. Clientes: número de pessoas no restaurante (Nenhum, Algum, Cheio)

6. Preço: gama de preços (€, €€, €€€)

7. Chuva: está a chover lá fora?

8. Reserva: fizemos uma reserva?

9. Tipo de restaurante: Francês, Italiano, Tailandês, Burger, …

10. Estimativa do tempo de espera: 0-10, 10-30, 30-60, >60

AISC – 5º Ano – 1º Semestre – 2006/2007 26 / 63

Page 27: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 4 – Uma árvore de decisão para definir se vamos ou não esperar por uma

mesa

3.5.1.1 Como induzir as árvores de decisão a partir de exemplos

AtributosConclusão

Exemplo Alt Bar Se/Sa Fo Cli Pre Chu Res Tipo Tes VaiEsperarX1 Sim Não Não Sim Alguns €€€ Não Sim Francês 0-10 SimX2 Sim Não Não Sim Cheio € Não Não Tailandês 30-60 NãoX3 Não Sim Não Não Alguns € Não Não Hamburger 0-10 SimX4 Sim Não Sim Sim Cheio € Sim Não Tailandês 10-30 SimX5 Sim Não Sim Não Cheio €€€ Não Sim Francês >60 NãoX6 Não Sim Não Sim Alguns €€ Sim Sim Italiano 0-10 SimX7 Não Sim Não Não Nenhum € Sim Não Hamburger 0-10 NãoX8 Não Não Não Sim Alguns €€ Sim Sim Tailandês 0-10 SimX9 Não Sim Sim Não Cheio € Sim Não Hamburger >60 NãoX10 Sim Sim Sim Sim Cheio €€€ Não Sim Italiano 10-30 NãoX11 Não Não Não Não Nenhum € Não Não Tailandês 0-10 Não

AISC – 5º Ano – 1º Semestre – 2006/2007 27 / 63

Page 28: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

X12 Sim Sim Sim Sim Cheio € Não Não Hamburger 30-60 Sim

Figura 5 – Exemplos para o domínio do restaurante

Uma solução simples é construir uma árvore que a cada exemplo faça

corresponder um caminho que leve à folha, onde o caminho testa cada

atributo. Quando for dado o mesmo exemplo a árvore chega à classificação

certa. Mas, e para os outros casos?

Como a árvore apenas memoriza as observações, não extrai qualquer

padrão, não se pode esperar que ela seja capaz de extrapolar para exemplos

não vistos antes.

A solução é tentar encontrar-se a menor árvore de decisão que descreva um

grande número de exemplos de um modo conciso. Como encontrar a menor

árvore de decisão é um problema intratável, aplicam-se heurísticas simples

que ajudam a encontrar uma árvore pequena. A ideia por detrás do algoritmo

a aplicar consiste em “testar o atributo mais importante primeiro”, em que “mais

importante” significa aquele que fizer maior diferença para a classificação de

um exemplo.

Exemplo:

Com um conjunto de 12 exemplos de treino, classificados como positivos e

negativos, em que positivos são aqueles cujo valor do Objectivo VaiEsperar é

Sim e negativos aqueles cujo valor é Não escolhemos um atributo.

Se por exemplo se escolher o atributo Tipo ficamos com 4 resultados

possíveis, cada um deles com o mesmo número de exemplos positivos e

negativos o que leva a concluir que o atributo é fraco. Por outro lado a

escolha do atributo cliente faz com que fiquemos com 3 resultados possíveis,

em que se o resultado é Nenhum ou Alguns ficamos só com exemplos

positivos ou só exemplos negativos, o que permite responder definitivamente

não e sim respectivamente, cliente é portanto um atributo importante. Se o

valor é cheio, ficamos com um conjunto de exemplos positivos e negativos e

AISC – 5º Ano – 1º Semestre – 2006/2007 28 / 63

Page 29: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

voltamos a ter o problema inicial agora com menos exemplos e menos um

atributo.

1 3 4 6 8 122 5 7 9 10 11

Tipo

Francês Italiano Tailandês Hambúrger1 6 4 8 3 125 10 2 11 7 9

Figura 6 – Escolha do atributo tipo

1 3 4 6 8 122 5 7 9 10 11 Clientes

Nenhum Alguns Cheio 1 3 6 8 4 12 7 11 2 5 9 10

FamintoNão Sim

4 125 9 2 10

Figura 7 – Escolha do atributo cliente

Genericamente falando a ideia do algoritmo é: escolher o atributo “mais

importante” como raiz da árvore ou sub-árvore tendo em consideração 4

situações:

• Se existem exemplos positivos e negativos, escolher o melhor atributo

para os dividir. A Figura 3 (b) mostra o atributo fome a ser usado para

dividir os exemplos restantes.

• Se todos os exemplos são positivos ou todos são negativos podemos

parar. Na figura (b) Nenhum e Alguns são exemplos disso.

AISC – 5º Ano – 1º Semestre – 2006/2007 29 / 63

Page 30: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

• Se não restam exemplos, então tal situação nunca foi observada e

devolvemos um valor de defeito.

• Se não restam atributos e ainda temos exemplos positivos e negativos

então temos um problema. Isto significa que os exemplos têm

exactamente a mesma descrição, mas classificações diferentes. Esta

situação acontece quando alguns dados estão incorrectos ou quando

os atributos não fornecem informação suficiente para descrever a

situação completamente ou quando o domínio é verdadeiramente não

determinístico; dizemos que existe ruído nos dados (tipicamente

devolve-se valor em maioria).

AISC – 5º Ano – 1º Semestre – 2006/2007 30 / 63

Page 31: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Função DLT (exemplos,atributos,defeito) devolve árvore de decisão se exemplos vazio então devolve defeito senão se todos os exemplos têm a mesma classificação então devolve classificação senão se atributos está vazio então devolve Maioria(exemplos) senão melhor = EscolheAtributo(atributos, exemplos) árvore = nova árvore com melhor na raiz m = Maioria(exemplos) paracada valor vi de melhor exemplos = {elementos de exemplos com melhor=vi} sub-árvore = DTL(exemplos,atributos-melhor,m) adiciona um ramo à árvore com etiqueta vi e sub-árvore devolve verdadeiro

Algoritmo 8 – aprendizagem de árvore de decisão

Figura 8 – A árvore de decisão induzida a partir do conjunto de treino de 12

exemplos

AISC – 5º Ano – 1º Semestre – 2006/2007 31 / 63

SimNão

Italiano

Não

Alguns

Clientes?

SimNão Faminto?

Tipo?Não

Nenhum Cheio

NãoSim Sex/Sáb? Sim

Sim

Francês HambúrgerTailandês

SimNão

Page 32: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Após a aplicação do algoritmo a árvore resultante é claramente mais

compacta.

A árvore resultante funciona com todos os 12 exemplos e é

consideravelmente mais simples que a original. Os atributos chuva e Reserva

não foram incluídos pelo algoritmo aplicado, porque ele pode classificar os 12

exemplos sem esses atributos.

Se fossem adicionados novos exemplos a árvore resultante poderia ser mais

semelhante à original. A árvore resultante da aplicação do algoritmo irá

cometer um erro, pois ela nunca viu um exemplo onde a EsperaEstimada é 0-

10 min. e o restaurante esta Cheio. Isto levanta a questão “se o algoritmo

induz uma árvore consistente, embora incorrecta, a partir dos exemplos, até que

ponto a árvore está incorrecta?”. A resposta a esta questão poderia levantar

novas questões e como tal ultrapassa o ambito deste trabalho. Sugere-se a

consulta por exemplo da obra Inteligência Artificial de Stuart e Peter Norvig ou

outra obra.

3.5.1.2 Escolha de testes de atributos

A escolha de um atributo tem como objectivo minimizar a profundidade da

árvore final. Um atributo perfeito divide os exemplos em conjuntos que são

todos positivos ou todos negativos. O atributo cliente não é perfeito mas é

bastante bom. O atributo tipo é realmente inútil porque divide o conjunto de

exemplos com aproximadamente a mesma proporção de exemplos positivos

e negativos.

Torna-se portanto definir uma medida formal de “bastante bom” e “realmente

inútil”, a medida precisa de o valor máximo quando os atributos são perfeito e

o valor mínimo quando o atributo for absolutamente inútil. Uma medida

apropriada é a quantidade esperada de informações fornecidas pelo atributo,

que é calculada através de uma expressão matemática.

Para se entender a noção de informações, pode-se pensar como a resposta

a uma pergunta, a quantidade de informações contidas na resposta depende

do conhecimento anterior do indivíduo. Quanto menos se sabe, mais

AISC – 5º Ano – 1º Semestre – 2006/2007 32 / 63

Page 33: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

informações são fornecidas. A teoria da informação mede o conteúdo de

informação em bits.

Um bit de informação é suficiente para responder a uma pergunta do tipo

sim/não sobra a qual não se tem nenhuma ideia. Por exemplo se lançarmos

uma moeda imparcial qual a quantidade de informação necessária?

Em geral, se cada resposta possível vi têm probabilidade P(vi), então o

conteúdo de informação I da resposta real é dado por:

)(log)())(),...,(( 21

1 i

n

iin vPvPvPVPI ∑

=

−=

No caso do lançamento da moeda, temos:

bitI 121log

21

21log

21)

21,

21( 22 =−−=

3.6 Aprendizagem bayesiana

É um método de aprendizagem que se baseia na criação de um modelo

estatístico.Os modelos estatísticos variam desde o cálculo simples de médias

até a construção de modelos complexos, como redes bayesianas e redes

neuronais. O teorema de Bayes mostra como alterar a probabilidade a priori

tendo em conta novas evidências de forma a obter a probabilidade a posteriori.

Figura 9 – Teorema de Bayes

AISC – 5º Ano – 1º Semestre – 2006/2007 33 / 63

Page 34: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

P(Ai) são as probabilidades a priori (probabilidade inicial).

P(B | Ai) probabilidade de B sabendo que ocorreu Ai.

P(Ai | B) são as probabilidades a posteriori.

Com

Exemplo:

Supor que um médico pretende fazer um diagnóstico em que as alternativas

se excluem e são as seguintes:

• O doente tem um tipo especial de cancro

• O doente não tem cancro

O resultado dos testes de laboratório pode ser:

• – (negativo)

• + (positivo)

Conhecimento prévio (a priori):

• 0,8% da população tem este tipo de cancro

• O resultado dos testes acerta em 98% dos casos positivos e 97% dos

negativos

Resumindo os dados tem-se:

P(cancro) = 0.008 P(~cancro) = 0.992

P(+ | cancro) = 0.98

P(- | cancro) = 0.02

P(+ | ~cancro) = 0.03

P(- | ~cancro) = 0.97

Para um novo doente o teste é positivo. Qual deverá ser o diagnóstico?

AISC – 5º Ano – 1º Semestre – 2006/2007 34 / 63

Page 35: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

O teorema de Bayes responde a esta pergunta ou por outras palavras

permite determinar o diagnóstico mais provável.

O teorema de Bayes mostra como alterar as probabilidades a priori tendo em

conta novas evidências de forma a obter a probabilidade a posteriori.

0,992) (0,03 0,008) (0,98

0.008 0,98 ) | P(cancro∗+∗

∗=+

20851,00,03760,00784 ) | P(cancro ==+

85% 20, ) | P(cancro =+

Importante notar que pelo método de Bayes, nenhuma hipótese é aceite ou

rejeitada completamente; apenas se torna mais ou menos provável à medida

que novos dados são conhecidos.

As dificuldades do método de Bayes na aprendizagem de agentes torna-se

difícil porque:

• É necessário conhecer inicialmente muitas probabilidades

• Se elas não forem conhecidas, são estimadas

• No caso geral, determinar a hipótese óptima é linear no

número de hipóteses. Em certas situações, esse custo pode

ser reduzido.

AISC – 5º Ano – 1º Semestre – 2006/2007 35 / 63

Page 36: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

3.6.1 Fórmulas Básicas para Probabilidade

Regra do produto: probabilidade de conjunção de dois eventos A e B

Regra da soma: Probabilidade de disjunção de dois eventos A e B

Teorema da probabilidade total: se eventos A1, ..., Ai são mutuamente

exclusivos com , então

3.6.2 Classificador Bayesiano ingênuo

Provavelmente, o modelo de rede Bayesiana mais comum utilizado na

aprendizagem de máquina é o modelo de Bayes ingénuo. Neste tipo de

aprendizagem cada instancia X é descrita por uma conjunção de atributos. O

modelo é “ingénuo” porque supõe que os atributos são condicionalmente

independentes uns dos outros, dada a classe.

Funcionamento:

- é necessário fornecer um conjunto de treino da função alvo e apresentar

uma nova instancia descrita pela sequência de atributos X = (<a1, a2, …,

na>), o classificador deve então calcular o valor alvo, ou classificar esta nova

instancia X.

AISC – 5º Ano – 1º Semestre – 2006/2007 36 / 63

Page 37: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

3.7 Aprendizagem por Reforço

Grande parte do conhecimento que todos os seres vivos adquirem ao longo

das suas vidas provém da aprendizagem por reforço. Então o que é a

aprendizagem por reforço? É aprender interagindo com o ambiente.

No modelo da aprendizagem por reforço, o agente interage com o ambiente.

A interacção consiste na percepção do ambiente e na escolha de uma acção

para executar nesse ambiente. A acção altera o ambiente de alguma forma e

esta alteração é comunicada ao agente através de um sinal de reforço (ou

recompensa). Esta recompensa pode ser positiva ou negativa, e reflecte a

qualidade da acção para um estado. A recompensa pode ser imediata ou em

situações mais desafiadoras pode ser futura (caso dos jogos em que apenas

no final sabemos se é vitória, derrota ou empate).

Exemplo de recompensa positiva e negativa:

Ensinar um robot a desviar-se dos obstáculos, sempre que ele toca

num obstáculo recebe uma recompensa negativa, caso se desloque em

espaço aberto recebe uma recompensa positiva.

Figura 10 – A interacção agente-ambiente em aprendizagem por reforço

Um estado caracteriza a situação do ambiente e é especificado por um

conjunto de variáveis que o descrevem. Os sistemas de aprendizagem por

reforço aprendem a mapear situações em acções através de interacções com

AISC – 5º Ano – 1º Semestre – 2006/2007 37 / 63

Page 38: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

um ambiente dinâmico. A execução de uma acção num determinado estado

dá origem a um reforço recebido pelo agente, na forma de um valor

numérico. O agente aprende a executar acções que maximizam a soma dos

reforços recebidos, desde o estado inicial até ao estado final. A escolha de

uma função de reforço (ou recompensa) que transpareça, de uma forma

apropriada, os objectivos do agente é fundamental.

O problema central da aprendizagem por reforço é, portanto, a escolha de

acções. A política define o comportamento do agente, determinando que

acção deve ser executada em cada estado. Quase todos os algoritmos que

implementam este tipo de aprendizagem se baseiam em estimar funções de

valor – funções que determinam quão bom é um estado – função estado-valor

(ou utilidade) V(s) - ou quão bom é executar uma determinada acção num

estado - função acção-valor Q(s,a).

A aprendizagem por reforço é aplicada por exemplo a jogos, o sistema TD-

Gamon de Gerry Tesauro (1992) é um bom exemplo e mostra o potencial das

técnicas de aprendizagem por reforço. O sistema aprendeu a jogar melhor

que qualquer outro até à altura sendo o melhor jogador IA de Gamão e está

entre os 5 melhores jogadores humanos a nível mundial. No TD-Gamon a

recompensa apenas era dada no final da partida. A função de avaliação era

representada por uma rede neuronal completamente ligada com uma única

camada oculta contendo 40 nós.

A aprendizagem por reforço é também aplicada na robótica, por exemplo na

navegação autónoma de veículos. A navegação autónoma é a habilidade de

um veículo mover-se sem intervenção humana até alcançar o seu objectivo,

num ambiente para o qual não está disponível qualquer informação inicial. De

forma geral, para realizar esta tarefa existe uma função de mapeamento que

recebe como entrada os dados dos sensores e são produzidos comandos

que serão enviados aos actuadores do veículo.

Exemplo de aplicação da aprendizagem por reforço no jogo do galo:

AISC – 5º Ano – 1º Semestre – 2006/2007 38 / 63

Page 39: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 11 – Arvore que mostra que apenas chegado ao fim do jogo o reforço é obtido (vitória, derrota ou empate)

AISC – 5º Ano – 1º Semestre – 2006/2007 39 / 63

X XXO O

X

XO

X

O

XO

X

O

X

XO

X

O

X O

XO

X

O

X O

X

o

x

...

...... ...

... ... ... ... ...

x

x

x o

x

o

xo

x

xx

o

} 0 joga

} x joga

} 0 joga

} x joga

} x joga

Page 40: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 12 – Probabilidade associada à situação do tabuleiro

4 Paradigma de AprendizagemConexionista

4.1 Redes Neuronais

As redes neuronais tentam basear-se no conhecimento que temos sobre como

funcionam os neurónios existentes no cérebro humano.

AISC – 5º Ano – 1º Semestre – 2006/2007 40 / 63

.5 ?

.5 ?

1 vitória

0 derrota

0 empate

x

xxx

oo

oo

ox

x

oo

o ox

xx

xo

.. ..

.. ..

.. ..

Estado V(s) – Probabilidade estimada de ganhar

Page 41: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 13 – neurónio biológico

Replicando o funcionamento de um neurónio biológico talvez se consiga

replicar a aprendizagem que os seres biológicos são capazes.

As redes neuronais artificiais são usadas em diversas áreas da investigação de

inteligência artificial, e são bem sucedidas em reconhecimento de padrões,

controlo de processos e controlo de robôs.

AISC – 5º Ano – 1º Semestre – 2006/2007 41 / 63

Page 42: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

4.1.1 Neurónios Artificiais

As redes neuronais baseiam-se na utilização de neurónios artificiais. Estes

neurónios artificiais são software que de uma forma genérica poderiam ser

representados da seguinte forma:

Figura 14 – Possível representação genérica de neurónios artificias

As linhas de input representam linhas de entrada de dados, normalmente de

sensores ou outros neurónios artificiais. Associado a cada linha existe uma

variável que quantifica a “importância” dessa linha, ou seja, um peso.

O quadrado com o Σ no interior representa uma função de soma de inputs.

Nesta função, o somatório de todos os inputs individuais associados aos seus

pesos será comparado com um valor limiar a partir do qual o neurónio

activará o output.

AISC – 5º Ano – 1º Semestre – 2006/2007 42 / 63

Page 43: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Em função do tipo de output que pretendemos, temos que escolher uma

função de activação adequada. Se pretendemos apenas um output do tipo

binário poderemos usar uma função de activação tipo degrau.

Figura 15 – Função activação

Por outro lado, se necessitarmos de uma gama de valores de output a função

de activação terá que ser outra. Uma função de activação muito usada é a

função sigmoide, que apresenta a seguinte expressão matemática:

O gráfico da função sigmoide é apresentado de seguida. Notar que esta função

comporta uma gama de valores de output em função do valor que lhe é

passado pelos inputs.

AISC – 5º Ano – 1º Semestre – 2006/2007 43 / 63

Função activação

Output

Page 44: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 16 – gráfico da função sigmoide

Este output pode ser dirigido para outros neurónios ou para a saída da rede

neuronal.

O neurónio artificial é o elemento base de uma rede neuronal. Uma rede

neuronal contém uma quantidade de neurónios conectados de determinadas

formas – Topologia da Rede Neuronal e usa um algoritmo de aprendizagem

para aprender.

4.1.2 Topologias de Redes Neuronais

De seguida apresenta-se duas topologias simples de redes neuronais:

AISC – 5º Ano – 1º Semestre – 2006/2007 44 / 63

Page 45: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 17 – Rede Monocamada à esquerda. Rede Hopfield à direita.

No caso da rede neuronal em mono camada, existe apenas uma camada de

neurónios entre a entrada e a saída da rede. Neste caso a rede é do tipo

feedforward ou seja o output de um neurónio é o input do próximo neurónio.

No entanto o output do próximo nunca será input do anterior.

Por outro lado na Rede de Hopfield isto não acontece uma vez que o output de

um neurónio é o input do próximo que têm ligado ao seu output o anterior.

Neste caso diz-se que a rede é recorrente (em oposição à situação de

feedforward).

Há topologias em que a camada de entrada na rede não coincide com a

camada de saída. Estes casos denominam-se de redes multicamada. Nestas

topologias existe uma camada de entrada, uma camada de saída e camadas

escondidas (“Hidden layer”).

AISC – 5º Ano – 1º Semestre – 2006/2007 45 / 63

Page 46: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 18 - camada de entrada, camada escondida e camada de saída

Relativamente à forma como os neurónios se ligam, considera-se que duas

camadas estão completamente ligadas quando todos os neurónios se ligam

uns aos outros. Podemos ter no entanto situações em que os neurónios não

se encontram completamente ligados entre duas camadas.

Relativamente ao numero de neurónios nas camadas de saída e de entradas.

Os neurónios na camada de entrada representam as variáveis às quais a

rede será sensível, ou seja, considerando a ultima rede multicamada

apresentada, supondo que o exemplo anterior era aplicado a uma situação

de reconhecimento de cores. Os 3 neurónios na camada de entrada

poderiam ser sensíveis aos valores das componentes de azul, verde e

vermelho.

Supondo que se aplicava uma função de activação do tipo degrau, podíamos

treinar a rede neuronal para se activar apenas quando se detecta um

determinado tom, por exemplo, azul-escuro ou lilás.

Se pretendemos que a nossa rede neuronal controle por exemplo, um veiculo

actuando apenas num volante e um acelerador (esquecendo questões

relacionadas com segurança rodoviária é claro) provavelmente o mais

AISC – 5º Ano – 1º Semestre – 2006/2007 46 / 63

Page 47: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

adequado seria usarmos a função sigmoide como função de activação e 2

neurónios na camada de saída da rede, um para controlar a velocidade e

outro para o grau de viragem do volante.

4.1.3 Aprendizagem da rede neuronal

Até ao momento vimos de forma sucinta o funcionamento de uma rede

neuronal. No entanto a questão fulcral é: Como é que a rede neuronal

aprende?

A aprendizagem da rede é conseguida por intermédio do ajuste dos valores

dos pesos associados a cada input do neurónio (o valor do w na figura de

explicação do neurónio artificial).

A “decisão” do neurónio é função daquilo que ele recebe em todos os seus

inputs (dos neurónios vizinhos) e comparado com uma função de activação

(que define a forma de activação do neurónio).

No entanto cada input tem um peso (w) associado que de forma simplista,

representa a importância desse input para o neurónio.

Se depois de calcular a soma ponderada de todos os inputs, o neurónio

decidir que vai activar-se, ele vai modificar (incrementar) o peso de todos os

inputs que eram “a favor” da activação. Este incremento é função de um ritmo

de aprendizagem (η). Isto vai fazer com que em decisões futuras os inputs

que “acertam mais vezes” tenham maior peso na decisão de cada neurónio

individual.

Em caso de estarmos numa situação de treino da rede neuronal, o valor real e

correcto é conhecido e pode ser incorporado na forma como a rede aprende.

As seguintes expressões denotam o que foi explicado atrás.

Peso de um input:

I=W * Xi

Valor ponderado de todos os inputs:

AISC – 5º Ano – 1º Semestre – 2006/2007 47 / 63

Page 48: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

n

Σ (Wk * Xk)

k=0

Aprendizagem (Modificação dos pesos dos inputs):

∆Wk = η * Xi * X

Aprendizagem com exemplos de treino (aprendizagem supervisionada):

∆Wk = η * (Ri - Xi) * X

Sendo:

I - Valor resultante do input

W – Peso do input

Xi- Valor do input associado ao neurónio i

X- Valor do input calculado

Ri – Valor real

AISC – 5º Ano – 1º Semestre – 2006/2007 48 / 63

Page 49: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

5 Paradigma de Aprendizagem Biológica

5.1 Algoritmos Genéticos

Os algoritmos genéticos procuram aplicar os conceitos de evolução das

espécies ao problema da adaptabilidade e aprendizagem de, no nosso caso,

agentes inteligentes.

Na natureza os seres vivos são obrigados a uma adaptação constante às

condições do meio ambiente. Se o indivíduo não for bem sucedido nesta

adaptação eventualmente morre sem deixar descendência. Por outro lado se

esta adaptação for bem sucedida, ele continuara a sobreviver e terá

(provavelmente) possibilidade de se reproduzir deixando na sua

descendência parte dos seus genes. Genes estes que tornaram possível uma

adaptação com sucesso. Em poucas palavras é a sobrevivência do mais

apto.

De que forma podemos usar este conhecimento para programar agentes

inteligentes com capacidade de aprender?

A ideia fundamental aqui é considerar que uma possível solução

(independentemente se é uma boa ou má solução, eficiente ou ineficiente)

para um determinado problema é o equivalente a um indivíduo. É claro que

esta solução (individuo) terá que ser codificada de tal forma que possa ser

representada por uma cadeia de bits, que representam de alguma forma as

características do indivíduo.

Tal como na natureza existem uma grande diversidade de indivíduos, para

um determinado problema podem existir uma diversidade de soluções.

Existem soluções boas, outras não tão boas e outras simplesmente más.

Necessitamos de conseguir avaliar o valor (mérito) de uma solução.

Tendo isto em mente, consideremos um problema complexo, com diversas

soluções (população), nenhuma delas ideais, mas cada uma com um

determinado mérito. De seguida procede-se a classificar todas as soluções,

de forma decrescente, segundo o seu mérito.

AISC – 5º Ano – 1º Semestre – 2006/2007 49 / 63

Page 50: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

A título de exemplo vamos assumir que apenas 50% da população, as

melhores soluções terão possibilidade de “reprodução”, os restantes 50%

serão eliminados e substituídos pelos descendentes das melhores soluções.

A nossa população (conjunto de indivíduos ou melhor conjunto de soluções)

deu um passo no sentido de ficar mais bem adaptada ao “ambiente”. No

nosso caso específico, o nível médio de mérito na nossa população subiu (à

partida).

Este processo de classificação, reprodução dos melhores e eliminação das

soluções mais fracas, repetido de forma sistemática até ser atingido um

determinado nível médio (ou solução específica) é semelhante à evolução

que acontece nos seres vivos ao longo de milhares de anos. Foi o que

permitiu simples organismos unicelulares evoluírem para os seres vivos

complexos que existem hoje.

De forma mais formal, em pseudo-código o seguinte algoritmo descreve o

funcionamento de um algoritmo genético genérico:

Dados:o Função de adaptabilidade ou mérito (fa)o Probabilidade de recombinação (pr)o Probabilidade de mutação (pr)o Critério de paragem (cp)

Determinar:Individuo que maximiza fa

Algoritmo Genético:

1.0 Definir aleatoriamente e avaliar a população inicial (p0)2.0 Se existir um individuo em p(i) que satisfaça cp então

2.1 Devolve o indivíduo e pára.

3.0 Senão3.1 Selecciona indivíduos de p(i) de acordo com fa3.2 Recombina os indivíduos de acordo com pr3.3 Muta individuo de acordo com pm3.4 Define e avalia nova população p(i+1)3.5 Volta a 2

AISC – 5º Ano – 1º Semestre – 2006/2007 50 / 63

Page 51: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Algoritmo 9 – algoritmo genético genérico

5.1.1 Selecção e Recombinação de indivíduos

A forma como os indivíduos são seleccionados pode ser variada. Os métodos

mais vulgares são a selecção por roleta, selecção por torneio, selecção por

truncagem.

• A selecção por truncagem é a mais simples e menos sofisticada.

Neste tipo de selecção, os indivíduos são ordenados pelo seu mérito.

Aqueles que têm um mérito inferior a um limiar são removidos da

população e substituídos por soluções descendentes dos de maior

mérito. Isto é uma solução simplista e potencialmente problemática,

uma vez que algumas soluções de menor mérito poderão conter

solução para futuras mudanças no ambiente.

• Na selecção por roleta é considerada uma “roleta virtual” com um

número de ranhuras fixo. Os indivíduos de maior mérito recebem uma

maior quantidade de ranhuras, os de menor mérito recebem menos

ranhuras. São escolhidas aleatoriamente 2 ranhuras da roleta e os

indivíduos dessas ranhuras são reproduzidos. Apesar de os indivíduos

de maior valor terem maior probabilidade de reprodução, nunca é uma

certeza de que terão descendentes na próxima geração de indivíduos.

Desta forma as soluções mais fracas continuam a ter uma

possibilidade de sobrevivência, fornecendo ao sistema diversidade

necessária para enfrentar as mudanças.

• No caso da selecção por torneio, a ideia é diferente. De toda a

população é seleccionado aleatoriamente um número K de indivíduos

(K = tamanho do torneio). Deste grupo K de indivíduos são formados

aleatoriamente N pares de indivíduos. De cada par de indivíduos é

AISC – 5º Ano – 1º Semestre – 2006/2007 51 / 63

Page 52: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

escolhido o melhor (maior mérito). Do grupo resultante repete-se o

processo de formar pares até só existir um par a formar. Quando isto

acontecer recombinam-se os genes dos indivíduos vencedores.

Segundo a bibliografia consultada esta solução apresenta mais

vantagens do que as anteriores, concretamente permite resolução de

problemas não só de maximização como minimização, converge mais

lentamente que anteriores entre outras vantagens.

Uma vez escolhidos os indivíduos a recombinar, a forma como é feita a

recombinação dos genes pode ser a mais variada. De seguida são

apresentadas algumas formas de recombinação (Crossover).

• “Crossover” de um ponto:

No crossover de um ponto é escolhido um ponto nos genes dos pais.

Os filhos (serão 2) terão os mesmos genes que os pais até esse

ponto, depois desse ponto trocam entre si os genes dos progenitores.

Figura 19 – “Crossover” de um ponto

• “Crossover” em dois pontos:

No caso do crossover em dois pontos, o princípio é o mesmo que o

crossover num ponto. No entanto o segundo ponto define o final da

troca de informação genética.

AISC – 5º Ano – 1º Semestre – 2006/2007 52 / 63

Page 53: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 20 – “Crossover” em dois pontos

• “Cut and Splice”:

Esta situação de crossover é exactamente igual ao crossover num

ponto com uma distinção fundamental: O ponto de corte nos genes

dos pais não é no mesmo ponto. Isto tem como consequência imediata

que os filhos não vão ter o mesmo comprimento na sua cadeia de

informação genética.

Figura 21 – Cut and Splice

• “Crossover” Uniforme:

Neste tipo de recombinação a situação é semelhante aos anteriores no

facto de termos dois pais e dois filhos. No entanto para cada filho os

seus genes são o resultado da troca entre os bits dos seus pais com

probabilidade de (normalmente 50%).

• “Crossover” Meio Uniforme:

AISC – 5º Ano – 1º Semestre – 2006/2007 53 / 63

Page 54: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Este tipo de recombinação é igual à anterior com a seguinte diferença,

numa fase inicial são detectadas as diferenças entre os cromossomas

dos pais. De seguida é aplicada a técnica de crossover uniforme

exactamente em metade dos bits diferentes entre os pais.

• “Crossover” de Cromossomas Ordenados:

Num crossover de cromossomas ordenados os filhos recebem os

cromossomas dos pais após estes terem trocado sem repetições os

seus cromossomas depois de um determinado ponto de corte. Se o

tamanho final do gene do filho não tiver o mesmo comprimento do dos

seus pais, preenche-se o resto dos genes com os dos pais antes do

ponto de corte.

Existe também, tal como na natureza, a possibilidade de acontecer uma

mutação nos genes dos novos indivíduos. Normalmente a probabilidade de

acontecerem mutações deve ser baixa de forma a termos alguma

estabilidade nos indivíduos da população.

5.1.2 Problemas dos Algoritmos genéticos

A utilização dos algoritmos genéticos apresenta alguns problemas:

• Restrições computacionais, qual melhor relação: população / numero

de gerações?

• Melhor relação entre Probabilidade de recombinação/ mutação?

• Podem não fornecer a melhor solução (máximo local)

• Operadores usados podem não ser os mais adequados, qual a melhor

definição?

AISC – 5º Ano – 1º Semestre – 2006/2007 54 / 63

Page 55: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

5.1.3 Outros tipos de Algoritmos genéricos

É possível considerar outros tipos de algoritmos genéticos. Um exemplo é o

caso de um algoritmo usado por um vírus. Neste caso, todo o processo é

semelhante ao descrito, diferindo apenas na questão da eliminação de

indivíduos... Nesta tipo de algoritmo genético os mais fracos são infectados

com o código genético dos mais fortes. Desta forma as soluções mais fracas

nunca são completamente eliminadas.

A área de algoritmos genéticos é uma área em constante investigação e

evolução.

AISC – 5º Ano – 1º Semestre – 2006/2007 55 / 63

Page 56: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

5.2 Sistemas Classificadores

Um sistema classificador é essencialmente um misto de um sistema pericial

com algoritmos genéticos.

O sistema pericial usa regras para controlar as suas respostas perante as

percepções do meio ambiente. Os algoritmos genéticos são usados para

escolher as regras que melhor se adaptam ao ambiente.

Existem duas variantes de Sistemas Classificadores mas as suas diferenças

residem apenas na definição do indivíduo usado no algoritmo genético. Numa

variante um indivíduo representa um conjunto de regras, ao passo que na

outra variante um indivíduo representa apenas uma regra.

A seguinte figura representa a arquitectura genérica de um sistema

classificador.

AISC – 5º Ano – 1º Semestre – 2006/2007 56 / 63

Page 57: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Figura 22 - arquitectura genérica de um sistema classificador

O funcionamento de um sistema classificador pode ser bastante complexo.

Uma explicação muito detalhada está fora do âmbito deste trabalho. No

entanto para que a forma de funcionamento de um sistema classificador seja

compreendida, há alguns pormenores a serem esclarecidos antes de se

proceder a uma explicação sucinta.

AISC – 5º Ano – 1º Semestre – 2006/2007 57 / 63

Reacção

Ambiente

Sistema

Classificador

Recompensa / Punição

PercepçãoLista

MensagensAcção

População de

Classificadores

(Regras)

Leilão

Conj. Acções

Descoberta de Classificadores (Alg. Genético)

Page 58: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

O ambiente é percepcionado pelo agente e a informação captada é

codificado numa mensagem, que é colocada numa fila de mensagens. Estas

mensagens traduzem o ambiente num determinado instante.

Cada uma destas mensagens é comparada com as regras conhecidas pelo

sistema. Estas regras (Classificadores) são relativamente genéricas. Portanto

numa determinada situação pode acontecer ser possível aplicar um

subconjunto de todas as regras conhecidas.

Qual é o classificador que o sistema escolhe? Para explicar este pormenor é

necessário especificar melhor o que é um classificador.

Os classificadores num sistema classificador, têm a estrutura de:

Condição: Acção (Força)

Ou seja, quando uma determinada Condição acontece, uma determinada

Acção pode ser despoletada, assumindo que tem a Força necessária. Todos

os classificadores têm estes três parâmetros.

A decisão de qual o classificador que é escolhido é feita através de um

processo de leilão.

O facto de um determinado classificador estar a participar num leilão, implica

que este pague uma taxa de participação, assim como uma taxa de licitação.

Isto vai ter como consequência uma diminuição no valor da força de uma

condição.

Se o classificador escolhido for bem sucedido, o que resulta numa Reacção

positiva por parte do Ambiente, o valor da força do classificador é

incrementada caso contrário o valor é decrementado.

Todos os classificadores que não são escolhidos para irem a leilão são

decrementados os valores das suas forças. Desta forma os classificadores

menos requisitados vêm a sua força diminuir.

AISC – 5º Ano – 1º Semestre – 2006/2007 58 / 63

Page 59: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Os melhores classificadores são usados pelo módulo de algoritmos

genéticos, para descobrir ainda melhores classificadores que substituem os

classificadores já existentes de menor força.

AISC – 5º Ano – 1º Semestre – 2006/2007 59 / 63

Page 60: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

6 ConclusõesNeste capítulo avalia-se o trabalho desenvolvido e mencionam-se os

objectivos que foram concretizados, referem-se alguns aspectos que

poderiam estar na base de um trabalho futuro.

6.1 Trabalho realizado

No trabalho pesquyisamos várias fontes sobre aprendizagem de agentes e

que deu origem a este relatório.

6.2 Trabalho futuro

Poderiasse escolher um tema abordado neste trabalho, por exemplo as redes

neuronais ou outro e aprofunda-lo de modo a ter-se as bases teóricas de tal

modo fortes que permitissem implementar.

Poderiasse também implementar agentes com diferentes módulos de

aprendizagem e comparar o seu comportamento “aprendiz” em alguns tipos

de problemas.

6.3 Apreciação final

O trabalho deu a conhecer aos elementos do grupo a existensia de inúmeros

métodos que podem ser aplicados em agentes de modo a dota-lo de

aprendizagem. Alguns dos temas poderiam ser aprofundados de tal modo

que possivelmente dariam para um semestre. Alguns dos métodos tratados

neste relatório despertaram o interesse pelo assunto como é o caso dos

algorimos genéticos, redes neuronais e métodos de aprendizagem não

supervisionada.

Por fim concluímos que os objectivos do trabalho foram alcançados.

AISC – 5º Ano – 1º Semestre – 2006/2007 60 / 63

Page 61: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

Bibliografia

António Silva, Carlos Ramos (2006/2007); “Apontamentos das Aulas Teóricas

de Agentes Inteligentes e Sistemas Cooperativos”; ISEP

“Sebenta da Cadeira de Agentes Inteligentes e Sistemas Cooperativos”; ISEP

Ernesto Costa, Anabela Simões; “Inteligência Artificial – Fundamentos e

Aplicações”; FCA

Stuart Russell, Peter Norvig; “Inteligência Artificial”; Editora Campos

Bradd L. Miller, David E. Goldberg; “Genetic Algoriths, Tournement Selection

and the Effects of Noise”; IlliGAL report 95006 – July 1995

Sobre redes Neuronais:

http://www.faqs.org/faqs/ai-faq/neural-nets/part1/

http://www.codeproject.com/useritems/NeuralNetwork_1.asp

http://www.codeproject.com/useritems/Backprop_ANN.asp

http://www.codeproject.com/useritems/GA_ANN_XOR.asp

Sobre algoritmos genéticos:

http://www.codeproject.com/cs/algorithms/Genetic_Algorithm.asp

http://en.wikipedia.org/wiki/Mutation_%28genetic_algorithm%29

http://en.wikipedia.org/wiki/Crossover_%28genetic_algorithm%29

http://webservicesfree.com/Articles/Artificial-Intelligence-Articles/Genetic-

Algorithms-Selection-Methods.htm

http://geneticalgorithms.ai-depot.com/Tutorial/Overview.html

http://geneticalgorithms.ai-depot.com/

http://www.ai-junkie.com/ai-junkie.html

AISC – 5º Ano – 1º Semestre – 2006/2007 61 / 63

Page 62: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Índice Remisso

agente aprendiz......................11, 13, 14

Agrupamento Conceptual..................20

algoritmo de cobertura (AQ)....... 11, 16

algoritmo ID3.............................. 18, 19

algoritmos genéticos.12, 49, 54, 55, 56,

59, 61

Aprendizagem...1, ii, ix, 11, 12, 13, 16,

24, 33, 37, 40, 47, 48, 49

aprendizagem analítica......................23

aprendizagem baseada em casos....... 24

aprendizagem por reforço............37, 38

Bacon 6.0...........................................22

Bayes ingénuo................................... 36

Descoberta Empírica................... 20, 22

Espaço de Versões.............................17

formas de recombinação....................52

função de activação............... 43, 46, 47

função de activação tipo degrau........ 43

função de soma de inputs.................. 42

função sigmoide.................... 43, 44, 47

Generalização Baseada em

Explicações....................................23

heurísticas..........................................28

Hidden layer...................................... 45

inferência indutiva pura.....................25

Inteligência Artificial............. ix, 32, 61

método das partições......................... 20

Método Hierárquico.......................... 20

Método hierárquico aglomerativo..... 20

Método hierárquico divisivo............. 20

módulo Critico...................................15

módulo de aprendizagem............ 14, 15

módulo Decisor................................. 15

módulo Modificador..........................15

neurónio biológico.............................41

neurónios artificiais........................... 42

predicado de objectivo...................... 26

probabilidade a posteriori............33, 35

probabilidade a priori........................ 33

Rede Hopfield................................... 45

Rede Monocamada............................45

redes multicamada.............................45

redes neuronais....iii, 11, 33, 40, 41, 42,

44, 60

selecção por roleta.............................51

selecção por torneio...........................51

selecção por truncagem..................... 51

sistema classificador..............56, 57, 58

técnica de treino supervisionada....... 16

teoria da informação..........................33

Page 63: «Agentes – Aprendizagem» - Departamento de …asilva/page1/page3/assets/Agentes e...FIGURA 22 - ARQUITECTURA GENÉRICA DE UM SISTEMA CLASSIFICADOR.....57 vii Índice de Algoritmos

Agentes – Aprendizagem

tipos de hipóteses.............................. 17

árvore de decisão.......18, 26, 27, 28, 31

AISC – 5º Ano – 1º Semestre – 2006/2007 63