Aprendizado de Descrições Lógicas

Slides:



Advertisements
Apresentações semelhantes
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Advertisements

Inteligência Artificial
Métodos Iterativos.
ANÁLISE DISCRIMINANTE
Mineração de Dados Avaliação de Classificadores
PERCEPTRON (CONTINUAÇÃO)
Adaptive Resonance Theory Carpenter & Grossberg
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
A Teoria da Medida Profª. Ms. Juliany Gonçalves Guimarães
Perceptron Simples Algoritmo do Bolso com catraca
Introdução à Programação Lógica
Meta - heurísticas Prof. Aurora
GRASP Greedy Randomized Adaptative Search Procedure
Aprendizado de Máquinas
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Busca Heurística - Informada
Busca Cega (Exaustiva)
Busca Heurística - Informada
APRENDIZAGEM COM CONHECIMENTO A PRIORI
Inteligência Artificial
Dividir-e-Conquistar
Buscando Soluções Busca Heurística.
Ambiente de simulação Os algoritmos previamente discutidos foram analisados usando um simulador de mobilidade. Ele modela uma cidade de 20 Km de raio,
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Meta - heurísticas Prof. Aurora
Aprendizado de Máquina
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Aula prática 6 Vetores e Matrizes
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Algoritmos – Formas Normais
Busca com informação e exploração
INF 1771 – Inteligência Artificial
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Sistema de equações lineares
Sistemas Especialistas
Algoritmos de Busca Local
Aula 6 - Método não-experimental ou de seleção não-aleatória
Seleção de Atributos Ricardo Prudêncio.
Tópicos Avançados em Inteligência Artificial
Inteligência Artificial
Análise e Projeto de Sistemas
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
Aula Prática 4 Monitoria IP/CC (~if669).
Busca Combinatorial e Métodos de Heurística
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
Satisfação de problemas restritos (CSP)
Resolução de Problemas de Busca
Prof. Anne Magály de Paula Canuto
Regressão e Previsão Numérica.
Geometria Computacional Fecho Convexo
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.
Aprendizado Baseado em Instancias. Introdução Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo. Os.
Aprendizado Baseado em Instancias. Introdução Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo. Os.
Aprendizado de Conceitos (aprendizado de regras).
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Aprendizado da rede O aprendizado, na maioria das vezes, constitui no ajuste do conjunto de pesos de modo que a rede consiga executar uma tarefa específica.
Como ir do tableau da base (j 1,...j s-1,j s, j s+1....j m ) para o da base (j 1,...j s-1,k, j s+1....j m ) lembrando que : na coluna associada à x ji.
FEATURE SELECTION. Introdução  Estudo de metodologias relacionadas a seleção de atributos  Maldição da dimensionalidade  O número de atributos do desenvolvedor.
Ant Colony Optimization Theory Rio de Janeiro 2011 Disciplina: Inteligência de Enxame Docente: José Manoel Seixas Discente: José Dilermando Costa Junior.
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Transcrição da apresentação:

Aprendizado de Descrições Lógicas Aprendizado inductivo pode ser visto como um processo de busca de uma boa hipoteses num grande espaço. O espaço de hipoteses, definido pela linguagem de representação escolhida para a tarefa. No termo lógico a relação entre hipoteses, objetivos e exemplos.

Hipóteses A situação comum é: predicado objetivo Q (ex: esperar num restaurante) Hipoteses: uma definição candidata do predicado Q.  x Q(x)  Ci(x)  r Esperar(r)  Estado(r,medio) v (Estado(r,cheio) ^ ~fome(r) ^ tipo(r,F)) v (estado(r,cheio) ^ ~fome(r) ^ tipo(r,T) ^ Sex/Sab(r)) v (Situação(r,cheio) ^ ~fome(r) ^ tipo(r,B))

Extensão de uma hipoteses Cada hipoteses prediz um certo conjunto de exemplos. Os que satisfacem sua definição Duas hipoteses são diferentes => suas extensões são inconsistentes. Logicamente falando, um exemplo é um objeto ao qual o conceito objetivo se aplica ou não. Ele tem uma descrição lógica.

Exemplo Ex: linha 1, alternativa(x) ^ ~bar(x) ^ ~sex/sab(x) ^ fome(x) ^ .... => Esperar(x) o conjunto de treinamento é então a conjunção de todas essas sentenças. A hipoteses esta de acordo com todos os exemplos SSE é logicamente consistente com todos os conjuntos de treinamento

