• Nenhum resultado encontrado

Resumo. 1 Introdução. (jim,

N/A
N/A
Protected

Academic year: 2021

Share "Resumo. 1 Introdução. (jim,"

Copied!
10
0
0

Texto

(1)

Análise Comparativa de Técnicas de Inteligência Computacional para a

Detecção de Spam

Jim Lau, Ramices dos Santos Silva

DAS/CTC – Universidade Federal de Santa Catarina (UFSC) Florianópolis – SC – Brasil

(jim, ramices)@das.ufsc.br

Resumo

Spam é um problema tanto para usuários quando para Provedores de Serviços de Internet (ISPs), sendo que a solução mais utilizada são os filtros anti-spam. Entretanto, os filtros de spam existentes ainda não são eficientes para a satisfação dos usuários e técnicas de Aprendizado de Maquina têm sido utilizadas para melhorar a sua implementação. Este trabalho representa um resumo de uma dissertação de mestrado [Andrade, 2006] que faz uma análise comparativa de desempenho de três técnicas de inteligência computacional para a detecção de spam que são Neuro-Fuzzy e Redes Neurais (Perceptron e MLP).

1 Introdução

O spam pode ser definido como o envio abusivo (em grande quantidade) e não solicitado de mensagens de correio eletrônico. Em geral, estas mensagens procuram despertar o interesse dos destinatários, de modo que sejam lidas, realizando então a sua função de mala-direta eletrônica, divulgando propagandas, correntes, manifestos, esquemas financeiros, etc. Estimulado em grande parte pela facilidade com que se pode enviar e-mail pela Internet, o spam causa um grande desperdício de recursos por parte de quem transporta ou recebe correio eletrônico. Entre os inconvenientes do spam, temos [Haupt, 2004]: a) Custo: consome tempo de processamento e espaço de armazenamento, mas não é trabalhoso para quem envia. b) Fraude: facilita o uso de fraude, na forma de cabeçalhos disfarçados. c) Destituição do e-mail normal: pode eventualmente destruir a utilidade e a eficácia do e-mail como uma ferramenta de comunicação. d) Ética: é predominantemente fundamentado no roubo, na fraude e na falsificação do serviço.

Quando o spam é recebido em pequenas quantidades, pode causar aborrecimento aos

destinatários, mas raramente expõe o problema de forma significante. Entretanto, para destinatários que recebem grandes quantidades de e-mail, o spam consome tempo e dificulta a descoberta de correspondências legítimas. Além do mais, e-mail indesejado freqüentemente possui conteúdo de linguagem pornográfica, que ofende a muitos destinatários.

Uma solução é a utilização de filtro de spam. A proposta é utilizar filtros automáticos ou semi-automáticos que são amplamente utilizados em ISP (Provedores de Serviços de Internet) e administradores de redes corporativas. Um problema em utilizar esses filtros é que não se consegue obter 100% de precisão na taxa de detecção de spam e, apesar dos filtros automáticos falharem em uma pequena porcentagem, estes são aceitos pela maior parte dos usuários [Cranor e LaMacchia, 1998]. Existem atualmente, vários filtros de spam. A maior parte destes pode ser categorizada como [Lad e Saggar, 2004]:

• Filtros definidos pelos usuários: permitem a criação de regras pelos usuários.

• Filtros de cabeçalhos: analisam os cabia para detectar se são falsificados ou não.

• Filtros de conteúdo: tipo de filtro mais comum, verificam a ocorrência de palavras chaves nos corpos dos e-mails para classificação dos que são legítimos e dos spams.

Vários métodos têm sido propostos para a implementação de filtros de spam, mas o maior interesse tem sido o uso de técnicas de Aprendizado de Máquina [Lad e Saggar, 2004]. Estas incluem regras de aprendizado, Naive Bayes, Árvores de Decisão, Redes Neurais, Sistemas Nebulosos (Fuzzy), Support Vector Machine - SVM, Sistemas Imunológicos Artificiais ou diferentes combinações destas. Um conceito básico e comum a estes métodos é que os classificadores utilizam treinamento supervisionado de dados, realizado manualmente, que resulta em um melhor desempenho. Como exemplo tem-se o trabalho de Lai [Lad e Saggar, 2004], no qual é feita a análise de um conjunto de experimentos

(2)

sistemáticos para a categorização de e-mail, utilizando algoritmos de aprendizado de máquina para diferentes partes da mensagem eletrônica [Lad e Saggar, 2004].

O objetivo deste trabalho foi realizar uma análise comparativa do desempenho de diversas técnicas de Aprendizado de Máquina para uso em filtros de detecção de spam baseados em conteúdo As técnicas escolhidas foram: Neuro-Fuzzy e Redes Neurais utilizando Perceptron e MLP.

