Title: Constru
1Construçã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)
2Múltiplas regiões
Peso
- - - -
-
Altura
3Construção de listas de decisão
4Construçã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
5A 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-gtS), mas o fator
de ramificação é muito grande
6Aprendizado 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.
7NDC
- 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, FNDFNDD,
PsetPset-D-gt - Retorne NDC(Pset,Nset,DNF)
8NDC usando HSG
Peso
Peso
-
-
-
-
-
-
-
-
Altura
Altura
9MDC
- NDC é projetado para inducir expressões para uma
única classe - MDC utiliza NDC como bloco de construção para
mais de duas classes
10MDC
- 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
11Indução Incremental usandoDividir 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
12Revisõ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)
13Revisõ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
14Algoritmo IDC
15Funçã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 Nc)/k
- F a 1/t ou F (1-w)a w 1/t , w entre 0 e 1
16Comportamento de IDC
3/41/17/4
4/41/23/2
2/21/12
V
2/31/15/3
-
4/41/23/2
V
17Problemas
- 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
18Induçã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
19NEX
- 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.
20Fronteiras criadas por NEX
Peso
Peso
-
-
_
_
_
_
_
_
_
_
_
_
Altura
Altura
21Algoritmo NEX
22Induçã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
23Algoritmo NDC
24NDC e protótipos
25Aprendizado Baseado em Instancias
26Introduçã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.
27IBL
- 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.
28IBL
- IBL pode utilizar uma representação simbólica
mais complexa para as instâncias -gt Raciocínio
baseado em Casos. - O custo de classificar uma nova instância é alto
- Indexação eficiente dos exemplos de teinamento
29Aprendizado K-Nearest Neighbor
- O método IBL mas basico é o algoritmo k-nearest
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.
30Distâ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)(?r1,n (ar(Xi)-ar(Xj))2)1/2
- Esta abordagem é apropriada tanto para funções
alvo discretas ou reais.
31Algoritmo 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.
32Classificaçã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) lt- argmax )(?i1,k a(r,f(Xi))
- Onde a(a,b)1 se ab
- Caso contrario a(a,b)0
33Numero de vizinhos
1 vizinho classifica como 5 vizinhos
classificam como -
34Regressão
- Classificação no caso de valores reais
- f(Xq) (?i1,k,f(Xi))/k
35Algoritmo 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) lt- argmax )(?i1,kwi a(r,f(Xi))
- Voto de acordo com a distância
- Wi 1/ d(Xq,Xi)2
- Se Xi Xq -gt f(Xq) f(Xi)
36Continuo
- f(Xq) (?i1,k,wi f(Xi))/ ?i1,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
37Regressã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)
38Regressão Linear
- f(X) w0 w1 a1(x) ..... wnan(x)
- E ½ ?i1,k,( f(X) fe(x))2
- ?W? ?i1,k,( f(X) fe(x)) an(x)
39Problemas 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.
40Comentarios 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
41Exercicios
42Indução de Conceitos Competitivos
43Induçã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
44Induçã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
45Aprendizado 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
46Protótipos
47Protó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
48Mé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 (j1,n)
49Mé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)/n1
- para atributos nominais, escolha o valor mais
frequente
50Método média das Instâncias
- Em termos de eficiência e elegância é um dos
melhores - pouca expressão representacional
- linhas de fronteiras
51Mé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
52Relevância dos atributos
Peso
-
- -
Altura
Altura 0.93 e peso 0.68
Pesos de atributos iguais
53Métrica de distância
- ? ?i wi (pi-xi)2
- wi ?
- wi 1 - 1/n( ?(k1,c) ?j1,nk ?pki - xji?)
- n número total de instâncias de treinamento
- nk número de instâncias para a classe c