Apresentação Carlos Bol Nelson Alberti da Rosa

56
Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting Mahesh V. Joshi Ramesh C. Agarwal Vipin Kumar Apresentação Carlos Bol Nelson Alberti da Rosa CMP259 – Porto Alegre 29/05/2008

description

Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting Mahesh V. Joshi Ramesh C. Agarwal Vipin Kumar. Apresentação Carlos Bol Nelson Alberti da Rosa. CMP259 – Porto Alegre 29/05/2008. Agenda. Objetivo Introdução Overview dos Algoritmos (AdaCost e PNrule) - PowerPoint PPT Presentation

Transcript of Apresentação Carlos Bol Nelson Alberti da Rosa

Page 1: Apresentação Carlos Bol Nelson Alberti da Rosa

Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting

Mahesh V. JoshiRamesh C. AgarwalVipin Kumar

Apresentação

Carlos BolNelson Alberti da RosaCMP259 – Porto Alegre 29/05/2008

Page 2: Apresentação Carlos Bol Nelson Alberti da Rosa

2

Agenda Objetivo Introdução Overview dos Algoritmos (AdaCost e PNrule) Métricas para Avaliação de modelos PNrule

• Objetivo• Estratégia• 2 Fases• Aprendizado (fases e distorções)• Aplicação• Simplificação• Regras• Algoritmo• Escoragem• Tornando Sensível a Custo• Comparando Algoritmos

Referências

Page 3: Apresentação Carlos Bol Nelson Alberti da Rosa

3

Objetivo

• Construir modelos para distinguir uma classe rara dentro de um domínio desbalanceado.

• Classes raras, são eventos que ocorrem muito raramente em grandes volumes de itens.

Page 4: Apresentação Carlos Bol Nelson Alberti da Rosa

4

Introdução

Domínios:Detecção de fraudeDetecção de invasão de redeCategorização de textoMineração na WEB

Dados disponíveis de forma rotulada, bompara uso em métodos de classificação.

Page 5: Apresentação Carlos Bol Nelson Alberti da Rosa

5

Introdução

A métrica de avaliação significativa nesta área, no sentido de solucionar o problema deve refletir um equilíbrio entre Recall e Precision de uma determinada classe rara.

two-phase rule-induction algorithm PNrule

desacopla recall-precision

cost-sensitive Boosting algorithm AdaCost

enfatiza implicitamente recall-precision

Page 6: Apresentação Carlos Bol Nelson Alberti da Rosa

6

Introdução Boosting gera um conjunto de modelos (meta-

técnica)

Não meta-técnica produz um modelo único

Em muitos cenários, PNrule é comparável ou muito melhor que Boosting sob a perspectiva recall-precision

Mesmo se PNrule tiver performance comparável, ele será melhor nos domínios aonde fácil interpretação é necessária

Page 7: Apresentação Carlos Bol Nelson Alberti da Rosa

7

Overview dos algoritimos - Boosting

AdaBoost, SLIPPER, AdaCost, CSB1, CSB2, RareBoost

É um forte meta-classificador

Trabalha em iterações, cada vez aprendendo um modelo classificador via um “weak learner” em diferente distribuição de peso nos registros de treinamento.

Após cada iteração os pesos são atualizados

No fim, a predição é feita usando os classificadores utilizados em todas iterações aplicando um processo de votação de pesos.

Page 8: Apresentação Carlos Bol Nelson Alberti da Rosa

8

Overview dos algoritimos - PNRule

Dado um conjunto de dados de treinamento e uma classe alvo, o algoritmo executa um modelo binário de duas-fases na classe alvo.

PNrule executa um modelo disjuntivo de forma normal (DNF) consistindo em dois tipos de regras:

P-Rule prediz a presença da classe rara N-Rule prediz a ausência

Então os verdadeiros e falsos positivos cobertos por P-Rule são coletados, e a segunda fase N-phase executa as N-Rules para remover os falsos positivos.

A meta é implementar precisão enquanto mantém o recall em níveis aceitáveis.

Page 9: Apresentação Carlos Bol Nelson Alberti da Rosa

9

Exemplo ilustração- PNRule

Construindo um modelo de ataque intrusivo de rede do tipo: - Remote-to-local (r2l)

Pode ser determinado através de regras em atributos:

- tipo de protocolo = (tcp, udp, etc)- número de logins- tipo de serviço = (ftp, http, etc)