2 Detecção de Spam 2.1 Spam

A definição de spam, do ponto de vista prático, é o envio abusivo de correio eletrônico (e-mail) não solicitado em grande quantidade, contendo principalmente propaganda, correntes e oportunidades de ganho financeiro imediato [Cranor e LaMacchia, 1998].

O spam constitui um grande problema para quem transmite ou recebe e-mail, seja no computador, no telefone celular ou no Assistente Pessoal Digital (PDA). Ao contrário das informações eletrônicas, as informações impressas são mais facilmente protegidas, pois podem ser limitadas no número de cópias, guardadas em um local seguro ou mantidas em segredo. Devido ao esforço necessário de ter que copiar e transmitir, o fluxo destas informações é dificultado, pois a transmissão em papel possui gastos para sua transferência [Pfleeger e Bloom, 2005]. Já a mídia eletrônica facilita a transmissão rápida de dados com baixo custo, mesmo para grande número de destinatários. Em conseqüência disso, a maioria das pessoas são inundadas com e-mail indesejado, consumindo recursos como espaço em disco e tempo de processamento de suas caixas postais eletrônicas.

Segundo Cranor [Cranor e LaMacchia, 1998] cita os principais fatores que contribuem para envio abusivo de spam:

• Facilidade no envio de e-mail: Alguns programas permitem enviar centenas de mensagens de e-mail e adquirir, por si próprios milhares de endereços de e-mail válidos.

• Endereços são de fácil obtenção. A maior parte das técnicas para filtragem de e-mail indesejado envolve filtros de mensagens baseadas no endereço do remetente. Mas é simples para os spammers (pessoas que enviam spam) a obtenção de novos endereços de e-mail válidos ou falsos, mudando constantemente o endereço do remetente e impedindo assim o trabalho de vários filtros.

Algumas das soluções possíveis para o problema do spam são [Cranor e LaMacchia, 1998]:

Utilização de Filtros: Filtros automáticos e

semi-automáticos são amplamente utilizados em ISPs, em redes corporativas ou mesmo em caixas postais individuais. As soluções automáticas removem o e-mail suspeito, enquanto que soluções semi-automáticas deixam que o usuário detecte. As soluções mais comuns para filtros envolvem mensagens originadas de remetentes de spam conhecidos, baseado na informação dos cabeçalhos das mensagens.

Medidas de contra ataque: Usuários podem

responder às mensagens de spam para bombardear o remetente com reclamações. Tais táticas podem ser automatizadas e geram inconveniência ao remetente. Entretanto, como é difícil determinar a veracidade do remetente de spam, contra-ataques podem eventualmente enviar mensagens para pessoas inocentes, das quais seus endereços de e-mail foram apropriados indevidamente [Cranor e LaMacchia, 1998].

Treinamento de Usuários: Uma das soluções

existentes está relacionada ao gerenciamento de spam e treinamento de usuários sobre as opções existentes, aumentando assim a produtividade dos usuários e auxiliando as organizações a reduzirem seus custos. O spam acarreta em custos para a organização, incluindo a produtividade do usuário, armazenamento e gerenciamento dos servidores de e-mail. Obter consciência deste custo para a organização é um passo importante para selecionar a ferramenta apropriada para gerenciamento de spam e treinamento dos usuários em suas utilizações.

2.2 Filtros

Conforme apresentado anteriormente, a solução mais viável para o problema do spam é a utilização de filtros. Por isso, os autores se concentram no estudo de algumas das técnicas que podem ser utilizadas no desenvolvimento de filtros de e-mail.

Filtros de e-mail são programas ou agentes que automaticamente tratam, arquivam ou apagam os mails baseados em certos critérios. Estes filtros de e-mail podem ser configurados para apagar ou arquivar o e-mail, se este incluir certas palavras ou se originar de certos endereços, domínios ou países.

Os filtros reduzem a quantidade de spams recebidos, porém apresentam dois tipos de erros: os falsos positivos - e-mails normais classificados como

(3)

spam - e os falsos negativos - spams classificados como e-mails normais [Whitworth e Whitworth, 2004]. Os falsos positivos são significativamente mais prejudiciais em relação aos falsos negativos, pois levam à perda dos e-mails legítimos dos usuários, já que foram classificados como spam pelo filtro e conseqüentemente removido da caixa de e-mail do usuário. Portanto é necessário que o filtro apresente a maior taxa de acertos o possível e uma taxa mínima de falsos positivos, de forma que o usuário não perca seus e-mails legítimos.

