TÍTULO: COMPARAÇÃO DE TÉCNICAS INTELIGENTES PARA A DETEÇÃO DE SPAM EM REDES DE COMPUTADORES CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA INSTITUIÇÃO: FACULDADE DE TECNOLOGIA DE BAURU AUTOR(ES): ATAIR ALVES CAMARGO JUNIOR, HENRIQUE P. MARTINS, KELTON A. P. DA COSTA, LUIS ALEXANDRE DA SILVA, MIGUEL NEVES ORIENTADOR(ES): PATRICIA BELLIN RIBEIRO 1. RESUMO Nas últimas décadas as anomalias em redes de computadores têm aumentado gerando uma preocupação e uma necessidade de criação de técnicas para identificar esses padrões de tráfegos incomuns. Esta pesquisa tem como objetivo a utilização de técnicas de mineração de dados, a fim de identificar corretamente o tipo de anomalia considerada Spam em mensagens eletrônicas (e-mails), para isso foi utilizada a ferramenta Weka que é composta por uma coleção de algoritmos de aprendizado de máquina para tarefas de mineração de dados, com a finalidade de identificar e analisar esse tipo de anomalia em um conjunto de dados de mensagens eletrônicas chamado SPAMBASE, gerando resultados para comparação da eficiência das técnicas utilizadas. 2. INTRODUÇÃO Nos últimos anos, várias pesquisas em ciência da computação foram conduzidas salientando o uso de redes neurais artificiais, mineração de dados e técnicas como árvore de decisão em uma tentativa de minimizar a taxa de recebimento de Spam no âmbito comercial e pessoal (CARRERAS; MARQUEZ, 2001; CORTEZ et al., 2009; RASIM; RAMIZ; SAADAT, 2011; KUFANDIRIMBWA; GOTORA, 2012; KUMAR; POONKUZHALI; SUDHAKAR, 2012; BORGES; MARQUES; BERNARDINO, 2013; RATHI; PAREEK, 2013). Entre uma ampla variedade de técnicas de aprendizagem automática, a mineração de dados pode ser considerada uma das mais utilizadas, esta faz parte do processo do KDD-based (Knowlegde Discovery in Datasets – Descoberta de Conhecimento em Banco de Dados), cuja finalidade é encontrar padrões correlacionados sobre um interesse específico. Os passos para a aplicação do KDD podem ser apresentados de forma cognitiva, interativa e exploratória baseados nas seguintes fases: (i) definir o tempo de conhecimento a ser buscado, (ii) definir um conjunto de dados, (iii) pré-processar e reduzir o conjunto de dados, e (iv) então realizar a mineração de dados que busca interpretar os padrões descobertos (FAYYAD; PIATESKY-SHAPIRO; SMYTH, 1996; NARENDRAN, 2009). E-mails Spam (lixo eletrônico) fazem parte de umas das áreas mais problemáticas da era da internet, que podem trazer prejuízo financeiro à organizações e danos à todos os usuários em geral. Por exemplo, Rambow et al. (2004), aplicou o classificador “the Ripper” para identificar características linguísticas para definir se um e-mail é Spam ou não. Carreras e Marquez (2001) utilizaram o classificador árvore de decisão no mesmo contexto. Redes Bayesianas são amplamente usadas como uma técnica popular para detecção de Spams (SAHAMI; HECKERMAN; HORVITZ, 1998; RAMIZ; SAADAT, 2011; EROSHEVA; FIENBERG, 2004; KUFANDIRIMBWA; GOTORA, 2012), bem como lógica Fuzzy (MOHAMMAD, 2011) e outros métodos baseados em regras (BIRO; BENCZUR; SIKLOSI, 2009). Outras pesquisas também utilizaram o famoso algoritmo do vizinho mais próximo (k-nearest neighbor) (PERKINS, 2001), para detectar Spams, e também uma ampla variedade de métodos de aprendizagem automática como a mineração de dados TANAGRA que foi aplicada por Kumar, Poonkuzhali e Sudhakar (2012), no mesmo contexto. Cortez et al. (2009), descreveu uma abordagem de mineração de dados simbiótica, que unifica filtragem baseada no contexto com a filtragem colaborativa melhorando o contexto de detecção de Spam. Borges, Marques e Benardino (2013), compararam quatro ferramentas livres de mineração de dados com o mesmo propósito: KNIMME, Orange, RapidMiner e Weka, sendo seu objetivo descobrir a técnica mais precisa entre elas: classificação Bayesiana (Naïve Bayes), os mais próximos vizinhos (k-nearest neighbors), máquinas de vetores de suporte (Support Vector Machines) e classificador C4.5. Os resultados dos experimentos mostraram que não há uma única ferramenta ou técnica que sempre terá os melhores resultados. Bahrololum e Khaleghi (2008), propuseram um sistema de detecção de intrusões baseado no modelo de mistura Gaussiana, na qual a ideia era modelar os padrões de atividades normais e de intrusão para então classificar futuras amostras. A probabilidade máxima entre as diferentes amostras foi usada para distinguí-las, sendo que o banco de dados KDD’99 foi utilizado para executar o estudo (HETTICH; BAY, 1999). Buchtala, Klimek e Sick (2005), utilizaram um algoritmo evolutivo (AE) para realizar simultaneamente a seleção de características e modelos para quatro problemas de mineração de dados: detecção de intrusões em redes de computadores, verificação de assinaturas biométricas, métodos de marketing direto de vendas e a otimização de processos de produção química. Este mostrou que, em comparação com as técnicas de otimização baseadas em AE anteriores, o tempo de execução é reduzido em até 99%, enquanto a taxa de erros caiu em até 86% dependendo da aplicação. Liu et al. (2011), descreveram uma abordagem de detecção de anomalias usando uma rede neural probabilística otimizada. Primeiramente usaram um algoritmo de estímulo adaptativo básico (AdaBoost) e analisaram suas desvantagens, e então utilizaram um algoritmo AdaBoost melhorado para classificar os eventos detectados como normais ou intrusivos. Sharms e Mercer (2013), apresentaram um método de classificação de Spam que usa características baseadas nas propriedades do e-mail tais como a frequência de palavras em Spams, tags de html, características de linguagem como gramática e erros de ortografia, entre outros. As características foram extraídas de quatro banco de dados de referência: CSDMC2010, Spam Assassin, Ling Machine, e classificação Bayssiana. Embora o experimento focou somente em e-mails na língua inglesa, os resultados indicaram que o método proposto pode ser uma excelente abordagem para classificar Spams em outras línguas. Embora existam muitos estudos para detecção de Spams, apenas poucos deles focaram em uma única ferramenta para propósitos de comparação. Por isso, este estudo busca comparar três técnicas de reconhecimento de padrões utilizando a ferramenta Weka com: Multi-Layer Perceptron (MLP) usando redes neurais artificiais, Radial Basis Function (RBF) e o classificador baseado em árvore de decisão J48. Para este propósito, foi utilizado uma base com um conjunto de e-mails chamado SPAMBASE (HOPKINS et al., 2014), que contêm 4.601 amostras previamente rotuladas, onde 1.813 rotuladas como normais (39,40%) e o restante, 2.788 rotuladas como Spam (60,60%). Este estudo está organizado da seguinte maneira: a seção 3 apresenta os objetivo específico do trabalho, a seção 4 aborda uma breve revisão teórica sobre as técnicas usadas neste trabalho. As seções 5 e 6 apresentam a metodologia e os resultados dos experimentos. Finalizando, a seção 7 demostra as conclusões. 3. OBJETIVOS Utilizar técnicas de mineração de dados, a fim de identificar corretamente o tipo de anomalia considerada Spam em mensagens eletrônicas (e-mails). 4. METODOLOGIA Nesta seção, uma revisão teórica será brevemente apresentada sobre as técnicas de reconhecimento de padrões utilizadas neste trabalho. Sendo elas: o classificador árvore de decisão J48 e as redes neurais artificiais MLP e RBF. Além disso, a ferramenta Weka é descrita. 4.1. DECISION TREE (J48) O classificador de árvore de decisão J48 é uma implementação de código livre Java do algoritmo C4.5 na ferramenta de mineração de dados Weka. Tal técnica foi utilizada para gerar uma árvore de decisão usando o conceito de entropia da informação, que pode ser usado para propósitos de classificação estatística (KARIMI; HAMILTON, 2002). A técnica produz um conjunto de regras chamadas de listas de decisão, trabalhando para formar um árvore de decisão parcial e imediatamente convertê-la em uma regra correspondente. O critério de separação é o ganho da informação normalizada. Por isso, o atributo com o maior ganho da informação normalizada é escolhido para formar a decisão (KOTSIANTIS, 2007). 4.2. RADIAL BASIS FUNCTION (RBF) Funções de base radiais foram empregadas com sucesso em vários problemas de aprendizagem automatizada, e seu uso foi amplamente relatado na literatura. Tais abordagens são parte da rede neurais artificiais onde as funções de base radiais são usadas para computar a ativação de neurônios ocultos, e foram empregados em funções de aproximação e problemas de reconhecimento de padrões, com sucesso. Em geral, redes RBF estão associadas com arquiteturas compostas por três camadas, onde uma combinação não-linear dos resultados dos neurônios ocultos é então usada para calcular a resposta da rede neural artificial de uma amostra de dados (SILVA et al., 2010; BUCHTALA; KLIMEK; SICK, 2005; LIJUAN, 2009; GOVINDARAJAN; CHANDRASEKARAN, 2011). Khade, Kumar e Bhattacharya (2012), descreve que redes neurais RBF fazem parte da ferramenta Weka que implementa a rede de funções de base radiais Gaussiana. Este usa o algoritmo de média de um grupo (k-means clustering) para gerar as funções base e aprender tanto uma regressão logística (problemas de classe discreta) ou uma regressão linear (problemas de classe numérica). Classificação Gaussiana multivariada simétrica é adaptada para cada grupo de dados. Este também padroniza todos os atributos numéricos da média zero e variação de unidades (KHADE; KUMAR; BHATTACHARYA, 2012; RAMBOW et al., 2004). 4.3. MULTI-LAYER PERCEPTRON (MLP) A rede MLP utiliza o método de aprendizagem supervisionado (HAYKIN, 2009; SILVA; SPATTI; FLAUZINO, 2010). Tal técnica calcula a taxa de erro da camada de saída e retropropaga o resultado para as camadas ocultas para atualizar o peso de todas as camadas através do algoritmo de aprendizagem Backpropagation (HAYKIN, 2009). O processo de treinamento tem duas fases: (i) a propagação que é usada para gerar o resultado de ativação de um padrão de treinamento de um dado, e (ii) a retropropagação que usa o resultado real e de rede para atualizar o peso de ativação de todas as camadas, buscando minimizar a taxa de erro de treinamento (HAYKIN, 2009). A rede neural MLP somente será considerado treinado quando a taxa de erro entre os resultados estiver reduzido à um valor aceitável, isto é, um critério de convergência. De acordo com Haykin (2009), o algoritmo segue várias etapas: inicialização, apresentação da amostra de treinamento, propagação e retropropagação. 4.4. WEKA DATA MINING TOOL O Weka é uma popular ferramenta de aprendizagem automático escrito em Java, desenvolvido pelo Universidade de Waikato, Nova Zelândia. Este software está disponível sob a Licença Pública Geral (GNU) que contém uma coleção de ferramentas gráficas, algoritmos de análise de dados e modelos de predição, em conjunto com interfaces gráficas para um acesso facilitado às funcionalidades. Suporta várias tarefas de mineração de dados padrão, mais especificadamente, préprocessamento de dados, agrupamento (clustering), classificação, regressão, visualização e seleção de características. Todas as técnicas do Weka são predicadas na suposição que os dados estão formatados em um único arquivo ou relacionado onde cada ponto dos dados é descrito por um número fixo de atributos que podem ser numéricos ou nominais, porém alguns outros atributos também são compatíveis (WITTEN; FRANK; HALL, 2011; HOLMES; DONKIN; WITTEN, 1994). O painel de pré-processamento tem alguns recursos para importar dados de um banco de dados (um arquivo CVS, por exemplo) e também algoritmos para realizar a filtragem dos dados. Os filtros podem ser usados para transformar, os atributos numéricos em discretos, tornando possível deletar instâncias e atributos de acordo com certos critérios (WITTEN; FRANK; HALL, 2011). O painel de classificação permite ao usuário aplicar algoritmos de classificação de regressão no banco de dados, estimar a precisão do modelo de resultado de predição, e além disso, visualizar as predições errôneas, com a técnica de curva Receiver Operating Characteriscs (ROC), ou até o próprio modelo. O formato de arquivo da ferramenta Weka é o modelo AttributeRelation file format (ARFF) que é um arquivo de texto ASCII. 5. DESENVOLVIMENTO Nesta seção, apresentaremos a metodologia empregada para validar os resultados entre os classificadores descritos na seção 4. Para analisar a quantidade de anomalias, foi utilizado o banco de dados SPAMBASE, que contém 57 atributos relacionados a frequência de algumas palavras no conteúdo de e-mails. Este banco de dados foi criado para aperfeiçoar a segurança de software de redes de computadores. Ataques usando e-mails com Spam podem causar prejuízo relacionados a perda de tempo desnecessária, aumento de custo, perda de produtividade, conteúdo impróprio, ofensivo e perda financeira causada por fraude. O banco de dados pode ser carregado na ferramenta Weka usando o formato de arquivo ARFF, supramencionado, cada coluna contém um atributo dos dados, que representa um palavra e sua frequência. Um método estatístico padrão chamado de validação cruzada (HAYKIN, 2009), foi escolhido para avaliar a efetividade das técnicas comparadas. Tal abordagem particiona randomicamente o banco de dados em grupo de teste e treinamento, sendo o primeiro composto por 75% de todo o conjunto de dados, e o último contém os 25% restantes do conjunto de dados (estas porcentagens foram escolhidas empiricamente). Este procedimento foi realizado por 10 vezes, sendo que a precisão média foi empregada em propósito de comparação. Adicionalmente, uma técnica chamada curva ROC (SURI; RANGAYYAN, 2006), foi usada para avaliar a sensibilidade dos classificadores em pesquisas similares. Cada ponto da curva representa um limiar diferente entre o resultado da fração de verdadeiro positivo e a fração de falso positivo, gerando uma curva que mostra a relação entre a força do teste com a probabilidade de cometer um erro. Por isso, cada ponto da curva ROC descreve um critério para distinguir os dados normais dos anormais. De acordo com Metz (1996), uma curva ROC representa a performance que pode ser alcançada entre a sensibilidade e a especificidade de um sistema de diagnóstico quando um limiar é alterado. Uma comparação entre os sistemas pode ser realizado através das áreas da curva de cada sistema (SURI; RANGAYYAN, 2006). A área Az é um dos índices mais frequentemente usados da curva ROC, e está área representa os resultados corretos no sistema (classificador), isto é, quando maior a área, maior é a quantidade de resultados corretos. Isto significa que se o sistema for bem balanceado e altamente preciso, a curva deveria estar o mais próximo possível da parte esquerda superior do eixo cartesiano, aumentando a área da curva (DORFMAN; ALF, 1969; HANLEY; MCNEIL, 1983). 6. RESULTADOS Nesta seção, será apresentado os resultados obtidos usando a metodologia previamente descrita. As tabelas 1, 2 e 3 apresentam os resultados das técnicas J48, RBF e MLP respectivamente. O algoritmo J48 obteve uma taxa de reconhecimento médio de 92,76%, onde 89,79% da amostra de e-mails não Spam foram corretamente classificados, e 93,34% da amostra de e-mails Spam foram corretamente reconhecidos. Observando que o Az empregado foi igual à 0,941. Tabela 1. Matrix de Confusão – J48. Spam Não Spam Taxa% 2.602,32 185,68 93,34% 185,11 1.627,89 89,79% Taxa Média %: 92,76% A rede neural RBF foi ajustada conforme: 57 atributos de entrada, uma camada oculta com 2 neurônios e uma camada de saída com 1 neurônio. Após a finalização do processo de aprendizagem, foi possível obter uma taxa de conhecimento média de 84,30%, onde 78,60% da amostra de e-mails de não Spam foram corretamente classificada e 89,99% da amostra de e-mails Spam foram corretamente classificadas. Observe que o Az empregado foi igual à 0,920. Tabela 2. Matrix de Confusão – RBF. Spam Não Spam Taxa% 2.509 279 89,99% 388 1.425 78,60% Taxa Média %: 84,30% A arquitetura da rede MLP foi ajustada da seguinte forma: 57 atributos de entrada, uma camada intermediaria com 68 neurônios, e uma camada de saída com 1 neurônio. Uma taxa de aprendizagem de 0,3 e momentum igual à 0,2. Após a finalização do algoritmo de aprendizagem, foi possível obter uma taxa de reconhecimento de 93,89%, sendo que 93,87% dos e-mails de não Spam foram corretamente classificados e 93,93% dos e-mails Spam foram corretamente classificadas. Observando que o AZ empregado foi igual à 0,980. Tabela 3. Matrix de Confusão – MLP. Spam Não Spam Taxa% 2.617,10 170,90 93,93% 110,05 1.702,95 93,87% Taxa Média %: 93,89% 7. CONSIDERAÇÕES FINAIS Atualmente, muitas pesquisas sobre redes de computadores e campos relacionados, empregam o uso de técnicas de aprendizagem automática para analisar o comportamento e habilidade para detectar qualquer possível anomalia de uma certa rede. Neste trabalho, o problema de detecção de Spam foi focado, utilizando a ferramenta Weka para comparar a efetividade de alguns algoritmos de aprendizagem com relação ao problema. Sendo abordadas as seguintes técnicas inteligentes: J48, RBF e a MLP. Os resultados dos experimentos foram analisados através da teoria da curva ROC. As taxas de reconhecimento demonstraram que o classificador J48 com 92,76% e o MLP com 93,89% obtiveram resultados muitos parecidos, seguidos dos resultados da rede RBF com um total de taxa de acerto de 89,99%. Para futuros trabalhos, poderá ser empregadas novas técnicas de reconhecimento de padrões com o mesmo propósito, tão quanto investigar abordagens que nunca foram aplicadas neste contexto. 8. FONTES CONSULTADAS BAHROLOLUM, M.; KHALEGHI, M. Anomaly Intrusion Detection System Using Gaussian Mixture Model. Convergence and Hybrid Information Technology, 2008. ICCIT '08. Third International Conference on , vol.1, no., pp.1162,1167, 11-13, Nov. 2008. BIRO, I.; SZABO, J.; BENCZUR A.; SIKLOSI, D. Linked Latent Dirichlet Allocation in Web Spam Filtering. In Proceedings of the 4th International Workshop on Adversarial Information Retrieval on the Web (AIR Web), Madrid, Spain, 2009. BORGES, L. C.; MARQUES, V. M.; BERNARDINO, J. Comparison of data mining techniques and tools for data classification. In Proceedings of the International C* Conference on Computer Science and Software Engineering. ACM, New York, NY, USA, 113-116, 2013. BUCHTALA, O.; KLIMEK, M.; SICK, B., Evolutionary optimization of radial basis function classifiers for data mining applications. Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, vol. 35, no.5, p. 928 - 947, Oct. 2005. Carreras, X.; Marquez, L. Boosting trees for anti spam filtering. In International conference on Recent Advances in Natural Language Processing, p. 160-167, 2001. CORTEZ, P.; LOPES, C.; SOUSA, P.; ROCHA, M.; Rio, M. Symniotic data mining for personalized spam filtering. In the Proceedings of the International Conference on Web Intelligence and Intelligent Agent Technology, p. 149 – 156, 2009. DORFMAN, D.; ALF, E. Maximum likelihood estimation of parameters of signal detection theory and determination of confidence intervals-rating method data. Journal of Mathematical Psychology, 6, p. 487- 496, 1969. EROSHEVA, E. A.; FIENBERG, S. E. Bayesian mixed membership models for soft clustering and classification. Proceedings of National Academy of Sciences, 97(22): 11885-11892, 2004. FAYYAD, U. M.; PIATESKY-SHAPIRO, G.; SMYTH, P. From Data Mining to Knowledge Discovery: An Overview. In: Advances in Knowledge Discovery and Data Mining. AAAI Press, 1996. GOVINDARAJAN, M.; CHANDRASEKARAN, R. M., Signature verification using radial basis function classifier. Electronics Computer Technology (ICECT), 2011 3rd International Conference on , vol.5, no., p.182,185, 8-10 April 2011. HANLEY, J. A.; MCNEIL, B. J. A method of comparing the areas under receiving operating characteristic curves derived from the same cases. Radiology, 148, p. 839 - 843, 1983. HAYKIN, S. Neural Networks and Learning Machines. Editora Prentice Hall, 3 Ed., p. 936, 2009. HETTICH, S.; BAY, S. D. The UCI KDD Archive. Irvine, CA: University of California, Department of Information and Computer Science, http://kdd.ics.uci.edu, 1999. HOLMES, G.; DONKIN, A.; WITTEN, I. H. Weka: A machine learning workbench. Proc Second Australia and New Zealand Conference on Intelligent Information Systems. Australia: Brisbane, 1994. HOPKINS, M.; REEBER, E.; FORMAN, G.; SUERMONDT, J. SPAMBASE. Disponível em: http://www.ics.uci.edu/~mlearn/databases/spambase/. Acesso em: 20 Agosto de 2014. KARIMI, K.; HAMILTON, H. J. TimeSleuth: A Tool for Discovering Causal and Temporal Rules. ICTAI, 2002. KHADE, G., KUMAR, S., BHATTACHARYA, S. Classification of Web pages on Attractiveness: A Supervised Learning Approach. IEEE Procedings of 4th International Conference on Intelligent Human Computer Interaction, p. 27 - 29, 2012. KOTSIANTIS, S. B. Supervised Machine Learning: A Review of Classification Techniques, Informática 31, 249-268, 2007. KUFANDIRIMBWA, O.; GOTORA, R. Spam detection using Artificial Neural Networks. In Online Journal of Physical and Environmental Science Research, 1:22-29, 2012. KUMAR KISHORE, R.; POONKUZHALI, G.; SUDHAKAR, P. Comparative study on email spam classifier using data mining techniques. Lecture Notes in Engineering and Computer Science, 1, p. 539 - 544, 2012. LIJUAN, Zhou; MINHUA, Wu; MINGSHENG, Xu; HAIJUN, Geng; LUPING, Duan, Research of Data Mining Approach Based on Radial Basis Function Neural Networks. Knowledge Acquisition and Modeling, 2009. KAM '09. Second International Symposium, vol.2, p. 57 - 61, Dec. 2009. LIU, W.; Ren, P.; LIU, K.; DUAN, H., Intrusion Detection Using SVM, Wireless Communications. Networking and Mobile Computing (WiCOM), 2011 7th International Conference on , vol., no., pp.1,4, 23 – 25, 2011. METZ, C. E. ROC Methodology in Radiologic Imaging. Investigative Radiology, v. 21, p. 720 733, 1986. MOHAMMAD, N. T. A Fuzzy clustering approach to filter spam E-mail. Proceedings of World Congress on Engineering, WCE-2011, vol. 3, 2011. NARENDRAN, C. R. Data Mining - Classification Algorithm – Evaluation. 2009. PERKINS, A. The classification of search engine spam. http://www.ebrand management.com/white papers/spam classification, 2001. RAMBOW, O.; SHRESTHA, L.; CHEN, J.; LAURIDSEN, C. Summarizing Email Threads. In Proceedings of HLT-NAACL 2004: Short Papers, p. 105 - 108, 2004. RASIM M. A.; RAMIZ M. A.; SAADAT A. N. Classification of Textual E-mail spam using Data Mining Techniques. In the Journal of Applied Computational Intelligence and Soft Computing, 2011. RATHI, M.; PAREEK, V. Spam Mail Detection through Data Mining – A Comparative Performance Analysis. I. J. Modern Education an Computer Science, 12, 31-39, 2013. SAHAMI, M.; DUMASI, S.; HECKERMAN, D.; HORVITZ, E. A Bayesian approach to filtering junk e-mail: In Learning for text categorization. Papers from the 1998 Workshop, Madison, Wisconsin, 1998. SHAMS, R.; MERCER, R.E. Classifying Spam Emails Using Text and Readability Features. Data Mining (ICDM), 2013 IEEE 13th International Conference, p. 657 - 666, Dec. 2013. SILVA, I. N.; SPATTI, D.H.; FLAUZINO, R. A. Redes Neurais Artificiais: para engenharia e ciências aplicada. Ed. Artliber, . p. 399, 2010. SILVA, L. E. V.; DUQUE, J. J.; TINÓS, R.; MURTA JR, L. O. Reconstruciton of Multivariate Signals Using Q-Gaussian Radial Basis Function Network. Computing in Cardiology, 37, p. 465 468, 2010. SURI, J. S.; RANGAYYAN, R. M. Recent Advances in Breast Imaging, Mammography, and Computer-Aided Diagnosis of Breast Cancer. Bellingham, Washington, SPIE Press, 2006. WITTEN, I. H.; FRANK, E.; HALL, M. A. Data Mining: Practical machine learning tools and techniques. 3 ed. San Francisco: Morgan Kaufmann, 2011.