Naive Bayes com estimaç˜ao de densidade de kernel
Transcrição
Naive Bayes com estimaç˜ao de densidade de kernel
Naive Bayes com estimação de densidade de kernel para Classificação de Tráfego Internet Silas Santiago Lopes Pereira Jorge Luiz de Castro e Silva Departamento de Estatı́stica e Computação UECE - Universidade Estadual do Ceará Fortaleza - Ceará - Brasil Email: [email protected] Departamento de Estatı́stica e Computação UECE - Universidade Estadual do Ceará Fortaleza - Ceará - Brasil Email: [email protected] Resumo—A dificuldade da caracterização da estrutura e comportamento da rede é evidente dado a imensa comunidade de usuários, a variedade de aplicações existentes, a heterogeneidade de equipamentos, a administração distribuı́da e o dinamismo, tı́picos da Internet atual. A identificação de aplicações de tráfego de rede é de fundamental importância em várias atividades relacionadas à gerência de rede, tais como Qualidade de Serviço, segurança, monitoramento e detecção de intrusões. Este trabalho demonstra o desempenho das técnicas supervisionadas de Aprendizado de Máquina (AM) Naive Bayes (NB) e Flexible Naive Bayes (FNB) quanto a tarefa de classificar corretamente o tráfego Internet. I. I NTRODUÇ ÃO O comportamento do tráfego de rede está em constante mudança devido às altas demandas requeridas por um determinado serviço, ataques à rede, surgimento de novos serviços, entre outros [1]. A partir da observação dos pacotes que passam por um determinado ponto de medição, pode-se identificar as aplicações mais presentes em uma rede [2]. A utilização de números de portas bem conhecidos não mais indica, de forma confiável, o tipo de aplicação presente no tráfego. Várias técnicas de AM já foram aplicadas na classificação de tráfego Internet. [3] utiliza o método NB e apenas dados estatı́sticos sobre o tráfego coletado para o treinamento do classificador, obtendo resultados superiores à abordagem baseada em portas. Em [4], a técnica NB com discretização mostrou-se mais estável e eficiente que a abordagem FNB apresentada em [5]. Em [5], mostrou-se que a seleção de discriminantes baseada no método FCBF (Fast Correlationbased Filter) pode consideravelmente maximizar a acurácia da classificação das técnicas NB e FNB. A abordagem apresentada nesse trabalho utiliza um número reduzido de discriminantes selecionados em [5] com a técnica FCBF e traces reais na avaliação dos métodos NB e FNB para classificação de tráfego Internet, os quais foram desenvolvidos e avaliados com o MATLAB [6]. Este trabalho está organizado como a seguir. A seção II apresenta as técnicas de AM abordadas. As seções III e IV apresentam respectivamente a obtenção dos dados de tráfego e a metodologia de classificação. Na seção V Os resultados são apresentados e discutidos. A seção VI apresenta as principais conclusões e por fim a bibliografia. II. T ÉCNICAS AVALIADAS A. Naive Bayes O classificador Naive Bayesiano, o qual fornece uma abordagem simples e com semânticas claras para a representação, uso e aprendizado do conhecimento probabilı́stico, é indicado para o contexto de indução supervisionada, no qual a meta de desempenho é a predição precisa das instâncias de teste e o conhecimento sobre quais instâncias de treinamento contém informações sobre as classes [7]. Segundo [3] e [5], o classificador Naive Bayes é uma técnica simples que pode ser aplicada ao problema de classificação de tráfego Internet. Uma descrição mais detalhada desse método pode ser encontrada em [8]. Segundo [9], o classificador Naive Bayes pode ser entendido como uma forma especializada de uma rede Bayesiana intitulada ”Naive”(ingênua) por se sustentar em dois importantes pressupostos: A suposição que os atributos preditivos são condicionalmente independentes dada a classe e postula-se que nenhum atributo oculto ou subtendido influencia o processo de predição. Assim, um classificador Naive Bayesiano pode ser representado graficamente conforme a figura 1, na qual todos os enlaces partem do atributo classe para os atributos observáveis e preditivos (X1 , X2 , . . . Xk ), expressando a independência condicional destes dado ao atributo classe (C). Essas suposições apoiam muitos algoritmos eficientes tanto para classificação quanto aprendizado. Figura 1. Projeção do Classificador Naive Bayes como uma Rede Bayesiana Assuma C uma variável aleatória que denota a classe de uma instância e X um vetor de variáveis aleatórias representando os valores observados dos atributos. Além disso, assuma c um rótulo de uma determinada classe e x um vetor de valores de atributo. Considere uma instância de teste x a ser classificada. A classe mais provável será aquela com maior valor para P (C = c|X = x). ou seja, a probabilidade da classe c dada a instância x. A expressão seguinte apresenta a regra de Bayes, aplicada para calcular esta probabilidade, onde X = x corresponde ao evento X1 = x1 ∧ X2 = x2 ∧ . . . Xk = xk e P (C = c) representa a probabilidade a priori de c, ou seja, a probabilidade de obtenção da classe c sem levar em conta os dados de treinamento: p(C = c|X = x) = p(C = c)p(X = x|C = c) p(X = x) (1) Uma suposição comum e não inerente à abordagem Naive Bayesiana, porém frequentemente usada é que para cada classe os valores dos atributos numéricos são normalmente distribuı́dos. Segundo [8], embora essa suposição não reflita a realidade do tráfego Internet, supera em desempenho alguns modelos mais complexos. B. Flexible Naive Bayes O algoritmo de aprendizado Flexible Naive Bayes é uma generalização do Naive Bayes apresentado em II-A e algoritmicamente semelhante a este em todos os aspectos, com exceção da computação da função de distribuição P (X = x|C = c) para atributos contı́nuos. Substitui-se a suposição de normalidade do Naive Bayes, na qual a estimação de uma única Gaussiana é o método mais comum para tratar variáveis contı́nuas, por uma variedade de métodos de estimação não paramétricos, dentre eles, a estimação de densidade de kernel, a qual, como o nome sugere, utiliza métodos de estimação de kernel [7] [5]. O método Naive Bayes com estimação de densidade de kernel com kernels Gaussianos estima a função densidade a partir de um amplo conjunto de kernels. A função de distribuição é então expressa pela fórmula abaixo, na qual n corresponde ao número de instâncias de treinamento pertencentes à classe c e ui corresponde ao atributo xi de cada exemplo de treinamento: n p(X = x|C = c) = 1X g(x; µi , σc ) n i (2) Deve-se observar que a equação 2 é semelhante à expressão padrão para cálculo da densidade de kernel p(X = x|C = Pn i c) = (nh)−1 i K( xi −µ h ) , onde h = σ e K(xi , µi , h) = g(x, 0, 1) Quando se calcula p(X = x|C = c) para um atributo contı́nuo na classificação de um exemplo, o método Naive Bayes estima a função de densidade de probabilidade Gaussiana apenas uma vez, enquanto que o Flexible Naive Bayes executará n estimações, onde n é o número de valores observados nas instâncias de treinamento com classe c. Tal fato implica em um aumento da complexidade computacional do modelo. A tabela I, obtida em [5], apresenta a complexidade das técnicas Naive Bayes e Flexible Naive Bayes apresentadas, onde n representa o número de instâncias de treinamento e k o número de discriminantes: Tabela I C OMPLEXIDADES DAS T ÉCNICAS NB E FNB. Operação Treinamento com n instâncias Teste com m instâncias NB Tempo O(nk) O(mk) Espaço O(k) FNB Tempo O(nk) O(mnk) Espaço O(nk) A maior dificuldade na estimação de kernel se encontra na configuração do parâmetro largura de banda de kernel σ. A seleção do parâmetro estatı́stico largura de banda do kernel desempenha um papel importante no desempenho do modelo e uma descrição mais detalhada sobre algumas propriedades assintóticas do Flexible Bayes pode ser encontrada em [7]. Segundo [7], a estimação de kernel assume algumas propriedades exatas quando σ tende a zero conforme o número de instâncias tende ao infinito. A literatura existente apresenta diversas abordagens para definição da largura do kernel, mas cada heurı́stica faz suposições implı́citas e explicitas sobre a função de densidade que serão válidas para algumas distribuições mas não para outras. Neste trabalho, utiliza-se σc = √1nc com base em [7], sendo nc o número de instâncias de treinamento pertencentes à classe c. Segundo [7], como o Flexible Bayes observa uma maior quantidade de instâncias de treinamento, suas estimativas de densidade se tornam crescentemente locais. O intuito detrás do Flexible Bayes é que a estimação de kernel permita que o método tenha um bom desempenho em domı́nios que violam a suposição de normalidade. Segundo [5], a simples suposição sobre a normalidade dos discriminantes é imprecisa e problemas eminentes surgem quando a distribuição real é multimodal e tal situação pode indicar que a classe em consideração é muito grande ou que outra distribuição deve ser utilizada para a análise dos dados. III. D ESCRIÇ ÃO DOS Traces Os dados de tráfego foram coletados de um monitor de rede de alto desempenho descrito em [10] e refletem uma rede com cerca de 1000 usuários conectados à Internet através de uma conexão full-duplex Gigabit Ethernet em um perı́odo de 24 horas. Foi gerado um conjunto de 10 arquivos de trace sendo cada um referente a um perı́odo de 1.680 segundos, e disponibilizados para a comunidade cientı́fica [11]. Para a classificação, foram consideradas as categorias de tráfego: Attack (ex: internet worm,virus attacks), Bulk (ex: ftp), Database (ex: oracle, etc), Mail(smtp, etc), Multimedia (Windows Media Player,etc), P2P (GnuTella, etc), Services(X11, dns, etc) e WWW. Durante o pré-processamento, foi gerado além das categorias de aplicações para cada fluxo um conjunto de informações estatı́sticas relacionadas ao fluxo que em [11] são denominados discriminantes. Foram gerados 249 discriminantes (incluindo a categoria de aplicação). Isso inclui estatı́sticas simples sobre o tamanho do pacote e o tempo entre os pacotes, e informações derivadas do protocolo de transporte (TCP) tais como contadores de pacote SIN e ACK [11]. A tabela II exibe o número de instâncias de fluxo por classe de aplicação presentes nos traces utilizados.Pode-se observar que existe uma grande variabilidade no número de fluxos das aplicações presentes nos dados: Tabela III C ARACTER ÍSTICAS DOS TRAÇOS UTILIZADOS Tabela II N ÚMERO DE F LUXOS POR C ATEGORIA DE A PLICAÇ ÃO Attack 1.793 Multimedia 576 Bulk 11.538 P2P 2.094 Database 2.648 Services 2.099 Mail 28.567 WWW 328.093 Um segundo conjunto de dados também foi utilizado. A partir de um monitor desenvolvido inteiramente em Python, que coleta o tráfego de um determinado ponto de acesso, efetua a remontagem de sessões TCP com base em [12] e [13], extrai um dado número de caracterı́sticas (Tempo decorrido entre primeiro e último pacote, número de pacotes, total de bytes, número de pacotes com ao menos um byte de payload de dados TCP, número de pacotes com bit PUSH ativo no cabeçalho TCP, e mediana e variância do total de bytes no pacote IP. Desde que cada atributo é calculado para ambas as direções do fluxo, cada instância de fluxo possui 14 discriminantes estatı́sticos além do atributo classe) e rotula os fluxos pelo método de portas bem conhecidas [14]. Dessa forma, possibilitou-se o uso de traces próprios para avaliação dos classificadores. Utilizou-se traços de tráfego coletados em um host conectado a uma rede Ethernet banda larga 100Mbps. O monitor foi executado em um PC Core i5 com CPU 2.30 GHz e 4GB de memória. Neste momento, a ferramenta Weka (Waikato Environment for Knowledge Analysis) [15], que dispõe de uma coleção de algoritmos de aprendizagem de máquina para resolução de problemas de Data Mining, foi utilizada para treinamento e avaliação dos classificadores. Para a execução do classificador NB e FNB no Weka, o monitor gera um arquivo contendo as instâncias de fluxo de tráfego em formato compatı́vel com o Weka. Em seguida, o sistema executa a rotina weka.classifiers.bayes.NaiveBayes, passando como parâmetros a opção de uso de estimação de kernels (no caso do FNB) e o arquivo com os dados de treinamento e avaliação. Foi utilizada validação cruzada para avaliar a precisão dos modelos de classificação, com número de folds igual a 10. As caracterı́sticas do traço de tráfego utilizado, referenciado como T 1, são apresentadas na tabela III. As aplicações identificadas nos respectivos traços a partir do método baseado em portas são mostradas na tabela V. Em T1, a maior parte do tráfego considerado refere-se a aplicações Www e Ftp. IV. AVALIAÇ ÃO DAS T ÉCNICAS Na abordagem utilizada para avaliar os métodos estudados, um novo arquivo de trace foi utilizado para testar os classificadores, o qual diz respeito a uma coleta realizada 12 meses depois em relação aos dez arquivos de trace apresentados anteriormente. A aplicação de dados mais recentes para a avaliação dos classificadores utilizando modelos antigos visa Parâmetro T1 Número de pacotes 614282 Tamanho da captura 565.62MB Duração da captura 3516.79s Tamanho médio do pacote 920.78 bytes Taxa média de captura 1.28 Mbps Tabela IV C OMPOSIÇ ÃO DOS DADOS DE TR ÁFEGO POR CLASSE DE APLICAÇ ÃO Classificação Descrição T1 Www World Wide Web 1353 Https Http protocol over TLS/SSL 145 Ftp File Transfer Protocol 1458 - Xvttp Xvttp Protocol Isakmp Isakmp Protocol - Total - 2956 Tabela V C OMPOSIÇ ÃO DOS DADOS DE TR ÁFEGO POR CLASSE DE APLICAÇ ÃO Classificação Descrição T1 Www World Wide Web 1353 Https Http protocol over TLS/SSL 145 Ftp File Transfer Protocol 1458 Total - 2956 demonstrar se as técnicas abordadas tem capacidade de classificar corretamente os fluxos de tráfego em suas respectivas classes ou se os modelos de classificação são obsoletos [5]. Todos os fluxos de tráfego pertencentes aos dez arquivos de trace foram agregados em um único trace e utilizados para treinamento dos classificadores. A tabela VI exibe a quantidade de fluxos de tráfego em cada classe presentes neste arquivo de trace. Uma vez que o trace considerado não contém fluxos das classes Attack e Multimedia, os valores de acurácia destas duas categorias não são analisados: Tabela VI N ÚMERO DE F LUXOS POR A PLICAÇ ÃO NO N OVO Trace Attack - Bulk 1513 P2P 297 Database 295 Services 121 Mail 1799 WWW 15597 Multimedia Total 19622 V. R ESULTADOS A partir da tabela VII, é claro perceber que os valores de acurácia para cada técnica considerada atingiram bons resultados e variaram entre 78.58% e 92.42% para a 1o abordagem de avaliação. na 2o abordagem, não houve ganhos significativos na utilização de estimação de densidade de kernels e o desempenho de ambos os classificadores foi baixo. A principal razão para o desempenho razoável das técnicas NB e FNB na 1o abordagem deve-se a pouca ocorrência Tabela VII P RECIS ÃO M ÉDIA DOS C LASSIFICADORES Traces (Moore) T1 Naive Bayes 78.58% 59.03% Flexible Naive Bayes 84.77% 59.33% de grandes variações nas distribuições dos discriminantes utilizados, ou seja, a aplicação de distribuições gaussianas e kernels gaussianos sobre os valores dos atributos em estimadores Naive Bayes mostraram-se aceitáveis por descreverem bem as distribuições reais dos atributos. No segundo contexto, uma possı́vel explicação para o baixo desempenho das técnicas seria incapacidade dos classificadores em descrever as distribuições dos atributos do fluxo. VI. C ONCLUS ÃO A principal contribuição desse trabalho foi demonstrar a utilização de classificadores amplamente abordados na literatura para categorização de tráfego de rede em um dado número de categorias de aplicação e avaliá-los sobre cada experimento realizado. A metodologia aplicada baseia-se categorização de tráfego de rede através da utilização dos algoritmos NB, FNB. Os dados usados para avaliar os métodos referem-se um trace datado como coletado 12 meses depois em relação aos traces utilizados para treinamento, permitindo uma posterior análise da estabilidade temporal das técnicas estudadas. Os resultados encontrados mostram que o método Flexible Naive Bayes obteve maior precisão na classificação que o método Naive Bayes. Isso leva a perceber que a utilização do método de estimação de kernel melhor descreve as distribuições complexas dos atributos preditivos que o uso comum de uma simples distribuição gaussiana. Em um segundo cenário com traces próprios, os classificadores foram imcapazes de categorizar corretamente uma quantidade significativa do tráfego. Uma possı́vel explicação seria a má qualidade dos fluxos usados, evidenciando a pertinência da aplicação de técnicas de seleção de atributos e exemplos para os dados de treinamento e teste. R EFER ÊNCIAS [1] R. Holanda Filho, J. Maia, and G. Paulino, “Broadband network traffic characterization and classification using a multivariate statistical method broadband network traffic characterization and classification,” pp. 113– 122, 2006. [2] A. Ziviani and O. Duarte, “Metrologia na Internet,” Minicursos do XXIII Simpósio Brasileiro de Redes de Computadores, SBRC, pp. 285–329, 2005. [3] D. Zuev and A. Moore, “Traffic classification using a statistical approach,” Passive and Active Network Measurement, pp. 321–324, 2005. [4] Y. Liu, Z. Li, S. Guo, and T. Feng, “Efficient, Accurate Internet Traffic Classification using Discretization in Naive Bayes,” Networking, Sensing and Control,ICNSC 2008. IEEE International Conference on, vol. 0, pp. 1589 – 1592, 2008. [5] A. Moore and D. Zuev, “Internet traffic classification using bayesian analysis techniques,” in Proceedings of the 2005 ACM SIGMETRICS international conference on Measurement and modeling of computer systems. ACM, 2005, p. 60. [6] S. Chapman, “Programação em MATLAB para Engenheiros,” São Paulo: Pioneira Thomson Learning, 2003. [7] G. John and P. Langley, “Estimating continuous distributions in Bayesian classifiers,” in Proceedings of the eleventh conference on uncertainty in artificial intelligence, vol. 1. Citeseer, 1995, pp. 338–345. [8] I. Witten and E. Frank, Data Mining: Practical machine learning tools and techniques. Morgan Kaufmann Pub, 2005. [9] W. L. Buntine, “Operations for learning with graphical models,” Journal of Artificial Intelligence Research, vol. 2, pp. 159–225, 1994. [10] A. Moore, J. Hall, C. Kreibich, E. Harris, and I. Pratt, “Architecture of a network monitor,” in Passive & Active Measurement Workshop 2003 (PAM2003). Citeseer, 2003. [11] A. Moore, D. Zuev, and M. Crogan, “Discriminators for use in flowbased classification,” RR-05.13 Department of Computer Science, University of London, 2005. [12] G. Wagener, A. Dulaunoy, and T. Engel, “Towards an estimation of the accuracy of tcp reassembly in network forensics,” in Future Generation Communication and Networking, 2008. FGCN’08. Second International Conference on, vol. 2. IEEE, 2008, pp. 273–278. [13] B. XIONG, C. Xiao-su, and C. Ning, “A Real-Time TCP Stream Reassembly Mechanism in High-Speed Network,” JOURNAL OF SOUTHWEST JIAOTONG UNIVERSITY, vol. 17, no. 3, 2009. [14] M. Rose and K. McCloghrie, “Structure and identification of management information for tcp/ip-based internets,” Structure, 1990. [15] E. Frank, M. Hall, and L. Trigg, “Weka 3-Data Mining with Open Source Machine Learning Software in Java,” The University of Waikato, 2000.
Documentos relacionados
Uma Abordagem para Classificação Online de Tráfego
rotina weka.classifiers.lazy.IBk, passando como parâmetros o número K de vizinhos mais próximos e o arquivo com os dados de treinamento e avaliação. 2) Naı̈ve Bayes: O classificador NB é uma ...
Leia mais