560 likes | 679 Views
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)
E N D
Predicting Rare Classes: Comparing Two-Phase Rule Induction to Cost-Sensitive BoostingMahesh V. JoshiRamesh C. AgarwalVipin 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) • 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
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.
Introdução Domínios: • Detecção de fraude • Detecção de invasão de rede • Categorização de texto • Mineração na WEB Dados disponíveis de forma rotulada, bom para uso em métodos de classificação.
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
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
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.
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.
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
Exemplo ilustração- PNRule Habilidade PNrule em remover coletivamente Falsos Positivos N-rules
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
Métricas para avaliação de Modelos Abrangência ou Recall: VP x 100% VP + FN Precisão: VP x 100% VP + FP
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
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)
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
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 matriz de custo para obter-se uma decisão final.
PNrule Aprendizado - 1.a fase a) Representação dos dados de treinamento C – Classe Alvo(+) D – Outras(-)
PNrule Aprendizado - 1.a fase b) Descobre a regra Positiva com maior cobertura e acurácia C – Classe Alvo(+) D – Outras(-) P0 – P-rule
PNrule Aprendizado - 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
PNrule Aprendizado - 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
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
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
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
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 ??
PNrule Aplicaçã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
PNrule Simplificaçã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.
PNrule Regras • Como as regras são descobertas??
PNrule Algoritmo - Regra • O cálculo da “força” da regra utiliza duas técnicas diferentes: > Classes discretas -> Z-number > Classes continuas -> Y-number
PNrule Escoragem • 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
PNrule Escoragem • Escore: > O escore é a probabilidade de um determinado evento pertencer a classe alvo (0% a 100%) > Os escores são calculados para cada combinação de P-rule e N-rule
PNrule Escoragem > A questão a determinar é : quanto a regra Nj influi na regra Pi ?
PNrule Escoragem > 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
PNrule Escoragem • Matrizes: > A matriz de escore, “ScoreMatrix”, é calculada a partir de duas outras matrizes: . Matriz de Suporte – “SupportMatrix” . Matriz de Erro – “ErrorMatrix”
PNrule Escoragem • 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).
PNrule Escoragem • 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 registra os casos de falsos positivos (FP) de Pi que não foram removidos por nenhuma Nj
PNrule Escoragem • 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
PNrule Escoragem • 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%
PNrule Escoragem • 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
PNrule Escoragem • 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
PNrule Escoragem 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 %
PNrule Escoragem • 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
PNrule Escoragem 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.
PNrule Escoragem 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;
PNrule Escoragem • 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%
PNrule Escoragem • Matriz de escore: > Registra a probabilidade de um determinado caso pertencer a classe alvo se esse estiver afeto a regras Pi e Nj ?
PNrule Tornando 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”]}