Mas algumas regras podem capturar Falsos Positivos...

Os Falsos Positivos devem ser removidos por regras de aprendizagem

- duração da conexão < 2s- bytes transferidos < 200

Page 10: Apresentação Carlos Bol Nelson Alberti da Rosa

10

Exemplo ilustração- PNRule

Habilidade PNrule em remover coletivamente Falsos Positivos N-rules

Page 11: Apresentação Carlos Bol Nelson Alberti da Rosa

11

Métricas para avaliação de Modelos

Acurácia: VP + VN x 100% n

Erro: FP + FN x 100% n

Especificidade: VN x 100% VN + FP

Page 12: Apresentação Carlos Bol Nelson Alberti da Rosa

12

Métricas para avaliação de Modelos

Abrangênciaou Recall: VP x 100%

VP + FN

Precisão: VP x 100%VP + FP

Page 13: Apresentação Carlos Bol Nelson Alberti da Rosa

13

PNrule

Atua sobre um espaço de aprendizado Os registros desse espaço possuem

atributos e um desses define sua categoria – chamado de atributo de classe

Trata espaços de múltiplas classes criando classificadores binários para cada uma das classes

Cria modelos baseados em regras As regras são condições sobre os atributos

dos registros

Page 14: Apresentação Carlos Bol Nelson Alberti da Rosa

14

PNrule Objetivo

Obter um modelo com um pequeno número de regras ( cardinalidade)

Que cubra um maior número de exemplos da classe alvo ( Cobertura)

Que atinja poucos exemplos fora da classe alvo ( Acurácia)

Page 15: Apresentação Carlos Bol Nelson Alberti da Rosa

15

PNrule Estratégia

Obtém as regras em um processo cíclico

Inicialmente com maior cobertura e acurácia

Em cada ciclo a acurácia é relaxada em favor da cobertura

Page 16: Apresentação Carlos Bol Nelson Alberti da Rosa

16

PNrule 2 Fases

> Primeira Fase: P - Positive Rule

Descobre regras que prevêem a presença da Classe Alvo.

> Segunda Fase: N - Negative Rule

Descobre regras que prevêem a ausência da Classe Alvo.

A união das Negative Rule com as Positive Rule tem o objetivo de eliminar os casos de falso positivo derivados das Positive Rules

Esse processo é repetido para cada uma das classes.

No Final os escores são consolidados em uma matrizde custo para obter-se uma decisão final.

Page 17: Apresentação Carlos Bol Nelson Alberti da Rosa

17

PNrule Aprendizado - 1.a fase

a) Representação dos dados de treinamento

C – Classe Alvo(+)

D – Outras(-) D

C

Page 18: Apresentação Carlos Bol Nelson Alberti da Rosa

18

PNruleAprendizado - 1.a fase

b) Descobre a regra Positiva com maior cobertura e acurácia

C – Classe Alvo(+)

D – Outras(-)

P0 – P-rule

D

C P 0

Page 19: Apresentação Carlos Bol Nelson Alberti da Rosa

19

PNruleAprendizado - 1.a fase

c) Remove os itens que suportam P0 e repete o processo com os restantes enquanto a cobertura e acurácia são altos (acima de um limiar)

C – Classe Alvo(+)

D – Outras(-)

P0 – P-rule 0

P1 – P-rule 1

P2 – P-rule 2

D

C P 0

P 1 P 2

Page 20: Apresentação Carlos Bol Nelson Alberti da Rosa

20

PNruleAprendizado - 1.a fase

d) Devido a escolha das regras P-rule serem baseadas no suporte, há alguns itens da classe D (-) que são classificados como da classe alvo;esses são referidos como FALSOS POSITIVOS

C – Classe Alvo(+)

D – Outras(-)

FP – Falso Positivo

D

CFP

FP

Page 21: Apresentação Carlos Bol Nelson Alberti da Rosa

21

PNrule Aprendizado - 2.a fase

e) União dos itens cobertos por todas as regras Px que servirão de base para descobrir as N-Rule

C – Classe Alvo(+)

D – Outras(-)

U – Itens cobertos

por P-rules

D

C

U

Page 22: Apresentação Carlos Bol Nelson Alberti da Rosa

22

PNrule Aprendizado - 2.a fase

