1 / 56

Apresentação Carlos Bol Nelson Alberti da Rosa

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)

michel
Download Presentation

Apresentação Carlos Bol Nelson Alberti da Rosa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  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ência ou 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 matriz de 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(-)

  18. PNrule Aprendizado - 1.a fase b) Descobre a regra Positiva com maior cobertura e acurácia C – Classe Alvo(+) D – Outras(-) P0 – P-rule

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

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

  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

  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

  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

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

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

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

  27. PNrule Regras • Como as regras são descobertas??

  28. PNrule Algoritmo – 1.a fase

  29. PNrule Algoritmo – 2.a fase

  30. PNrule Algoritmo - Matrizes

  31. PNrule Algoritmo - 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. 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

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

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

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

  37. PNrule Escoragem • Matrizes: > A matriz de escore, “ScoreMatrix”, é calculada a partir de duas outras matrizes: . Matriz de Suporte – “SupportMatrix” . Matriz de Erro – “ErrorMatrix”

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

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

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

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

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

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

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

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

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

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

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

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

  50. 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”]}

More Related