O Sistema ARCHES de Winston Incremental Aprende conceitos estruturais Aprende o conceito de um arco através de exemplos e contra-exemplos a ele fornecidos O Sistema ARCHES de Winston (Cont) 1. É um arco 3. Não é um arco 2. Não é um arco 4. É um arco Conceito (Sistema ARCHES de Winston ) 1. Um arco consiste de três partes, dois postes e um lintel 2. Os dois postes têm forma retangular enquanto que o lintel pode ser uma classe de polígonos. Isto pode ser concluído dos exemplos 1 e 4 3. Os dois postes não podem se tocar. Isto pode ser concluído do exemplo negativo 2 4. Os dois postes devem suportar o lintel. Isto pode ser concluído do exemplo negativo 3 Aprendizado por Exemplos: Sistema Arches a. Um arco consiste de três partes, dois postes e um lintel 1. É um arco (+) 3. Não é um arco (-) 2. Não é um arco (-) b. Os dois postes têm forma retangular enquanto o lintel pode ser uma classe de polígonos. Isto pode ser concluído dos exemplos 1e4 c. Os dois postes não podem se tocar. Isto pode ser concluído do exemplo negativo 2 4. É um arco (+) d. Os dois postes devem suportar o lintel. Isto pode ser concluído do exemplo negativo 3 Aprendizado de um Conceito C em Arches Para aprender um conceito C de uma dada seqüência de exemplos E1, E2, ..., En, na qual o primeiro exemplo E1 deve ser obrigatoriamente um exemplo positivo de C, faça: 1. Adote E1 como hipótese inicial H1 sobre C 2. Processe todos os exemplos restantes da seguinte forma: Para cada Ei (i = 2, 3, ...) faça (a) Compare a hipótese corrente Hi-1 com Ei; seja D o resultado dessa comparação (diferença entre Hi-1 e Ei) (b) Atualize Hi-1 de acordo com D, verificando também se Ei é um exemplo positivo ou negativo. O resultado desta atualização é uma hipótese refinada Hi sobre C. O resultado final deste procedimento é Hn, que representa o entendimento do sistema sobre o conceito C. Aprendizado de um Conceito C em Arches As duas operações principais do algoritmo visto são a comparação e a atualização da hipótese corrente, que, para serem implementadas, precisam ser refinadas. Deve ser observado que ambas as operações não são fáceis de implementar e variam bastante entre os diferentes sistemas de AM que as utilizam. Redes Semânticas Redes Semânticas são essencialmente grafos nos quais os nós correspondem a entidades cujas ligações indicam as relações entre essas entidades. Representação dos Exemplos H1 E2 - suporta suporta suporta suporta é_um retângulo retângulo encosta E3 E4 - + suporta suporta é_um é_um retângulo triângulo retângulo é_um Exemplo H1 suporta suporta retângulo H1 torna-se a hipótese corrente do que um arco é E2 - suporta suporta é_um retângulo A diferença D entre H1 e E2 é a relação extra, encosta, em E2. Como esta é a única diferença, o sistema conclui que esta relação extra é a razão de E2 não ser um arco. O sistema atualiza então a hipótese corrente H1, aplicando o seguinte princípio de aprendizado heurístico: Se o exemplo é negativo e o exemplo contém a relação R que não está na hipótese corrente H encosta E2 é um contra-exemplo de um arco H2 suporta suporta retângulo não_deve_encostar H2 é uma hipótese mais específica que H1. Então proíba R em H (adicione não_deve_R em H) Aplicando-se esta regra a H1, obtém-se uma nova hipótese H2, que possui uma ligação extra não_deve_encostar. Então dizse que H2 é uma hipótese mais específica que H1. Exemplo Observar que as duas ligações suporta, presentes em H2 , não estão presentes em E3. Então, é necessário que o sistema escolha uma das explicações: H2 suporta suporta retângulo 1. E3 não é um arco porque a ligação suporta à esquerda está faltando não_deve_encostar Hipótese corrente E3 2. E3 não é um arco porque a ligação suporta à direita está faltando - 3. E3 não é um arco porque ambas as ligações suporta estão faltando retângulo Outro exemplo negativo de um arco H3 devedevesuportar suportar retângulo não_deve_encostar Nova hipótese Supondo que o aprendiz, que é mais “radical”, escolha a explicação 3, então ele chega numa nova hipótese H3. Para manipular a falta de ligações podemos usar a regra da condição-ação: Se o exemplo é negativo e o exemplo não contém a relação R que está presente na hipótese corrente H Então R deve ser uma condição necessária na nova hipótese. (adicione deve_R em H). Exemplo Observar que a mentalidade do aprendiz pode ser modelada, tanto para eleição das explicações referentes às diferenças entre hipóteses, quanto pela eleição do tipo de regra condição-ação a ser utilizada; Variando essas regras, o estilo de aprendizado pode variar entre dois extremos: em um deles tem-se um aprendizado cauteloso, prudente e precavido, no outro tem-se um aprendizado tipo “radical”. Exemplo H3 Comparando E4 com H3: em E4 a parte de cima é um triângulo e em H3 é um retângulo; devedevesuportar suportar retângulo Observamos que tanto retângulo quanto triângulo são pólígonos convexos (conhecimento de fundo); não_deve_encostar Hipótese corrente E4 + suporta suporta é_um é_um triângulo retângulo Outro exemplo positivo de um arco H4 devedevesuportar suportar é_um polígono_convexo retângulo não_deve_encostar Nova hipótese é_um Logo, podemos atualizar a hipótese corrente para obter a hipótese H4. Diz-se então, que a hipótese corrente foi generalizada. Exemplo H4 devedevesuportar suportar A nova hipótese agora permite que a parte de cima seja um trapézio, por exemplo, mesmo que não tenha sido mostrado nenhum arco com um trapézio. é_um polígono_convexo retângulo Nova hipótese novo_objeto suporta suporta é_um trapézio é_um retângulo Um novo objeto e sua representação Se for mostrado este novo exemplo ao sistema, ele será classificado pelo sistema como arco, pois sua representação em rede semântica satisfaz completamente o conceito de arco aprendido pelo sistema (i.e. a hipótese H4 ).