f) O Objetivo agora é descobrir regras, N-rule, que definam a ausência da classe Alvo (C)

C – Classe Rara (+)

D – Outras (-)

N0 – N-rule 0

D

C

N 0

Page 23: Apresentação Carlos Bol Nelson Alberti da Rosa

23

PNrule Aprendizado - 2.a fase

g) A “baixa” de acurácia nessa fase implica em um fenômeno chamado de:

“Introdução de Falsos Negativos”

C – Classe Alvo(+)

D – Outras(-)

FN – Falsos

Negativos

D

CFN

Page 24: Apresentação Carlos Bol Nelson Alberti da Rosa

24

PNrule Distorções do Aprendizado

Distorções decorrentes da falta de acurácia

FP – Falso Positivo > baixa acurácia das P-rule

FN – Falso Negativos >

Baixa acurácia das

N-rule

C- > P-rule ??

D

CFN

FP

Page 25: Apresentação Carlos Bol Nelson Alberti da Rosa

25

PNruleAplicação (simplificada)

Dado um novo evento, descobrir se pertence a uma determinada classe ?

> Aplica-se as P-rule(*) :. Se nenhuma P-rule é aplicada -> FALSO. A primeira P-rule que é aplicada -> fase Nrule

> Aplica-se as N-rule(*):. A primeira N-rule que é aplicada -> FALSO. Se nenhuma N-rule é aplicada -> VERDADEIRO

* Na ordem decrescente de significância (suporte e acurácia) ou ordem de descoberta

Page 26: Apresentação Carlos Bol Nelson Alberti da Rosa

26

PNruleSimplificação

Se não houvesse mecanismo de escoragem a classe alvo C seria simplesmente definida por:

C = (P0 v P1 v... Pn) ^ ~N0 ^ ~N1 ^ ... ~Nm.

Page 27: Apresentação Carlos Bol Nelson Alberti da Rosa

27

PNruleRegras

Como as regras são descobertas??

Page 28: Apresentação Carlos Bol Nelson Alberti da Rosa

28

PNruleAlgoritmo – 1.a fase

Page 29: Apresentação Carlos Bol Nelson Alberti da Rosa

29

PNruleAlgoritmo – 2.a fase

Page 30: Apresentação Carlos Bol Nelson Alberti da Rosa

30

PNruleAlgoritmo - Matrizes

Page 31: Apresentação Carlos Bol Nelson Alberti da Rosa

31

PNruleAlgoritmo - Regra

Page 32: Apresentação Carlos Bol Nelson Alberti da Rosa

32

PNrule Algoritmo - Regra

O cálculo da “força” da regra utiliza duas técnicas diferentes:

> Classes discretas -> Z-number

> Classes continuas -> Y-number

Page 33: Apresentação Carlos Bol Nelson Alberti da Rosa

33

PNruleEscoragem

O mecanismo de escoragem objetiva:

> Minimizar as distorções produzidas pela baixa acurácia das PN-rule (FP e FN)

> Resolver conflitos em

domínios de múltiplas

classes e múltiplas

regras

D

CFN

FP

Page 34: Apresentação Carlos Bol Nelson Alberti da Rosa

34

PNruleEscoragem

Escore:

> O escore é a probabilidade de um determinado evento pertencer a classe alvo (0% a 100%)

> Os escores são calculados para cadacombinação de P-rule e N-rule

Nj

Pi %

Page 35: Apresentação Carlos Bol Nelson Alberti da Rosa

35

PNruleEscoragem

> A questão a determinar é : quanto a regra Nj influi na regra Pi ?

Nj

Pi %

Page 36: Apresentação Carlos Bol Nelson Alberti da Rosa

36

PNruleEscoragem

> A necessidade de (Pi x Nj) esta no fato

das Nj serem descobertas sobre o conjunto determinado pela cobertura de todas

as Pi e

> Determinada Nj pode

influir mais

significativamente

em algum subset de Pi’s

Nj

Pi %

Page 37: Apresentação Carlos Bol Nelson Alberti da Rosa

37

PNruleEscoragem

Matrizes:

> A matriz de escore, “ScoreMatrix”, é calculada a partir de duas outras matrizes:

. Matriz de Suporte –

“SupportMatrix”

. Matriz de Erro –

“ErrorMatrix”

Nj

Pi #

Page 38: Apresentação Carlos Bol Nelson Alberti da Rosa

