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 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, NDC usando HSG Peso Pes o + + + + - - + + 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 =Ruleset + Se D então Classe 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 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 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 0e1 Comportamento de IDC + + 1/1+1/1= 2 2/2+1/1= 2 + 3/4+1/1=7/ 4 + 4/4+1/2=3/ 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 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 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 Fronteiras criadas por NEX Pes o Pes o + + + - + _ + _ + _ _ + + + _ + 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 Algoritmo NDC NDC e protótipos Pes o Pes o - - - - - - + + - - + + + + + + + + + + Altura Altura 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 métodos baseados em instâncias guardam os exemplos de treinamento • A generalização é posposta até que uma nova instância deva ser classificada • Cada vez que uma nova instância é encontrada, seus relacionamentos com os exemplos previamente guardados é examinado para atribuir um valor de função alvo. IBL • IBL, instance based learning • Inclui os métodos de vizinho mais próximo, raciocínio baseado em casos • IBL é um método chamado lazy • IBL é utilizado em funções alvo com valores discreto ou valores reais. IBL • IBL pode utilizar uma representação simbólica mais complexa para as instâncias -> Raciocínio baseado em Casos. • O custo de classificar uma nova instância é alto • Indexação eficiente dos exemplos de teinamento Aprendizado K-Nearest Neighbor • O método IBL mas basico é o algoritmo knearest neighbor • Este algoritmo assume que todas as instâncias correspondem a um ponto no espaço n-dimensional Rn • O vizinho mais próximo de uma instância é definido em termos da instância euclidiana. Distância Euclidiana • Seja a instância descrita por – (a1(x),a2(x),.........an(x)) • A distância entre 2 instâncias Xi e Xj – d(Xi,Xj)=(∑r=1,n (ar(Xi)-ar(Xj))2)1/2 Esta abordagem é apropriada tanto para funções alvo discretas ou reais. Algoritmo para funções Alvo Discretas • Neste caso o valor f(xq) retornado é o f(xq) mais freqüente entre os k vizinhos de f(xq). • Algoritmo – Fase de treinamento: para cada exemplo de treinamento (x,f(x)), adicione o exemplo a lista de exemplos. Classificação • Dado uma instância Xq a ser classificada • Sejam X1...Xk as instâncias de treinamento mais próximas de Xq • Retorne – F(Xq) <- argmax )=(∑i=1,k α(r,f(Xi)) • Onde α(a,b)=1 se a=b • Caso contrario α(a,b)=0 Numero de vizinhos 1 vizinho classifica como + 5 vizinhos classificam como - Regressão • Classificação no caso de valores reais • f(Xq) =(∑i=1,k,f(Xi))/k Algoritmo Nearest Neighbor Distâncias Ponderadas • Um refinamento obvio do algoritmo é atribuir pesos a cada k-vizinho de acordo a sua distância a instância a classificar Xq • Ex: valores discretos – F(Xq) <- argmax )=(∑i=1,kwi α(r,f(Xi)) – Voto de acordo com a distância – Wi = 1/ d(Xq,Xi)2 – Se Xi= Xq -> f(Xq) = f(Xi) Continuo • f(Xq) =(∑i=1,k,wi f(Xi))/ ∑i=1,k,wi – Normalizar os pesos – K = todas as instâncias ou constante • Obs: A introdução de pesos no algoritmo o faz um método altamente efetivo para vários problemas práticos • É robusto a dados com ruído e efetivo com grandes bases de treinamento • É sensível ao conjunto de atributos Regressão Localmente Ponderada • Esta abordagem usa exemplos de treinamento ponderado por sua distância para formar uma aproximação a f. • Ex: podemos usar uma função linear, quadrática, rede neural ou alguma outra função. • Dada uma instância a classificar Xq, a abordagem constrõe uma aproximação f usando os vizinhos de Xq. • Esta aproximação é utilizada para calcular f(Xq) Regressão Linear • f(X) = w0 + w1 a1(x)+ .....+ wnan(x) • E = ½ ∑i=1,k,( f(X) – fe(x))2 • ∆W=ŋ ∑i=1,k,( f(X) – fe(x)) an(x) Problemas de Dimensionalidade • Imagine instâncias descritas por 20 atributos, mais somente 2 são relevantes • Problemas de recuperação, kd-tree, as instâncias são guardadas nas folhas da arvore, com as instâncias vizinhas no no perto dele. Os nos internos da arvore ordenam a nova instância e a classificam testando seus atributos. 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 preclassificadas – 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 Peso Peso C B A B Altura A D Altura 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 Pesos de atributos iguais ++ - + -- Altura Altura 0.93 e peso 0.68 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