Técnicas de Amostragem :
como avaliar a acurácia de
um classificador
AULA 8 – Parte I
Data Mining
Sandra de Amo
Holdout

Método Holdout





Considera-se um banco de dados de amostras
Divide-se em 2 partes : D1 e D2
D1 é 2 vezes maior do que D2
Acurácia= número de tuplas de D2 bem classificadas
dividido pelo total de tuplas de D2
Subamostragem Randômica



Variação do método Holdout
Método Holdout é repetido k vezes
Acurácia geral = média das acurácias em cada rodada
Cross-Validation

Validação Cruzada (k-fold Cross-validation)






Dados iniciais são particionados em k partes D1,..., Dk de tamanhos
aproximados
Treinamento e testes são executados k vezes.
Em cada iteração i (i=1...k) Di é escolhido para teste e o restante das
partições são utilizadas como treinamento.
Cada tupla de amostra é utilizada o mesmo número de vezes como
tupla de treinamento e uma única vez como tupla de teste.
Acurácia de um classificador = número total de tuplas bem
classificadas nas k iterações dividido pelo total de tuplas no banco de
dados original.
Acurácia de um preditor = Soma dos erros dividido nas k iterações
dividido pelo total de tuplas no banco de dados original.
Variantes do Cross-validation

Leave-one-out




Caso especial de k-fold cross validation
Cada Di tem um único elemento
Em cada iteração somente 1 tupla é utilizada para teste.
Cross-validation estratificada


As “folhas” D1, ... , Dk são tais que a distribuição das
classes em cada folha é aproximadamente igual à
distribuição nos dados iniciais.
Ex: se em D a proporção de tuplas das classes C1 e C2 é
de 2 para 1 então esta proporção é mantida em cada
“folha” Di.
Bootstrap

A cada vez que uma tupla é selecionada para
participar do grupo de treinamento, ela volta
novamente para o banco inicial, podendo ser
novamente selecionada na próxima vez.

Bancos de treinamento e testes podem conter
tuplas repetidas.
.632 Bootstrap




Banco de dados original com d tuplas
Os sorteios de tuplas são realizados d vezes.
Ao final de d sorteios temos um banco D1 de
treinamento (boostrap sample) e um banco D2
de testes.
A amostra de treinamento D1 tem exatamente
d elementos.
.632 Bootstrap


É bem provável que alguma tupla t do banco original
ocorre repetida em D1.
Qual a probabilidade de uma tupla não estar no
banco de treinamento D1 no final dos d sorteios ?






(1 – 1/d)d
lim (1 – 1/d)d = 1/e (para d  infinito)
e = 2.718
1/e = 0,368
36,8% das tuplas não são escolhidas: formam o conj. D2
63,2% das tuplas são escolhidas: formam o boostrap D1
Acurácia medida com o Boostrap





Repete-se o processo de amostragem k vezes
Em cada vez construimos D1 e D2 e medimos a acurácia do
classificador (ou preditor) M
Acc(Mi)test-set = acurácia de M calculada na iteração i, com
D2 como teste e D1 como treinamento
Acc(Mi)train-set = acurácia de M calculada na iteração i, com
dados originais como teste e D1 como treinamento.
Acurácia(M) =
k
Σ (0.632*Acc(Mi)test-set + 0.368*Acc(Mi)train-set )
i=1
Um outro classificador Eager:
Redes Neurais
AULA 8 – Parte II
Data Mining
Sandra de Amo
Redes Neurais
I1
Conjunto de unidades
I2
2
input
I3
3
w32
Camada de
Input
11/5/2015
output
Camada
Camada de
Intermediária Output
Mestrado em Ciencia da Computacao
Conceito de Neurônio
Artificial
Cada vértice de uma camada é
ligado a todos os vértices da
camada seguinte.
10
Como definir a topologia da rede ?






Topologia: número de camadas intermediárias, número de
neurônios nas camadas intermediárias e inicialização dos
pesos e tendências.
Topologia ideal : Processo de tentativa e erro
Número de camadas intermediárias pode ser maior do que 1
Mais comum: uma única camada intermediária
Se a rede treinada é julgada não confiável, repete-se o
processo de treinamento com outra topologia e outros pesos e
tendências iniciais
Diversas técnicas automáticas foram propostas para se
encontrar a topologia ideal da rede (produzindo os resultados
com maior acuracia).
11/5/2015
Mestrado em Ciencia da Computacao
11
Camadas de Input e de Output

Input

Se atributos não são categorizados



Um neurônio para cada atributo
Valores dos atributos são normalizados entre 0 e 1.
Se atributos são categorizados


NAi = número de valores do atributo Ai
Total de neurônios da camada inicial =
NA1 + NA2 + NA3 + ... + NAm
onde {A1, A2, ..., Am} = conjunto dos atributos

11/5/2015
Mestrado em Ciencia da Computacao
12
Camadas de Input e de Output
Output