38

PNruleEscoragem

Matriz de suporte:

> Registra o número de eventos que é alvo de ambas as regras : P-rule e N-rules.

Ou seja, registra o número

de predições positivas

feitas por Pi que são

convertidas para falsa por

Nj (->FP).

N0 N1 N2 ~N

P0 0 0 4 100

P1 3 7 5 50

P2 8 5 6 27

Page 39: Apresentação Carlos Bol Nelson Alberti da Rosa

39

PNruleEscoragem

Matriz de erro:

> Registra o número de erros de predição onde:

. A área clara registra os casos de falsos negativos (FN) introduzidos por Nj para cada Pi

. A última coluna registraos casos de falsos positivos (FP) de Pi quenão foram removidos por nenhuma Nj

N0 N1 N2 ~N

P0 0 0 3 1

P1 1 2 4 4

P2 0 1 2 4

Page 40: Apresentação Carlos Bol Nelson Alberti da Rosa

40

PNruleEscoragem

Matriz de suporte + Matriz de erro:

> [P1,N0] indica que a decisão de N0 eliminar 3 casos de falsos positivos errou em 1 caso ocasionando a introdução de falsos negativos

E N0 N1 N2 ~N

P0 0 0 3 1

P1 1 2 4 4

P2 0 1 2 4

S N0 N1 N2 ~N

P0 0 0 4 100

P1 3 7 5 50

P2 8 5 6 27

Page 41: Apresentação Carlos Bol Nelson Alberti da Rosa

41

PNruleEscoragem

Matriz Escore = Matriz suporte + Matriz erro:

> O escore de P1 (inicial) é calculado em termos da sua precisão, considerando os casos positivos (VP) e falsos positivos (FP)

Escore = VP/VP+FP = 53/53+12 = 81.5%

E N0 N1 N2 ~N

P0 0 0 3 1

P1 1 2 4 4

P2 0 1 2 4

S N0 N1 N2 ~N

P0 0 0 4 100

P1 3 7 5 50

P2 8 5 6 27

Page 42: Apresentação Carlos Bol Nelson Alberti da Rosa

42

PNruleEscoragem

Há que se considerar três aspectos no cálculo e atribuição do escore em relação as regras P e N:

1.o Estabelecimento do suporte mínimo para as regras N;

2.o Desconsiderar a influência de N-rule;

3.o Capacidade de uma regra distinguir uma classe

Page 43: Apresentação Carlos Bol Nelson Alberti da Rosa

43

PNruleEscoragem

1.o Estabelecimento do suporte mínimo, MinSupport, para considerar a influência de Nj sobre Pi

Tendo o MinSupport = 5, como o suporte de N0=3 logo a influência de N0 sobre P1 é desconsiderada

S N0 N1 N2 ~N

P0 0 0 4 100

P1 3 7 5 50

P2 8 5 6 27

Page 44: Apresentação Carlos Bol Nelson Alberti da Rosa

44

PNruleEscoragem

2.o Desconsiderar a influência de N-rule;

Necessidade de recalcular a precisão em função de desconsiderar a significância de N0 sobre P1; como a regras Nj são sequencialmente aplicadas, a regra N1 é descoberta apenas para os casos onde N0 não se aplica; logo, a precisão a considerar para [P1,N1] passa a ser : Escore = VP/VP+FP = 52/52+10 = 83,9 %

ES N0 N1 N2 ~N

P0

P1 81.5 83.9

P2

Page 45: Apresentação Carlos Bol Nelson Alberti da Rosa

45

PNruleEscoragem

Outro modo de mostrar a variação na precisão das Pi devido a aplicação sucessiva das Nj com a eliminação de FP e introdução de FN

FP Inic N0 N1 N2

P0 2 2 2 1

P1 12 10 5 4

P2 20 12 8 4

VP Inic N0 N1 N2

P0 102 102 102 99

P1 53 52 50 46

P2 26 26 25 23

Pr. Inic N0 N1 N2

P0 98.1 98.1 98.1 99.0

P1 81.5 83.9 90.9 92.0

P2 56.5 68.4 75.8 85.2

Page 46: Apresentação Carlos Bol Nelson Alberti da Rosa

46

PNruleEscoragem

3.o Capacidade de uma regra distinguir uma classe