Consistência Hi é consistente com todos os conj. De treinamento => consistente com cada exemplo Um exemplo pode ser falso - para a hipoteses Se a hipoteses afirma ser negativo mais de fato é + Um exemplo pode ser um falso positivo para a hipoteses, se a hipoteses diz que é positivo mais o exemplo é negativo.

Aprendizado Inductivo Assumindo que o exemplo esta correto e a hipoteses não, então um sistema de inferência poderia portanto, aprender dos exemplos eliminando 1 ou + hipoteses Aprendizado inductivo como um processo de gradualmente eliminar hipoteses que são inconsistentes com os exemplos, como o espaço de hipoteses pode ser inmenso, esta aproximação não é utilizada.

Busca pela melhor hipoteses Manter uma hipoteses única e ajustar ela a novos exemplos de maneira a manter consistência. + + + - - - - - - - - - - - - + + + - - - - - - - - - - - - + + + - - - - - - - - - - - - + + + + - + + - - - - - - - - - - - - + + + + - + + - - - - - - - - - - - - - + + Espaço consistente Falso negativo Hipoteses generalizada positivo especializada

Tarefa de inducir conjunções lógicas Dado um conjunto de instâncias de treinamento positivas para a classe C Dado um conjunto de instâncias de treinamento negativas para a classe C Encontrar Uma conjunçào lógica que extenda uma descrição intensional para usar em classificação de instâncias futuras.

Espaço de Classes conceituais Parcialmente ordenado T, a mais geral F, a mais especifica

Indução não incremental de CL Bredth-first search (EGS, G->S) a cada nivel EGS considera todas as especializações de uma H, com + 1 condição. Para cada especialização gerada H H cobre todos os exemplos + , cc ela é retirada. Se H ainda cobre algum exemplo negativo, será novamente especializada no proximo ciclo, se não H é consistente.

Algoritmo: EGS + - + -

Algoritmo

Problemas Complexidade computacional Ruido nos dados Solução -> heuristica

HGS(G->S) Manipula dois conjuntos Closed (H, sem melhora) Open (H, podem ser melhoradas) A cada estagio HGS considera todas as especializações de Hset com + 1 condição (S) S -> f(S) Se f(S) > f(H), Open-set = Open-set +S Se " S f(S) < f(H) , H -> Closed-set

HGS Depois de considerar todas as especializações das descrições em Hset Se existem H em Open-set continua, Se não retorna H com maior score. Avaliação heuristica ex: Pc + Nnc/(P+N) (0,1)

Algoritmo HGS

Problemas de HGS HGS ou HSG custo de memoria fixo busca sobre controle, mais não sempre gera a descrição otima para um conjunto de dados relativamente robusta com respeito a ruido, e a hipoteses que são aproximadamente conjuntivas em HSG deve-se cuidar o exemplo inicial usado.

Indução Incremental IGS Um caso de treinamento por vez, guarda-se Hs consistentes com exemplos. Inicializa com T encontra e-, abandona as Hi tal que Hi->e-, substituindo por uma variante Abandona qualquer Hi tal que Hi ~->e+. Obs: guarda e reprocessa explicitamente a lista de exemplos +, fazendo uma aproximação incremental somente com respecto a exemplos -.

Algoritmo: IGS + - + -

Algoritmo

Algoritmo ISG Estrutura básica similar a IGS Esta tecnica retem um conjunto de descrições que são consistentes com as instâncias observadas Inicializa o conjunto de Hs a 1a instância positiva do conjunto de treinamento frente a uma instância + , verfica as Hs, substituindo as inconsistentes por "minimas"mais gerais ISG abandona as Hs que cobrem instâncias negativas, e Hs mais especificas que outras. O ciclo ISG usa e+ para gerar Hs e e- para abandonar Hs

Tecnicas Bidirecionais Combinação de S->G e G->S Neste caso, ou G ou S atua como operador primario, sendo que o outro efetua backtracking

Tecnicas Bidirecionais Outra alternativa, espaço de versão, que IGS e ISG 2 conjuntos de descrições (S,G) ISG atualiza S, quando encontra e+ IGS atualiza G, quando encontra e- não é necessário reter as instâncias + nem - IGS apaga os membros de G que são mais especificos que todos os membros de S, similar ISG com S.

Problemas dos Métodos I. Exaustivos ISG, IGS, Bidireccionais guardam em memoria todas as descrições consistentes com os dados Em alguns dominios o tamanho do conjunto pode crecer exponencialmente Ruido e conceito não é uma conjunção lógica

Método Hill Climbing Minimizar o processamento para cada nova instância, reduzir memoria requerida Ideia: Guardar uma hipoteses Hill Climbing metodo de busca clássico de IA se aplicam todos os possiveis operadores comparam os resultados, função de avaliação seleciona-se o melhor, iterar até não obter progressos