Número de neurônios = número de classes
Se número de classes = 2




11/5/2015
número de neurônios = 1
Basta um único neurônio na camada de output para o
treinamento da rede.
Supõe-se que este neurônio corresponde à classe 1
Se a amostra está na classe 0, então o output correto
deveria ser 0. Se a amostra está na classe 1, o output
correto deveria ser 1.
Mestrado em Ciencia da Computacao
13
Rede Neural e Classificação
x0
x1
w0j
w1j
∑
+ θj
tendência
w2j
INPUT Ij
na unidade j
x2
Pesos
Outputs da
Camada precedente
Média ponderada
dos outputs recebidos
Função de Ativação
Output Oj
11/5/2015
Mestrado em Ciencia da Computacao
14
Função de Ativação



Serve para normalizar os outputs que são
calculados em cada neurônio.
É uma função não-linear, diferenciável.
Normalmente, utiliza-se a função:
f(x) = 1/(1+ex)
cuja derivada satisfaz
f ’(x) = f(x) (1 – f(x))
11/5/2015
Mestrado em Ciencia da Computacao
15
Backpropagation – Fase de IDA
I1
C1
δ1
1?
I2
C2
δ2
0?
I3
C3
δ3
0?
Classe C1
11/5/2015
Mestrado em Ciencia da Computacao
16
Backpropagation – Fase de Volta
I1
I2
C1
ww1212
ww2222
ww3232
w12
w22
w32
I3
C3
Ajusta pesos
11/5/2015
C2
Ajusta pesos
Mestrado em Ciencia da Computacao
17
Condições de Parada

Epoca = tempo necessário para que todas as
amostras sejam analisadas.

Processo se repete até que:



11/5/2015
Os reajustes dos pesos são “muito pequenos”.
Só uma “pequena” porcentagem de amostras foi
mal classificada pela rede.
Um número “máximo” de épocas foi atingido.
Mestrado em Ciencia da Computacao
18
Backpropagation

Objetivo: obter uma rede neural treinada

Centenas de milhares de épocas são necessárias
para a convergência dos pesos.

Teoricamente, convergência não é garantida.

Na prática, os pesos convergem depois de um
grande número de épocas.
11/5/2015
Mestrado em Ciencia da Computacao
19
Ida : Como são calculados os outputs
I1
I2
w1i
w2i
i
Oi
w3i
I3
Oi = F( w1i*I1 + w2i*I2 + w3i*I3 + θi )
F(x) = 1/(1+e-x)
11/5/2015
Mestrado em Ciencia da Computacao
20
Volta: Cálculo dos Erros
 Erro em unidade da última camada
i
Ei = δi(1- δi)(Ti – δi)
 Erro em unidade da camada intermediária
E’i = Oi(1- Oi)(E1*wi1+E2*wi2+E3wi3)
11/5/2015
Mestrado em Ciencia da Computacao
δi Compara
com Ti =
classe
verdadeira
0, 1, 2 ..?
wi1
1
i wi2
2
wi3
3
21
Reajustes dos pesos e tendências
Novo peso wij
wij
i
j
Novo-wij = Velho-wij + λ EjOi
Nova Tendência θj
Novo-θj = Velho- θj + λ Ej
λ = Taxa de Aprendizado
λ(t) = 1/t
t = iteração atual
Evita que o processo fique parado num “mínimo local”
11/5/2015
Mestrado em Ciencia da Computacao
22
Exemplo
1
1
w14
4
w24
0
W14
w46
6
2
w34
1
Amostra classificada na classe C = 1
3
W15
5 w56
w14
W24
W25
W34
W35
W46
W56
θ4
θ5
θ6
0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1
11/5/2015
Mestrado em Ciencia da Computacao
23
Exemplo

Ida
Unidade

Input
Output
4
0.2 + 0 – 0.5 – 0.4 = - 0.7
1/1+e0.7 = 0.332
5
-0.3 + 0 + 0.2 + 0.2 = 0.1
1/1+e-0.1 = 0.525
6
(-0.3)(0.332) – (0.2)(0.525) + 0.1 = - 0.105 1/1+e0.105 = 0.474
Volta
11/5/2015
Unidade
Erro
6
(0.474)(1 - 0.474)(1 - 0.474) = 0.1311
5
(0.525)(1 - 0.525)( 0.1311)(-0.2) = -0.0065
4
(0.332)(1 - 0.332)( 0.1311)(-0.3) = -0.0087
Mestrado em Ciencia da Computacao
24
Exemplo : Erros

E6 = (0.474)(1-0.474)(1-0.474) = 0.1311

E5 = (0.525)(1-0.525)(0.1311)(-0.2) = -0.0065