Procura reunir em uma única métrica, Z-number, a partir das medidas de suporte e acurácia, a capacidade de uma determinada regra distinguir a classe alvo.

Zn = (Sr)**(1/2) (Ar – Ac)/ (Ac(1-Ac))**(1/2), onde:

Sr – Suporte da regra;Ar – Acurácia da regra;Ac – Significância da classe na amostra (|c|/|Amostra|), sendo(Ac(1-Ac))**(1/2) o desvio padrão de Ac.

Page 47: Apresentação Carlos Bol Nelson Alberti da Rosa

47

PNruleEscoragem

3.o Capacidade de uma regra distinguir uma classe

Zn = (Sr)**(1/2) (Ar – Ac)/ (Ac(1-Ac))**(1/2), onde:

(Sr – Suporte da regra; Ar – Acurácia da regra)

> Regra com Zn positivo elevado (Ar >> Ac) prediz a classe alvo com grande confiança;

> Regra com Zn negativo elevado (Ar << Ac) prediz a ausência da classe alvo com grande confiança;

Page 48: Apresentação Carlos Bol Nelson Alberti da Rosa

48

PNruleEscoragem

Z-number mínimo :

Estabelecimento do Z-number mínimo, MinZ, para considerar a influência de Nj sobre Pi.

Considerando um MinZ= 3.0 e o calculado Zn=11.85 determina-se que a regra N1 influi significativamente sobre P1; portanto, para a Matriz de Escore, [P1,N1] é considerada a precisão de N1 para predição da classe alvo.

Escore = VP/VP+FP = 2/2+5= 28.6%

ES N0 N1 N2 ~N

P0

P1 81.5 28.6

P2

Page 49: Apresentação Carlos Bol Nelson Alberti da Rosa

49

PNruleEscoragem

Matriz de escore:

> Registra a probabilidade de um determinado caso pertencer a classe alvo se esse estiver afeto a regras Pi e Nj

?ES N0 N1 N2 ~N

P0 98.1 98.1 98.1 99.0

P1 81.5 28.6 90.9 92.0

P2 11.1 20.0 33.3 85.2

Page 50: Apresentação Carlos Bol Nelson Alberti da Rosa

50

PNruleTornando sensível a Custo

Matriz de custo:

> Dada uma matriz de custo de erros de classificação: K[classeEfetiva,classePrevista]=custo de predizer uma classeEfetiva “s” como classePrevista “t”;> Tendo a matriz de escore como matriz de probabilidade (???);> Dado um registro “x”, a atribuição de uma classePrevista “t” será dado pelo menor custo global da fórmula: SOMATÓRIO em toda classeEfetiva “s” {Prob[classeEfetiva de “x” ser “s”] * K[classeEfetiva “s”, classePrevista ser “t”]}

Page 51: Apresentação Carlos Bol Nelson Alberti da Rosa

51

PNruleComparando algoritmos

> Participação no concurso KDDCUP’99;

> Problema do KDDCUP’99 : base de intrusão de redes com 5 milhões de registros distribuídos em 5 classes e uma matriz de custo para erros de classificação;

> cada registro, 34 atributos contínuos e 7 discretos, representa uma intrusão ou uma conexão normal;

Page 52: Apresentação Carlos Bol Nelson Alberti da Rosa

52

PNruleComparando algoritmos

> Distribuição das classes :

normal 19,9%

Dos – Denial-of-service 79,3%

Probe – Surveillance 0.84%

R2l – Remote-to-local 0.023% (1126)

U2r – User-to-root 0.001% (52)

Page 53: Apresentação Carlos Bol Nelson Alberti da Rosa

53

PNruleComparando algoritmos

Page 54: Apresentação Carlos Bol Nelson Alberti da Rosa

54

Referências

> Ramesh Agarwal, Mahesh V. Joshi and Vipin Kumar.Predictiong Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting;

> Ramesh Agarwal and Mahesh V. Joshi. PNrule: A New Framework for Learning Classifier Models in Data Mining (A Case-Study in Network Intrusion Detection);

> Mahesh Vijaykumar Joshi's Research Workhttp://www-users.cs.umn.edu/~mjoshi/myw.html

Page 55: Apresentação Carlos Bol Nelson Alberti da Rosa

55

Perguntas

Page 56: Apresentação Carlos Bol Nelson Alberti da Rosa

Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting

Carlos BolNelson Alberti da Rosa

Obrigado !