Para obter uma maior eficiência dos filtros anti-spam e evitar o risco de acidentalmente apagar mensagens que não sejam spam é desejável desenvolver filtros anti-spam que façam automaticamente a aprendizagem de como bloquear mensagens, por prévio processamento das mensagens recebidas como legítimas ou como spam. Uma das questões envolvidas no desenvolvimento de filtros de spam é a natureza dos e-mails recebidos, sendo que esta é diferenciada para cada usuário, e seus conteúdos variam em relação ao tempo. Portanto a habilidade de adaptação do mecanismo de classificação das informações sobre os spams é uma das primeiras considerações em qualquer software anti-spam.

2.2.1 Categorias dos filtros Existentes 

Os filtros de spam originaram-se da utilização de palavras chaves – se um dado termo foi apresentado no cabeçalho ou no corpo do e-mail, a mensagem é marcada como spam. Este método não é escalável, pois para cada nova palavra relacionada a spam, a mesma deve ser manualmente incorporada ao filtro. Os vários filtros de spam existentes podem ser categorizados em [Lad, 2004]:

• Filtros definidos pelos usuários: permitem a criação de regras na forma: “i f__ campos contêm __,

mover para pasta ___”. Adicionar regras ao filtro

para combater cada novo tipo de e-mail de spam não é praticamente viável.

• Filtros de cabeçalhos: analisam os cabeçalhos para detectar se são falsificados ou não. Entretanto muitos spams possuem cabeçalhos válidos e por isso tais filtros apresentam falhas.

• Filtros de conteúdo: varrem o corpo da mensagem de e-mail e utilizam a presença, ausência e freqüência de palavras para determinar se a mensagem é ou não spam. O filtro baseado em conteúdo é encontrado na maior parte dos sistemas

de detecção de spam. 3 Técnicas Existentes

Filtros de spam baseados em conteúdo é uma aplicação de Categorização de Textos um campo de intensa pesquisa nos últimos anos. Diferente da maioria das atividades de categorização de textos, estes filtros devem detectar mensagens não solicitadas, que constituem o spam. A análise da linguagem das mensagens de spam constitui uma categorização do texto e os assuntos das mensagens do spam são raramente mencionados em mensagens legítimas, tornando possível o sucesso no treinamento de um classificador de texto para filtros anti-spam.

As técnicas utilizadas inicialmente para categorização de textos foram manualmente construídas, o que é apropriado quando poucos textos estão disponíveis no formato eletrônico. Recentes pesquisas da comunidade de categorização de textos introduziram os classificadores automáticos, com a aplicação de algoritmos de Aprendizado de Máquina, observando as características de um conjunto de documentos pré-classificados (utilizados no treinamento). Desta forma, o classificador identifica documentos não vistos baseados no conhecimento que apresentou no processo indutivo. Atualmente, devido ao compartilhamento das características com a extração de informação/conhecimento, a classificação de textos é considerada como um problema de aprendizado de máquina e de recuperação de informação.

O algoritmo de aprendizado de máquina para filtros de spam consiste em dois estágios: o estágio de treinamento e o estágio de classificação. O treinamento é feito através de um conjunto de mensagens fornecidas e, primeiramente, essas mensagens são transformadas em uma representação que pode ser entendida pelos algoritmos de aprendizado. Classificação de textos automática é uma tarefa do Aprendizado de Máquina Supervisionado, determinado por atribuições de classes de categorias predefinidas para novos documentos, baseados em especificações fornecidas para um conjunto de treinamento de termos pré-classificados.

Vários métodos baseados em aprendizado de máquina têm sido aplicados na classificação de textos para os filtros de spam [Goetschi, 2004]. Esta seção descreve alguns destes métodos: Naive Bayes, Redes

(4)

Neurais e Neuro-Fuzzy. 3.1.1 Redes Neurais 

As Redes Neurais além fornecem um caminho mais fácil para modelar relações complexas, também oferecem adaptabilidade e habilidade de aprendizagem implícita. O fato das Redes Neurais funcionarem bem para Classificação de Textos implica em confiança para a aplicação em filtros de spam.

A Rede Neural está baseada em um modelo do neurônio biológico e na sua capacidade computacional, com a apresentação de vários exemplos de topologias de rede com capacidade de execução de funções booleanas. A associação de um modelo artificial de um neurônio biológico com funções booleanas está provavelmente ligada ao pensamento então vigente, de que era possível construir uma máquina inteligente por meio de operadores lógicos básicos.

Uma rede neural artificial é composta por várias unidades de processamento, cujo funcionamento é bastante simples. Estas unidades são conectadas por canais de comunicação que estão associados a determinado peso. As unidades fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente da Rede Neural Artificial origina-se das interações entre as unidades de processamento da rede. A operação de uma unidade de processamento pode ser resumida da seguinte maneira:

• sinais são apresentados na entrada;

• cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade;

• é feita a soma ponderada dos sinais, o que produz um nível de atividade; e