Hill Climbing Busca num espaço n-dimensional, com f Esta função determina a forma da superficie Em geral f é estatica, assim a forma da superficie é constante. Em ML, cada nova instância muda f modificando o contorno da superficie Esta característica deixa pouco claro as limitações tradicionais deste método (mínimo local) Existe dependência na ordem de presentação das instâncias

Algoritmo IHC Para cada instância I, o método verifica se H classifica corretamente Se correto, IHC não atua Se errado, IHC gera todas as revisões de H que corrigem o erro usa f para ordenar as candidatas, nos últimos K casos A melhor é comparada com H pai, fica a melhor O caso mais antigo é substituido pelo novo O processo continua ate que existam instâncias

Algoritmo IHC O algoritmo responde diferente se e+ ou e- e-, IHC diz e+, H é geral demais, -> S e+, IHC diz e-, H é muito especifica, -> G Formas de inicialização a mais geral o primeiro exemplo

Algoritmo IHC

IHC em operação + - - - + (1+1)/2=1 (1+1)/2=1 (0+1)/2=0.5 (0+1)/2=0.5 (1+1)/2=1 (1+1)/2=1 (0+1)/2=0.5 (0+1)/2=0.5 (1+2)/3=1 (1+2)/3=1 (0+2)/3=2/3 - + (1+1)/3=2/3 (0+1)/3=1/3 - (1+2)/3=1 (0+2)/3=2/3 (0+2)/3=2/3

Comentarios IHC Baixos requisitos de memoria e processamento Uma hipoteses Sensibilidade a ordem no treinamento, maior quantidade de instâncias de treinamento para converger Menos sensitivo a ruido

Exercicios

Indução de Conceitos Competitivos

Indução de Conceitos Competitivos Protótipos Tarefa dado um conjunto de instâncias pre-classificadas encontrar uma descrição intencional um conjunto de protótipos

Indução de Conceitos Competitivos Esquemas competitivos não podem ser representados isoladamente A extensão de um conceito depende de sua descrição e da dos outros O operador típico é o calculo da media das instâncias de treinamento. A descrição especifica a tendência central das instâncias

Aprendizado baseado em Instâncias Guardam instâncias específicas ao invés de uma descrição abstrata Protótipos conjunção de pares atributos valor

Protótipos A B Peso Altura D C

Protótipos Usar protótipos para classificação é um processo de três passos: Dada uma instância I, calcula-se sua distância a cada protótipo distância euclidiana, distância de hamming Usa-se o resultado para classificar a instância, o protótipo mais perto

Método média das Instâncias Realizar a média das instâncias para encontrar o protótipo de cada classe Para determinar o valor pi de um atributo para um protótipo (numérico) pi= 1/n  xij (j=1,n)

Método incremental Ao encontrar uma instância de uma classe nova, guarde esta instância como protótipo Quando observar uma instância de uma classe conhecida, recalcule o protótipo para cada atributo i  pi= (xi-pi)/n+1 para atributos nominais, escolha o valor mais frequente

Método média das Instâncias Em termos de eficiência e elegância é um dos melhores pouca expressão representacional linhas de fronteiras

Método dos Pesos Um dos problemas do método anterior é tratar todos os atributos de forma equivalente Se os atributos tem escalas diferentes normalizar Alguns atributos tem maior importância

Relevância dos atributos Peso - - Peso Altura + + + - + + - + - - Altura Altura 0.93 e peso 0.68 Pesos de atributos iguais

Métrica de distância  i wi (pi-xi)2 wi ? wi = 1 - 1/n( (k=1,c) j=1,nk pki - xji) n = número total de instâncias de treinamento nk = número de instâncias para a classe c

Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico se tratará da indução de descrições disjuntivas (v)

Múltiplas regiões Peso + + - - + + - + + + Altura

Construção de listas de decisão

Construção de listas de decisão Forma normal disjuntiva FND combina um conjunto de descrições D1,D2,..Dn em uma disjunção {D1vD2v..Dn } as vezes mais de uma classe "match"uma instância criar descrições mutualmente exclusivas precedência, lista ordenada

A tarefa de indução disjuntiva Dado: Um conjunto de instâncias de treinamento, cada uma com sua classe associada Encontrar: Uma descrição disjuntiva que, corretamente classifique instâncias não observadas Ao menos para algumas representações, o espaço de FND é parcialmente ordenado (G->S), mas o fator de ramificação é muito grande

