Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho Teórico
AISC – Agentes Inteligentes e Sistemas Cooperativos
5º Ano – 1º Semestre – 2006/2007
ii
• Paradigma Conexionista
• Paradigma Biológico
iii
Índice
1 INTRODUÇÃO.................................................................................................................................. 11
6 CONCLUSÕES.................................................................................................................................. 60
iv
6.3 APRECIAÇÃO FINAL........................................................................................................................... 60
BIBLIOGRAFIA....................................................................................................................................... 61
ÍNDICE REMISSO.................................................................................................................................... 62
v
Índice de Figuras
FIGURA 1 – ARQUITECTURA INTERNA DE UM AGENTE APRENDIZ.................................14
vi
FIGURA 21 – CUT AND SPLICE....................................................................................................... 53
vii
Índice de Algoritmos
ALGORITMO 1 – ELIMINAÇÃO DE CANDIDATOS....................................................................18
ALGORITMO 4 - CLUSTER/2............................................................................................................21
viii
Notação e Glossário
ix
Formatos
x
Agentes – Aprendizagem
1 Introdução
Pretende-se com este capítulo introdutório dar a conhecer o conteúdo do
trabalho.
Ambiente
Agente
Aprendizagem
Percepção Acção
Decisão
Modulo de aprendizagem
Decisor Decisor
Crítico Modificador
Comparador
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.
Sendo:
E – Ganho em informação
Dado:
o Conjunto S de exemplos de treino (E+, E-)
o Família de conjuntos de atributos e respectivos valores A
o Conceito alvo T
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 A
2.3 Chamar recursivamente o algoritmo para cada um dos
subconjuntos S
2.4 Construir uma AD tendo por raiz o atributo A e os ramos
etiquetados pelos valores Aj ligados as sub arvores
associadas a Sj
• Método Partições
• Método Hierárquico
Existem dois métodos dentro deste que podem ser usados por si ou em
simultâneo (misto).
• Positividade – d(x,y) ≥ 0
• Descriminação – d(x,y) ≠ 0 se x ≠ y
• Etc...
Tendo isto por base, existem algoritmos que podem ser aplicados, é o caso
do Cluster/2
Algoritmo 4 - Cluster/2
3.3 Analítica
• 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
• Recolha
• Reutilização
• Revisão
• Retenção
Dados:
Conjunto de casos conhecidos C
Conhecimento geral K (opcional), e um problema não resolvido P
Determinar:
Uma solução S, para P usando K e elementos adaptados de C, Ci
Transforma S+P num novo caso de C
Exemplo:
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:
Figura 4 – Uma árvore de decisão para definir se vamos ou não esperar por uma
mesa
Atributos
Conclusão
Exemplo Alt Bar Se/Sa Fo Cli Pre Chu Res Tipo Tes VaiEsperar
X1 Sim Não Não Sim Alguns €€€ Não Sim Francês 0-10 Sim
X2 Sim Não Não Sim Cheio € Não Não Tailandês 30-60 Não
X3 Não Sim Não Não Alguns € Não Não Hamburger 0-10 Sim
X4 Sim Não Sim Sim Cheio € Sim Não Tailandês 10-30 Sim
X5 Sim Não Sim Não Cheio €€€ Não Sim Francês >60 Não
X6 Não Sim Não Sim Alguns €€ Sim Sim Italiano 0-10 Sim
X7 Não Sim Não Não Nenhum € Sim Não Hamburger 0-10 Não
X8 Não Não Não Sim Alguns €€ Sim Sim Tailandês 0-10 Sim
X9 Não Sim Sim Não Cheio € Sim Não Hamburger >60 Não
X10 Sim Sim Sim Sim Cheio €€€ Não Sim Italiano 10-30 Não
X11 Não Não Não Não Nenhum € Não Não Tailandês 0-10 Não
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?
Exemplo:
1 3 4 6 8 12
2 5 7 9 10 11
Tipo
1 3 4 6 8 12
2 5 7 9 10 11
Clientes
Clientes?
Nenhum Cheio
Alguns
Não Sim Faminto?
Não Sim
Não Tipo?
Não Sim
Não Sim
n
I ( P(V1 ),..., P (v n )) =∑ − P (vi ) log 2 P (vi )
i =1
1 1 1 1 1 1
I ( , ) = − log 2 − log 2 = 1bit
2 2 2 2 2 2
Com
Exemplo:
• – (negativo)
• + (positivo)
• O resultado dos testes acerta em 98% dos casos positivos e 97% dos
negativos
0,98 ∗ 0.008
P(cancro | +) =
(0,98 ∗ 0,008) + (0,03 ∗ 0,992)
0,00784
P(cancro | +) = = 0,20851
0,0376
ser reduzido.
Funcionamento:
X X X X X O X X O X
X O X O X O X O X O X O X
O O O O X
x x
... x
} x joga
} 0 joga
x o
... ... o
x
... o x
} 0 joga
x o
x
} x joga
xo
Figura 11 – Arvore que mostra que apenas chegado ao fim do jogo o reforço é obtido
(vitória, derrota ou empate)
x
.5 ?
.
.
.
.
.5 ?
x x x
.
.
o
.
.
1 vitória
x o
.
o
.
x
.
.
0 derrota
o x o
o x x
x o o 0 empate
4 Paradigma de Aprendizagem
Conexionista
Output
Função activação
Este output pode ser dirigido para outros neurónios ou para a saída da rede
neuronal.
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).
No entanto cada input tem um peso (w) associado que de forma simplista,
representa a importância desse input para o neurónio.
Peso de um input:
I=W * Xi
Σ (Wk * Xk)
k=0
∆Wk = η * Xi * X
Sendo:
W – Peso do input
Ri – Valor real
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:
3.0 Senão
3.1 Selecciona indivíduos de p(i) de acordo com fa
3.2 Recombina os indivíduos de acordo com pr
3.3 Muta individuo de acordo com pm
3.4 Define e avalia nova população p(i+1)
3.5 Volta a 2
• “Crossover” de um ponto:
• “Crossover” Uniforme:
Ambiente
Reacção
Sistema
Lista
Percepção Acção
Classificador
Mensagens
Descoberta de
Classificadores População de
(Alg. Genético) Conj. Acções
Classificadores
(Regras)
Recompensa /
Leilão Punição
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.
6 Conclusões
Neste 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.
Bibliografia
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
tipos de hipóteses.............................. 17