• se este nível de atividade exceder um certo limite (threshold), a unidade produz uma determinada resposta de saída.

3.1.1.1 Processos de Aprendizado 

A propriedade mais importante das redes neurais é a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho. Isso é feito através de um processo iterativo de ajustes aplicado a seus pesos: o treinamento. O aprendizado ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas.

Denomina-se algoritmo de aprendizado a um conjunto de regras bem definidas para a solução de

um problema de aprendizado. Existem muitos tipos de algoritmos de aprendizado específicos para determinados modelos de redes neurais, sendo que estes algoritmos diferem entre si principalmente pelo modo como os pesos são modificados. Outro fator importante é a maneira pela qual uma Rede Neural se relaciona com o ambiente. Nesse contexto existem os seguintes paradigmas de aprendizado:

• Aprendizado Supervisionado: a rede neural recebe um conjunto de entradas padronizadas e seus correspondentes padrões de saída, onde ocorrem ajustes nos pesos sinápticos até que o erro entre os padrões de saída gerados pela rede tenha um valor desejado;

• Aprendizado Não Supervisionado: a rede neural trabalha os dados de forma a determinar algumas propriedades dos conjuntos de dados. A partir destas propriedades é que o aprendizado é constituído;

• Hibrido: neste tipo ocorre uma “mistura” dos tipos: supervisionado e não-supervisionado. Assim uma camada pode trabalhar com um tipo enquanto outra camada trabalha com o outro tipo.

3.1.1.2 Perceptron Simples 

Uma RNA é composta por um conjunto de nodos, com capacidade de processamento local e independente dos demais, uma topologia definindo a forma como estes nodos estão conectados e uma regra de aprendizado. A regra de aprendizado do perceptron permite a adaptação dos seus pesos de forma que a rede execute uma determinada tarefa de classificação.

Perceptron é a forma mais simples da rede neural utilizada para classificação de padrões que sejam linearmente separáveis (padrões que possuem lados opostos em um hiperplano). Basicamente, o perceptron utiliza neurônios com pesos, sinapses e bias ajustáveis. Os algoritmos do perceptron definem uma rede neural que não apresenta camadas escondidas, possuindo apenas uma camada de saída, a qual sempre converge caso o problema em questão seja linearmente separável.

3.1.1.3 Multi‐Layer Perceptron – MLP 

As redes de uma só camada resolvem apenas problemas linearmente separáveis. A solução de problemas não linearmente separáveis passa pelo uso de redes com uma ou mais camadas intermediárias (camadas escondidas). A utilização de duas camadas intermediárias permite a aproximação de qualquer

(5)

função. Dependendo da distribuição dos dados, a rede pode convergir para um mínimo local ou pode demorar demais para encontrar a solução desejada.

O problema passa a ser então como treinar estas redes. Uma possibilidade seria a divisão da rede em um conjunto de sub-redes, uma sub-rede para cada camada, com treinamento independente. Na camada de saída, outra rede combina as saídas produzidas pelas redes da primeira camada, gerando a classificação final. Esta solução esbarra na dificuldade de dividir um problema em subproblemas. Geralmente esta divisão ou não é possível ou é muito complicada.

Para treinar as redes com mais de uma camada, foi proposto um método que se baseia em gradiente descendente. Para que este método possa ser utilizado, a função de ativação precisa ser contínua, diferenciável e preferencialmente não decrescente. A função de ativação deve informar os erros cometidos pela rede para as camadas anteriores com a maior precisão possível.

3.1.2 Neuro-Fuzzy

O sistema fuzzy (sistema de lógica nebulosa) é uma generalização da teoria dos conjuntos clássica e visa implementar uma forma de pensamento humano na máquina. Na maioria das vezes o pensamento humano pode ser classificado e reduzido a dois estados binários, verdadeiro ou falso, preto ou branco, alto ou baixo, ou seja, somente dois valores (característica clássica). Contrapondo esta teoria, a lógica fuzzy é multivalorada, isto é, não atribui afirmação ao valor verdadeiro ou o falso, e sim a um grau de pertinência dentro de um intervalo numérico, por exemplo, um intervalo [0, 1]. Seus fundamentos são a teoria dos conjuntos nebulosos, que permite a manipulação de expressões verbais abstratas (como exemplo as expressões pequeno e muito próximo). Um sistema fuzzy pode então transformar as informações vagas e imprecisas em um formato numérico, preciso e possível de ser compreendido pelo computador.

Embora o sistema de inferência fuzzy tenha uma representação de conhecimento estruturada em uma forma de regras fuzzy if-then, falta adaptabilidade para tratar com mudanças externas de ambientes. Além disso, os sistemas fuzzy, que trabalham com imprecisão e explicam bem a sua tomada de decisão, não são capazes de gerar automaticamente as regras que os fizeram tomar as decisões.