E4 = (0.332)(1-0.332)(0.1311)(-0.3) = -0.0087
11/5/2015
Mestrado em Ciencia da Computacao
25
Ex: Ajustes dos Pesos e Tendências
λ = 0.90
Antigo
Valor Reajustado
W46 = -0.3
-0.3 + (0.90)(0.1311)(0.332) = -0.261
w56 = -0.2
-0.2 + (0.90)(0.1311)(0.525) = -1.138
w14 = 0.2
0.2 + (0.90)(-0.0087)(1) = 0.192
w15 = -0.3
-0.3 + (0.90)(-0.0065)(1) = -0.306
w24 = 0.4
0.4 + (0.90)(-0.0087)(0) = 0.4
w25 = 0.1
0.1 + (0.90)(-0.0065)(0) = 0.1
w34 = -0.5
-0.5 + (0.90)(-0.0087)(1) = -0.508
w35 = 0.2
0.2 + (0.90)(-0.0065)(1) = 0.194
θ6 = 0.1
0.1 + (0.90)(1.1311) = 0.218
θ5 = 0.2
0.2 + (0.90)(-0.0065) = 0.194
θ4 = -0.4
-0.4 + (0.90)(-0.0087) = -0.408
11/5/2015
Mestrado em Ciencia da Computacao
26
Ajustes dos pesos e tendências :
Modo Padrão

Modo Padrão (ou case updating)
 A cada nova amostra analisada é feito o ajuste dos pesos e
tendências na fase de volta.
 Os pesos e tendências atualizados são utilizados na fase
da ida para a amostra seguinte.
 Em cada época os pesos e tendências são ajustados N
vezes, onde N = total de amostras.
11/5/2015
Mestrado em Ciencia da Computacao
27
Ajustes dos pesos e tendências :
Modo Batch


Modo Batch (ou epoch updating)

Para cada amostra armazena-se os erros Ej obtidos na fase da volta,
para cada neurônio Nj (das camadas de output e intermediárias).

No final da época (quando todas as amostras foram analisadas),
calcula-se para cada neurônio intermediário ou da camada de output a
média dos erros calculados em cada iteração.

Utiliza-se estes erros médios dos neurônios para ajustar os pesos e
tendências no final da época.

Assim em cada época os pesos e tendências são ajustados uma única
vez.
Análise: O modo padrão é o mais utilizado na prática, produz resultados
mais acurados do que o modo batch.
11/5/2015
Mestrado em Ciencia da Computacao
28
Classificação por Backpropagation



Input: um banco de dados de treinamento
(amostras)
Output: uma rede neural treinada
Problema: Como extrair “regras de
classificação” de uma rede neural treinada ?
11/5/2015
Mestrado em Ciencia da Computacao
29
Vantagens e Desvantagens





Fase de treinamento demorada
Muitos parâmetros, determinados empiricamente
Fraca interpretabilidade
Alta tolerância a ruídos
Resultados Confiáveis
11/5/2015
Mestrado em Ciencia da Computacao
30
Redes Neurais como classificadores



Classificadores robustos – boa acurácia mesmo em
presença de ruídos.
Acurácia muito superior à acurácia de classificadores
baseados em árvores de decisão.
Problemas


Processo lento, exige diversas tentativas para encontrar
topologia adequada.
Resultados da classificação = uma rede treinada.


11/5/2015
Pouca utilidade num ambiente de grande volume de dados
Importante que o resultado seja em forma de regras
Busca de tuplas satisfazendo as condições de uma regra pode ser
feita usando SQL.
Mestrado em Ciência da Computação
31
Poda de um rede neural – por que ?



Uma rede treinada é totalmente conectada
Muitos nós e muitos links !
Impossível de extrair regras concisas que



sejam úteis e significativas para os usuários
possam facilmente ser transformadas em consultas de uma
linguagem de banco de dados
Fase da Poda: Objetivos


11/5/2015
remoção de links e nós sem afetar a taxa de erro da rede.
obtenção de uma rede com um número pequeno de nós e
links, dos quais é possível extrair-se regras concisas e
compreensíveis para o usuário final.
Mestrado em Ciência da Computação
32
Referências

S.M.Weiss, C.A. Kulikowski: Computer Systems that Learn: Classification and Prediction
Methods from Statistics, Neural Nets, Machine Learning and Expert Systems. San Mateo,
CA, Morgan Kaufmann, 1991.
H. Lu, R. Setiono, H. Liu: NeuroRule: A Connectionist Approach to Data Mining. VLDB
1995, pp. 478-489.
http://www.vldb.org/conf/1995/P478.PDF

Rudy Setiono - A Penalty-function Approach for Pruning Feedforward Neural Networks
(1997). Neural Computation, 1997, Vol. 9, pages 185-204.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.5249

Leitura interessante: Rede Neural simula o modelo de aprendizagem do cérebro humano ??

Asin Roy: Artificial Neural Networks: A Science in Trouble. SIGKDD Explorations, Vol. 1,
Issue 2, Jan. 2000, 33-38.
http://www.sigkdd.org/explorations/issues/1-2-2000-01/roy.pdf
11/5/2015
Mestrado em Ciência da Computação
33
Download

Slides - Sandra de Amo