A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Técnicas de Amostragem : como avaliar a acurácia de um classificador

Apresentações semelhantes


Apresentação em tema: "Técnicas de Amostragem : como avaliar a acurácia de um classificador"— Transcrição da apresentação:

1 Técnicas de Amostragem : como avaliar a acurácia de um classificador
AULA 8 – Parte I Data Mining Sandra de Amo

2 Holdout Método Holdout Subamostragem Randômica
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 2

3 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. 3

4 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. 4

5 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. 5

6 .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. 6

7 .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 7

8 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) = Σ (0.632*Acc(Mi)test-set *Acc(Mi)train-set ) k i = 1 8

9 Um outro classificador Eager: Redes Neurais
AULA 8 – Parte II Data Mining Sandra de Amo

10 Mestrado em Ciencia da Computacao
Redes Neurais I1 Conjunto de unidades I2 2 input output w32 I3 3 Conceito de Neurônio Artificial Camada de Input Camada Intermediária Camada de Output Cada vértice de uma camada é ligado a todos os vértices da camada seguinte. 4/2/2017 Mestrado em Ciencia da Computacao 10 10

11 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). 4/2/2017 Mestrado em Ciencia da Computacao 11 11

12 Camadas de Input e de Output
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 + NA NAm onde {A1, A2, ..., Am} = conjunto dos atributos 4/2/2017 Mestrado em Ciencia da Computacao 12 12

13 Camadas de Input e de Output
Número de neurônios = número de classes Se número de classes = 2 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. 4/2/2017 Mestrado em Ciencia da Computacao 13 13

14 Rede Neural e Classificação
w0j x0 + θj w1j INPUT Ij na unidade j x1 tendência w2j x2 Pesos Média ponderada dos outputs recebidos Função de Ativação Outputs da Camada precedente Output Oj 4/2/2017 Mestrado em Ciencia da Computacao 14 14

15 Mestrado em Ciencia da Computacao
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)) 4/2/2017 Mestrado em Ciencia da Computacao 15 15

16 Backpropagation – Fase de IDA
δ1 1 ? I1 C1 I2 δ2 0 ? C2 I3 δ3 C3 0 ? Classe C1 4/2/2017 Mestrado em Ciencia da Computacao 16 16

17 Backpropagation – Fase de Volta
w12 w12 w12 w12 w22 w22 I2 w22 w22 C2 w32 w32 w32 w32 I3 C3 Ajusta pesos Ajusta pesos 4/2/2017 Mestrado em Ciencia da Computacao 17 17

18 Mestrado em Ciencia da Computacao
Condições de Parada Epoca = tempo necessário para que todas as amostras sejam analisadas. Processo se repete até que: 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. 4/2/2017 Mestrado em Ciencia da Computacao 18 18

19 Mestrado em Ciencia da Computacao
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. 4/2/2017 Mestrado em Ciencia da Computacao 19 19

20 Ida : Como são calculados os outputs
w1i Oi w2i I2 i w3i I3 Oi = F( w1i*I1 + w2i*I2 + w3i*I3 + θi ) F(x) = 1/(1+e-x) 4/2/2017 Mestrado em Ciencia da Computacao 20 20

21 Volta: Cálculo dos Erros
Compara com Ti = classe verdadeira 0, 1, 2 ..? Erro em unidade da última camada i δi Ei = δi(1- δi)(Ti – δi) Erro em unidade da camada intermediária wi1 1 i wi2 E’i = Oi(1- Oi)(E1*wi1+E2*wi2+E3wi3) 2 wi3 3 4/2/2017 Mestrado em Ciencia da Computacao 21 21

22 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” 4/2/2017 Mestrado em Ciencia da Computacao 22 22

23 Mestrado em Ciencia da Computacao
Exemplo 1 1 w14 Amostra classificada na classe C = 1 w24 4 w46 2 6 w34 5 w56 1 3 w14 W14 W15 W24 W25 W34 W35 W46 W56 θ4 θ5 θ6 0.2 -0.3 0.4 0.1 -0.5 -0.2 -0.4 4/2/2017 Mestrado em Ciencia da Computacao 23 23

24 Mestrado em Ciencia da Computacao
Exemplo Ida Volta Unidade Input Output 4 – 0.5 – 0.4 = - 0.7 1/1+e0.7 = 0.332 5 = 0.1 1/1+e-0.1 = 0.525 6 (-0.3)(0.332) – (0.2)(0.525) = 1/1+e0.105 = 0.474 Unidade Erro 6 (0.474)( )( ) = 5 (0.525)( )( )(-0.2) = 4 (0.332)( )( )(-0.3) = 4/2/2017 Mestrado em Ciencia da Computacao 24 24

25 Mestrado em Ciencia da Computacao
Exemplo : Erros E6 = (0.474)( )( ) = E5 = (0.525)( )(0.1311)(-0.2) = E4 = (0.332)( )(0.1311)(-0.3) = 4/2/2017 Mestrado em Ciencia da Computacao 25 25

26 Ex: Ajustes dos Pesos e Tendências λ = 0.90
Antigo Valor Reajustado W46 = -0.3 (0.90)(0.1311)(0.332) = w56 = -0.2 (0.90)(0.1311)(0.525) = w14 = 0.2 0.2 + (0.90)( )(1) = 0.192 w15 = -0.3 (0.90)( )(1) = w24 = 0.4 0.4 + (0.90)( )(0) = 0.4 w25 = 0.1 0.1 + (0.90)( )(0) = 0.1 w34 = -0.5 (0.90)( )(1) = w35 = 0.2 0.2 + (0.90)( )(1) = 0.194 θ6 = 0.1 0.1 + (0.90)(1.1311) = 0.218 θ5 = 0.2 0.2 + (0.90)( ) = 0.194 θ4 = -0.4 (0.90)( ) = 4/2/2017 Mestrado em Ciencia da Computacao 26 26

27 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. 4/2/2017 Mestrado em Ciencia da Computacao 27 27

28 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. 4/2/2017 Mestrado em Ciencia da Computacao 28

29 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 ? 4/2/2017 Mestrado em Ciencia da Computacao 29 29

30 Vantagens e Desvantagens
Fase de treinamento demorada Muitos parâmetros, determinados empiricamente Fraca interpretabilidade Alta tolerância a ruídos Resultados Confiáveis 4/2/2017 Mestrado em Ciencia da Computacao 30 30

31 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. 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. 4/2/2017 Mestrado em Ciência da Computação 31 31

32 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 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. 4/2/2017 Mestrado em Ciência da Computação 32 32

33 Mestrado em Ciência da Computação
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 Rudy Setiono - A Penalty-function Approach for Pruning Feedforward Neural Networks (1997). Neural Computation, 1997, Vol. 9, pages 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, 4/2/2017 Mestrado em Ciência da Computação 33 33


Carregar ppt "Técnicas de Amostragem : como avaliar a acurácia de um classificador"

Apresentações semelhantes


Anúncios Google