Já as Redes Neurais são eficientes para a detecção de padrões, entretanto não são boas para explicar

como estes padrões são alcançados. A capacidade das Redes Neurais em solucionar problemas complexos deve-se ao seu poder computacional, que está relacionado diretamente à sua estrutura distribuída e à habilidade de aprendizado. Apesar destas características, o conhecimento obtido por uma rede treinada é de difícil acesso e, conseqüentemente, torna-se quase impossível controlar o processo de treinamento da rede. Dessa forma, podem gerar resultados inconsistentes e, até mesmo, incompreensíveis.

A limitação destas técnicas impulsionou os pesquisadores a investir na criação de sistemas inteligentes híbridos de computação neuro-fuzzy: Redes Neurais que reconhecem padrões e os adaptam para lidar com mudanças no ambiente, combinadas a sistemas de inferência fuzzy, que incorporam conhecimento humano e processam inferência e decisões [Jang, et al., 1997].

Sistemas neuro-fuzzy oferecem a precisão e a capacidade de treinamento das redes neurais, e também a facilidade de entendimento dos sistemas fuzzy. O conhecimento explícito adquirido dos sistemas fuzzy podem ser facilmente incorporados em tal sistema e o conhecimento implícito pode ser adquirido das amostras de treinamento para contribuir com a exatidão das saídas. Além disso, as novas regras e as regras geradas podem ser extraídas de um sistema neuro-fuzzy corretamente treinado para explicar como os resultados são gerados.

4 Resultados

Como resultados os autores realizaram comparações com diferentes algoritmos, Neuro-Fuzzy com taxa ótima de aprendizado, Redes Neurais utilizando Perceptron e Redes Neurais utilizando MLP. A ferramenta utilizada nesta comparação entre esses algoritmos foi usada a ferramenta Matlab. Foi utilizado como base de dados um repositório de aprendizado de maquina da Universidade da Califórnia Irvine e utilizou-se a mesma quantidade de padrões de treinamento (3500 padrões, 76%) e de validação (1101 padrões, 24% do total). Primeiramente, os algoritmos foram processados utilizando a base de dados completa e, posteriormente, foram processados com a mesma configuração, após a seleção dos atributos de maior relevância através da aplicação dos coeficientes de correlação. Antes do processamento dos algoritmos, os dados foram misturados aleatoriamente. A configuração de cada algoritmo foi processada seis vezes, sendo esse o

(6)

número mínimo necessário para que fosse possível realizar uma posterior análise estatística dos resultados. Cada ponto dos gráficos gerados representa a média dessas seis execuções.

Os resultados foram analisados de acordo com os valores das taxas de acertos, falsos positivos e de falsos negativos. A taxa de acertos se refere ao número de acertos obtidos na classificação dos padrões de validação, dividido pelo número total dos padrões de validação. A taxa de falsos positivos se refere ao número dos padrões de validação que representam e-mails válidos do usuário, mas que foram classificados incorretamente como spam, dividido pelo número total dos padrões de validação. A taxa de falsos negativos se refere ao número de padrões de validação que representam spams, mas que foram classificados incorretamente como e-mails válidos do usuário, dividido pelo número total dos padrões de validação. Os valores obtidos destas taxas foram multiplicados por cem.

4.1.1 Resultados obtidos após a aplicação dos coeficientes de correlação

Após a aplicação dos coeficientes de correlação para a verificação dos atributos de maior variabilidade em relação à saída desejada, os treinamentos foram processados novamente com os mesmos parâmetros processados anteriormente, utilizados para treinamento e validação. A seguir, os resultados do treinamento após a seleção dos atributos pela aplicação dos coeficientes de correlação são apresentados para os algoritmos Neuro-Fuzzy e Perceptron. Os resultados da rede MLP são apresentados posteriormente.

4.1.2 Neuro-Fuzzy

Para o treinamento Neuro-Fuzzy após a aplicação dos coeficientes da correlação, os algoritmos foram processados novamente pela variação do número de funções de pertinência e do número de épocas. A seguir, os resultados são apresentados.

Os gráficos da Figura 4.1 e os dados da Tabela 4.7 ilustram a variação das taxas de acertos, de falsos negativos, falsos positivos e do tempo em relação à variação do número de funções de pertinência, antes e após a aplicação dos coeficientes de correlação, utilizando apenas uma iteração. Observando a Figura 4.1, é notável que em ambos os gráficos, para um número menor de 15 funções de pertinência, obtêm-se as menores taxas de acertos (taxas menores de 80%).

A taxa de acertos tendeu a aumentar levemente em relação ao aumento do número de funções de pertinência e manteve-se praticamente estável em uma média de 82% após 35 funções de pertinência. O tempo de processamento reduziu após aplicação dos coeficientes de correlação de uma média de 0,8 minuto para 0,3 minuto.

