Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting Mahesh V....
Transcript of Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting Mahesh V....
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
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
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.
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.
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
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
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.
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.
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
10
Exemplo ilustração- PNRule
Habilidade PNrule em remover coletivamente Falsos Positivos N-rules
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
12
Métricas para avaliação de Modelos
Abrangênciaou Recall: VP x 100%
VP + FN
Precisão: VP x 100%VP + FP
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
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)
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
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.
17
PNrule Aprendizado - 1.a fase
a) Representação dos dados de treinamento
C – Classe Alvo(+)
D – Outras(-) D
C
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
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
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
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
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
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
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
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
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.
27
PNruleRegras
Como as regras são descobertas??
28
PNruleAlgoritmo – 1.a fase
29
PNruleAlgoritmo – 2.a fase
30
PNruleAlgoritmo - Matrizes
31
PNruleAlgoritmo - Regra
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
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
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 %
35
PNruleEscoragem
> A questão a determinar é : quanto a regra Nj influi na regra Pi ?
Nj
Pi %
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 %
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 #
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
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
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
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
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
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
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
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
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.
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;
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
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
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”]}
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;
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)
53
PNruleComparando algoritmos
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
55
Perguntas
Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive Boosting
Carlos BolNelson Alberti da Rosa
Obrigado !