Aprendizado não-incremental Dividir e Conquistar (NDC) Tarefa de discriminar entre duas classes construir a FND de uma classe e usar a outra como default. Tecnicamente o resultado é uma lista de decisão.

NDC Entrada: Pset, conjunto de instâncias + Nset, conjunto de instâncias - FND uma disjunção de uma descrição de uma única região Saída: Uma disjunção de uma única região Nivel-Top chamada: NDC(Pset,Nset,{}) Procedimento NDC(Pset,Nset,FND) Se Pset esta vazio Então retorne FND CC Encontre uma região D que cobra algumas instâncias em Pset e não em Nset, FND=FND+D, Pset=Pset-{D->} Retorne NDC(Pset,Nset,DNF)

NDC usando HSG Peso Peso + + + + - - - + - + - - + + - - Altura Altura

MDC NDC é projetado para inducir expressões para uma única classe MDC utiliza NDC como bloco de construção para mais de duas classes

MDC Entrada: Cset é conjunto dos nomes das classes, Iset é o conjunto das instâncias de treinamento. Saída: uma lista de decisão Procedimento MDC(Cset,Iset) Rule-set = {} Para cada Classe em Cset, Pset = {i ÎIset e i Î Classe}, Nset = {i ÎIset e i Ï Classe}, FND = NDC(Pset,Nset,{}). Para cada termo D em FND, Rule-set =Rule-set + Se D então Classe Elimine possiveis conflitos entre descrições de classe, retorne Rule-set

Indução Incremental usando Dividir para conquistar (IDC) Utiliza ideias de Hill Climbing Guarda uma única hipoteses em memoria (um conjunto de termos lógicos disjuntivo) Guarda as k últimas instâncias de treinamento, para avaliar as hipoteses Revisa suas hipoteses somente quando realiza um erro de classificação IDC utiliza a função de avaliação para escolher

Revisões em IDC Erro de classificação de uma instância positiva, generalizar a hipoteses modificar um termo da FND; remover um teste booleano, nominal ou características numericas, Aumentar o tamanho do retangulo ou mudanças nos pesos Como a hipoteses pode ter multiples termos, IDC deve aplicar generalização a cada um deles Outra alternativa envolve em adicionar um termo novo (a descrição da instância ou a descrição mais geral que não case com os exemplos negativos)

Revisões em IDC Erro de classificação de uma instância negativa, especializar a hipoteses modificar cada termo da FND que case com a instância; adicionar um teste booleano, nominal ou características numericas, diminuir o tamanho do retangulo ou mudanças nos pesos Outra alternativa envolve em eliminar um termo

Algoritmo IDC

Função de Avaliação Incluir uma medida da simplicidade da expresão e de precisão simplicidade 1/t , t número de termos precisão a = (Pc + N~c)/k F = a + 1/t ou F = (1-w)a + w 1/t , w entre 0 e 1

Comportamento de IDC + 1/1+1/1=2 3/4+1/1=7/4 + 4/4+1/2=3/2 + 2/2+1/1=2 V 2/3+1/1=5/3 - 4/4+1/2=3/2 + V

Problemas Métodos que utilizam "Hill Climbing" possuem baixos requisitos de memoria e processamento Eles consideram somente uma hipoteses Sensibilidade a ordem das instâncias de treinamento, maior número de casos para convergência Pode não converger e em ambiente com ruido podem abandonar sua boas hipoteses

Indução de listas de decisão por excepção NEX O método dividir e conquistar constrõe a lista de forma top-down, adicionando o primeiro termo na lista e logo o segundo... Pode-se operar na direção oposta, NEX inicializa sua lista criando uma classe default, baseado na classe mais frequente Em cada iteração, NEX aplica sua lista aos casos restantes para verificar os classificados erroneamente

NEX Nex seleciona a classe mais comun neste conjunto, chama uma subrutina para inducir a descrição mais específica que cobre os membros desclassificados desta classe, e adiciona a regra na frente da lista de decisão Continua-se desta forma até que a lista classifique todas as instâncias de treinamento.

Fronteiras criadas por NEX Peso Peso + + + + - - _ _ + + _ _ _ _ + + + + + + _ _ _ _ + + + + Altura Altura

Algoritmo NEX

Indução de disjunções competitivas NDC, utiliza uma tecnica competitiva simples, para criar um conjunto inicial de descrições NDC utiliza isto para classificar o conjunto. O algoritmo remove os casos problematicos e os coloca em "pseudo classes" NDC produz um novo conjunto de descrições Repete-se o processo, até que se tenha um conjunto que corretamente classifique

Algoritmo NDC

NDC e protótipos Peso Altura + + + + - - + + - -