Para um número acima de 20 funções de pertinência, observado em ambos os gráficos, as taxas de falsos positivos e falsos negativos mantiveram-se praticamente estáveis.

Sem aplicar os coeficientes de correlação

Aplicando os coeficientes de correlação

Figura 4.1: Neuro-Fuzzy – Variação do número de funções de pertinência antes e após a aplicação dos coeficientes de correlação

Pela análise da Figura 4.1 e da Tabela 4.1, nota-se que a aplicação dos coeficientes de correlação não provocou grandes variações na taxa de falsos positivos

(7)

e na taxa de falsos negativos, mantendo suas médias em aproximadamente 4,5% e 13% respectivamente antes e após a aplicação dos coeficientes de correlação.

Tabela 4.1: Neuro-Fuzzy – Médias e desvios-padrão obtidos da variação do número de funções de pertinência, antes e após a aplicação dos coeficientes de correlação

Os gráficos da Figura 4.2 ilustram a variação da taxa de acertos em relação ao número de épocas do algoritmo Neuro-Fuzzy. Conforme observado anteriormente, devido ao fato da taxa de acertos possuírem maior valor com um maior número de funções de pertinência, para estes gráficos foram utilizadas 65 funções de pertinência. E, como os atributos foram reduzidos para o cálculo, o número de épocas foi variado de 1 até 10.

Os resultados da Figura 4.2 e da Tabela 4.2 mostram pouca mudança de perfil da taxa de acertos após a aplicação dos coeficientes de correlação, que manteve uma média de 88% em relação à variação do número de épocas. Já o tempo de processamento aumentou de uma média de 0,18 minuto para uma média de 0.35 minuto devido ao aumento do número de épocas de 5 para 10, após a seleção dos atributos.

Sem aplicar os coeficiente de correlação

Aplicando os coeficiente de correlação

Figura 4.2: Neuro-Fuzzy – Variação do número de épocas antes e após a aplicação dos coeficientes de correlação

Pela observação da Tabela 4.2 nota-se também que, após a aplicação dos coeficientes de correlação, a média de valores dos falsos negativos aumentou muito pouco, de 8,99% para 9,11%. Os falsos positivos também aumentaram pouco, passando de uma média de 2,58% para 2,98%.

Em ambos os gráficos antes e após a aplicação dos coeficientes de correlação, observou-se uma diferença significativa entre as taxas de falsos negativos e de falsos positivos em 6 pontos percentuais (antes da aplicação dos coeficientes de correlação: 8% de falsos negativos e 2% de falsos positivos; após os coeficientes de correlação: 9% de falsos negativos e 3% de falsos positivos).

Tabela 4.2: Neuro-Fuzzy – Médias e desvios-padrão obtidos da variação do número de épocas, antes e após a aplicação dos coeficientes de correlação

4.1.3 Perceptron Simples

A análise dos resultados obtidos pelo algoritmo do Perceptron antes e após a aplicação dos coeficientes de correlação é ilustrada a seguir, na Figura 4.3 e na Tabela 4.3.

Os resultados do algoritmo Perceptron apresentados na Figura 4.3, permite observar que a aplicação dos coeficientes de correlação para este algoritmo, praticamente não alterou os valores das taxas de acertos, falsos positivos, falsos negativos e do

(8)

tempo gasto no treinamento. Houve diferença apenas no processamento realizado após aplicação dos coeficientes de correlação devido à ocorrência de mínimos locais, pois o algoritmo sempre parou antes de completar o processamento de 200 iterações, apresentando valores nulos para os desvios padrões. O tempo de processamento foi reduzido significativamente para 0,05 minuto.

As médias de processamento dos parâmetros deste algoritmo antes e após a aplicação dos coeficientes de correlação são apresentadas na Tabela 4.3. O algoritmo do perceptron apresentou uma média de acertos de 90%, taxa de falsos positivos e falsos negativos em uma média de 4% e 5% respectivamente, em ambos os processamentos antes e após a aplicação dos coeficientes de correlação.

Sem aplicar os coeficientes de correlação

Aplicando os coeficientes de correlação

Figura 4.3: Perceptron – Variação do número de épocas antes e após a aplicação dos coeficientes de correlação.

Tabela 4.3: : Perceptron – Médias e desvios-padrão obtidos da variação do número de épocas, antes e após a aplicação dos coeficientes de correlação. Obs: não houve variação dos valores obtidos nas várias execuções do algoritmo após a aplicação dos coeficientes de correlação, levando aos valores nulos de desvio-padrão mostrados acima

4.1.4 MPL

A seguir são apresentados os resultados obtidos no processamento anterior e posterior à aplicação dos coeficientes de correlação para o algoritmo MLP, com a representação de apenas uma camada de saída. O algoritmo foi processado utilizando a mesma configuração para execução antes e após a aplicação dos coeficientes de correlação.

Analisando a Figura 4.4 e a Tabela 4.4, observa-se uma ligeira queda na taxa de acertos em relação ao aumento do número de épocas, antes e após a aplicação dos coeficientes de correlação. De acordo com a Tabela 4.4 a taxa média de acertos diminuiu de 93,02% para 91,55%. O tempo de processamento praticamente não foi alterado, manteve uma média de aproximadamente 1,6 a 1,7 minutos.

A observação dos resultados obtidos na Tabela 4.4 pelo treinamento da rede MLP, permite observar que a aplicação dos coeficientes de correlação acarretou em um aumento dos valores dos falsos positivos de uma média de 3,96% para uma média de 4,29%. Enquanto que os falsos negativos aumentaram de uma média de 2,99% para uma média de 4,15%.

(9)

Aplicando os coeficientes de correlação

Figura 4.4: MLP – Variação do número de épocas, antes e após a aplicação dos coeficientes de correlação. Apenas um neurônio foi utilizado na camada de saída

Tabela 4.4: : MLP – Médias e desvios-padrão obtidos da variação do número de épocas, antes e após a aplicação dos coeficientes de correlação, com apenas um neurônio na camada de saída.

4.1.5 Análise comparativa dos resultados  A seguir, é apresentada a análise dos resultados obtidos no processamento dos algoritmos propostos neste trabalho.

Tabela 4.5: Resultados obtidos do algoritmo Neuro-Fuzzy antes e após a aplicação dos coeficientes de correlação

A Tabela 4.5 ilustra os resultados obtidos do algoritmo Neuro-fuzzy, pode-se observar que este apresentou bom desempenho obtendo uma taxa média de acertos em aproximadamente 88%. A aplicação dos coeficientes de correlação para este algoritmo praticamente não alterou os resultados. Este algoritmo se destacou por apresentar estabilidade na redução da taxa de falsos positivos. Em geral, apresentou os menores valores para as taxas de falsos positivos em relação às taxas de falsos negativos para execuções com um maior número de funções de pertinência (60).

Observou-se para este algoritmo que o aumento do número de funções de pertinência acarretou no aumento da taxa de acertos.

Tabela 4.6: Resultados obtidos do algoritmo Perceptron antes e após a aplicação dos coeficientes de correlação

A Tabela 4.6 descreve os resultados obtidos no algoritmo Perceptron. Observa-se que este apresentou boa estabilidade na detecção dos padrões de validação, pois obteve uma média de 90% na taxa de acertos e favoravelmente apresentou pouca variabilidade em seus resultados. A aplicação dos coeficientes de correlação para algoritmo do Perceptron, praticamente não alterou seus resultados. Mostrou-se também bastante eficiente por obter o menor tempo de processamento em uma média de 0,05 minuto (após a seleção pelos coeficientes de correlação), quando comparado aos outros algoritmos desenvolvidos. Este algoritmo apresentou a ocorrência de mínimos locais no treinamento realizado após a aplicação dos coeficientes de correlação.

Os resultados do algoritmo MLP são analisados na Tabela 4.7.

Tabela 4.7: Resultados obtidos do algoritmo MLP antes e após a aplicação dos coeficientes de correlação.

Observando a Tabela 4.7, em geral, verifica-se que o algoritmo MLP apresentou os maiores valores nas taxas médias de acertos. Para os resultados obtidos antes da aplicação dos coeficientes de correlação, a representação binária para a saída deste algoritmo praticamente não alterou os resultados obtidos, mantendo uma média de 93% na taxa de acertos, 4% para os falsos positivos, 3% para falsos negativos e uma média de 1,7 minutos no tempo de processamento.

A aplicação dos coeficientes de correlação para este algoritmo resultou em pequena redução da taxa de acertos (de 93% para 92%) e do tempo de processamento, passando de 1,7 minutos para 1,5 minutos em média.

(10)

A configuração utilizada para o algoritmo MLP, foi semelhante a que foi utilizada por Sivanadyan [Sivanadyan, 1999], em seu trabalho relacionado a aplicação das Redes Neurais para detecção de spam (este trabalho citado processou a mesma base de dados que foi utilizada no presente trabalho). O trabalho de Sivanadyan utilizou cinco camadas escondidas 20 – 10 – 10 – 10 – 7 – 1, obtendo 93,8% para a taxa de acertos. Este trabalho utilizou apenas três camadas escondidas: 20 – 10 – 7 – 1 obtendo uma taxa média máxima de 93,02% de acertos.

5 Considerações Finais

Confrontando os resultados observou-se que o melhor resultado para o algoritmo K-NN, obtido após a aplicação dos coeficientes de correlação, foi entre todos o de pior desempenho, tanto em porcentagem de acertos (76,54%) como no tempo gasto de processamento, com uma média de 4,55 minutos, além da pior taxa de falsos positivos (9,85%) e de falsos negativos (13,59%).

O Perceptron, com uma camada, função de treinamento trainrp e após a aplicação dos coeficientes de correlação, apresentou a maior eficiência no tempo de processamento, com uma média de 0,05 minutos, e obteve também uma boa porcentagem de acertos, com uma média de 90% e com boas taxas de falsos positivos e de falsos negativos.

O algoritmo Neuro-Fuzzy, após a aplicação dos coeficientes de correlação, obteve uma média de 88,44% de acertos, quase tão boa quanto as Redes Neurais, e apresentou a peculiaridade de ter a menor taxa de falsos positivos, 2,58% com 35 funções de pertinência. Seu tempo de processamento foi o segundo menor (0,18 minutos).

Entre os processamentos realizados do algoritmo MLP, o que obteve o melhor desempenho foi o de representação de apenas uma saída, anterior à aplicação dos coeficientes de correlação, alcançando uma taxa de acertos em 93,02%, a uma taxa média de 3,96% de falsos positivos, em 1,75 minutos.

A Tabela 5.1 demonstra os resultados comparativos dos testes realizados em relação às métricas: percentual de acerto, falso positivos, falso negativos e tempo de processamento.

Tabela 5.1: Resultados obtidos do algoritmo MLP antes e após a aplicação dos coeficientes de correlação.

Devido ao menor tempo gasto no treinamento do Perceptron, que apresentou uma média de 0,05 minuto (após seleção pelos coeficientes de correlação), entre os algoritmos propostos, este é indicado para a utilização em filtros de conteúdo para servidores de e-mail, além de ter apresentado uma boa porcentagem de acertos, atingindo em média 90%. A taxa de falsos positivos também mostrou-se satisfatória em uma média de apenas 4% das mensagens.

6 Referências

Andrade, L. M. d. (2006). Análise Comparativa de Técnicas de Inteligência Computacional para a Detecção de Spam. Programa de Pós-Graduação em Engenharia Elétrica. Belo Horizonte,MG, Universidade Federal de Minas Gerais. Mestre: 65. Cranor, L. F. e LaMacchia, B. A. (1998). "Spam!"

Communications of the ACM 41(8): 74-83.

Goetschi, R. (2004). SPAM- Filtering using Artificial

Neural Networks. Computer Science Department,

University of Applied Sciences.

Haupt, R. (2004). "Unsolicited commercial e-mail (UCE)." IEEE Antennas and Propagation Magazine 46(5): 153-154.

Jang, J., Sun, C. e Mizutani, E. (1997). Neuro-Fuzzy

and soft computing, Prentice-Hall.

Lad, A. e Saggar, M. (2004). SpamNet–Spam Detection using PCA and Neural Networks and Heuristic Rules. International Conference on

Machine Learning and Applications (ICMLA'04),

Louisville, KY, USA.

Pfleeger, S. e Bloom, G. (2005). "Canning SPAM: Proposed solutions to unwanted email." IEEE

Security & Privacy Magazine 3(2): 40-47.

Whitworth, B. e Whitworth, E. (2004). "Spam and the Social-Technical Gap." IEEE Computer Society: 38-45.

Referências

Documentos relacionados

▪ Quanto a solução para os conflitos entre os pais e a escola, houve um grande número de pais que não responderam, o que pode nos revelar que os pais não fizeram

PEDERTRACTOR QUIROGRAFÁRIO 2 05.993.074/0001-90 ABC APOLINOX METAIS E TELAS PERFURADAS LTDA.. RODOVIARIO DE

• Quando o navegador não tem suporte ao Javascript, para que conteúdo não seja exibido na forma textual, o script deve vir entre as tags de comentário do HTML. <script Language

Para se estimar a variação genética na população de SR, foram utilizados dois tipos de progênies endogâmicas (S 0:1 e S 1:2 ) ou não (Meios-irmãos-MI).. Essa é uma

João Bosco Mota Amaral9500-765 Ponta Delgada, São Miguel - Açores.. Telefon: +351 296

Diante disso, o presente trabalho indagou por meio de pesquisas realizar um levantamento das possíveis causas que resultaram na desativação do sistema de captação de água do

Treatment of osteochondral injuries of the talus up to 1.5 cm diameter by arthroscopy and injury resection with drilling and debridement improves pain and function of the

Estou ciente que durante a fase de análise do meu pedido de isenção 2022, caso constate-se a necessidade de demais documentos e/ou esclarecimentos, serei notificado(a) por