Your SlideShare is downloading. ×
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Investigação de Predição de Fluxos em Redes de Computadores

294

Published on

Um importante desafio na área de Redes Definidas por Software é a minimização das consultas enviadas pelo switch ao controlador, que produzem um atraso inicial na comunicação. Esse problema pode ser …

Um importante desafio na área de Redes Definidas por Software é a minimização das consultas enviadas pelo switch ao controlador, que produzem um atraso inicial na comunicação. Esse problema pode ser resolvido se o controlador instalar antecipadamente os fluxos nos switches, autorizando a comunicação antes da chegada do primeiro pacote. Com essa motivação, este trabalho investiga o problema da predição de fluxos em redes de computadores. Duas redes de aplicação são mapeadas em diversos modelos topológicos de Redes Complexas para representar o tráfego das informações das redes de aplicação nas redes físicas subjacentes. Diversos algoritmos tradicionais de Predição de Links são utilizados separadamente para predizer os fluxos em cada uma das redes e também como entrada para técnicas de Aprendizado de Máquina. O problema é ainda modelado em uma nova abordagem de Predição de Links que prediz em conjunto as conexões da rede que se manterão ou se formarão em um instante futuro. Os resultados experimentais mostram que as técnicas de Aprendizado de Máquina podem ser usadas para a predição de fluxos com desempenho significativo em muitas situações.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
294
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIVERSIDADE FEDERAL DO ABC ORLANDO DA SILVA JUNIOR INVESTIGA¸C˜AO DE PREDI ¸C˜AO DE FLUXOS EM REDES DE COMPUTADORES Santo Andr´e – SP 2014
  • 2. UNIVERSIDADE FEDERAL DO ABC P´os-gradua¸c˜ao em Engenharia da Informa¸c˜ao Mestrado em Engenharia da Informa¸c˜ao Orlando da Silva Junior INVESTIGA¸C˜AO DE PREDI ¸C˜AO DE FLUXOS EM REDES DE COMPUTADORES Disserta¸c˜ao de Mestrado apresentada `a Universidade Federal do ABC como parte dos requisitos necess´arios para a obten¸c˜ao do t´ıtulo de Mestre em Engenharia da Informa¸c˜ao, orientada pela Prof.a Dr.a Ana Carolina Lorena e coorientada pelo Prof. Dr. Carlos Alberto Kamienski. Santo Andr´e – SP 2014
  • 3. A meus irm˜aos, Jacquelyne e Rodrigo.
  • 4. Agradecimentos A Deus, Uno e Trino, e `a Maria Sant´ıssima. Aos meus pais, Orlando e Silvia, e aos meus irm˜aos, Jacquelyne e Rodrigo. Ao Revmo. Pe. Marcus Muscatelle pela dire¸c˜ao espiritual e conselhos de estudo. `A minha orientadora, Prof.a Dr.a Ana Lorena, pela orienta¸c˜ao neste trabalho, pelo aux´ılio durante toda a minha p´os-gradua¸c˜ao na Universidade Federal do ABC (UFABC) e pela dire¸c˜ao em meus estudos. Ao meu coorientador, Prof. Dr. Carlos Kamienski, pelo aceite em me coorientar e pelas sugest˜oes `a minha pesquisa. Aos professores Ronaldo Prati, Edson Pimentel, David Martins e Cesar Marcon- des pelas sugest˜oes e cr´ıticas ao meu trabalho. Aos alunos e ex-alunos de meus orientadores pelo suporte t´ecnico e cient´ıfico. `A equipe do Laborat´orio de Biologia Computacional e Bioinform´atica (LBCB) pelo espa¸co concedido `as minhas pesquisas. Aos amigos e familiares que colaboraram de alguma forma para a realiza¸c˜ao deste trabalho. Aos alunos de gradua¸c˜ao da UFABC que me mostraram o valor do ser docente. Este trabalho foi apoiado financeiramente pelo Conselho Nacional de Desenvolvimento Cient´ıfico e Tecnol´ogico (CNPq) sob o processo no 133068/2012-9. As opini˜oes, hip´oteses e conclus˜oes ou recomenda¸c˜oes expressas neste material s˜ao de responsabilidade do autor e n˜ao necessariamente refletem a vis˜ao do CNPq.
  • 5. Omni enim habenti dabitur, et abundabit; ei autem, qui non habet, et quod habet, auferetur ab eo. —Evangelium secundum Matthaeum XXV, XXIX
  • 6. Resumo Um importante desafio na ´area de Redes Definidas por Software ´e a minimiza¸c˜ao das consultas enviadas pelo switch ao controlador, que produzem um atraso inicial na comunica¸c˜ao. Esse problema pode ser resolvido se o controlador instalar anteci- padamente os fluxos nos switches, autorizando a comunica¸c˜ao antes da chegada do primeiro pacote. Com essa motiva¸c˜ao, este trabalho investiga o problema da pre- di¸c˜ao de fluxos em redes de computadores. Duas redes de aplica¸c˜ao s˜ao mapeadas em diversos modelos topol´ogicos de Redes Complexas para representar o tr´afego das informa¸c˜oes das redes de aplica¸c˜ao nas redes f´ısicas subjacentes. Diversos algoritmos tradicionais de Predi¸c˜ao de Links s˜ao utilizados separadamente para predizer os flu- xos em cada uma das redes e tamb´em como entrada para t´ecnicas de Aprendizado de M´aquina. O problema ´e ainda modelado em uma nova abordagem de Predi¸c˜ao de Links que prediz em conjunto as conex˜oes da rede que se manter˜ao ou se formar˜ao em um instante futuro. Os resultados experimentais mostram que as t´ecnicas de Aprendizado de M´aquina podem ser usadas para a predi¸c˜ao de fluxos com desempe- nho significativo em muitas situa¸c˜oes. Palavras-chave: predi¸c˜ao de links, aprendizado de m´aquina, redes definidas por software. i
  • 7. Abstract A major challenge for Software-Defined Network area is to minimize the number of queries sent by switches to the controller, that produce an initial delay on commu- nication. This problem can be solved if the controller installs the flows on switches in advance, enabling the communication before the arrival of the first packet. From this motivation, this work investigates the problem of flow prediction in computer networks. Two application networks are mapped into several topological models from Complex Network Theory to represent the network traffic information of those networks on the physical underlying networks. Several traditional algorithms of Link Prediction are used independently and as input for supervised Machine Learning te- chniques to predict flows in all network. The problem is still modelled in a new approach that predicts the persisted and the new connections together. Experimen- tal results show that the Machine Learning techniques can be used to predict flows with a significant performance in many situations. Keywords: link prediction, machine learning, software-defined network. ii
  • 8. Lista de Figuras 2.1 Exemplos de redes complexas. . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Diagramas de constru¸c˜ao do conjunto de dados para Predi¸c˜ao de Links. 13 2.3 Arquitetura geral de SDN. . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1 Metodologia experimental. . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Ilustra¸c˜ao do processo de mapeamento. . . . . . . . . . . . . . . . . . 31 4.1 Desempenho dos algoritmos de PL nos modelos sem topologia e alea- t´orio para a rede P2P. . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Desempenho dos algoritmos de PL nos modelos de mundo pequeno e sem escala para a rede P2P. . . . . . . . . . . . . . . . . . . . . . . . 40 4.3 Desempenho dos algoritmos de AM para a rede P2P. . . . . . . . . . 42 4.4 Desempenho dos algoritmos de PL nos modelos sem topologia e alea- t´orio para a rede de e-mails. . . . . . . . . . . . . . . . . . . . . . . . 45 4.5 Desempenho dos algoritmos de PL nos modelos de mundo pequeno e sem escala para a rede de e-mails. . . . . . . . . . . . . . . . . . . . . 46 4.6 Desempenho dos algoritmos de AM para a rede de e-mails. . . . . . . 47 iii
  • 9. Lista de Tabelas 2.1 Racioc´ınio para a constru¸c˜ao dos conjuntos de aprendizado conforme a tarefa de Predi¸c˜ao de Links. . . . . . . . . . . . . . . . . . . . . . . 14 3.1 Caracter´ısticas das redes . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 Caracteriza¸c˜ao do conjunto de dados para a rede P2P. . . . . . . . . . 32 3.3 Caracteriza¸c˜ao do conjunto de dados para a rede de e-mails. . . . . . 32 A.1 Desempenho dos algoritmos de PL na rede P2P. . . . . . . . . . . . . 65 A.2 Desempenho dos algoritmos de AM na rede P2P. . . . . . . . . . . . 66 A.3 Desempenho dos algoritmos de PL na rede de e-mails. . . . . . . . . . 67 A.4 Desempenho dos algoritmos de AM na rede de e-mails. . . . . . . . . 68 iv
  • 10. Lista de Abreviaturas AA Coeficiente de Adamic/Adar AM Aprendizado de M´aquina ARC An´alise de Redes Complexas AUC ´Area Abaixo da Curva ROC CMC Caminho Mais Curto CN Vizinhos Comuns HDI ´Indice do Hub Deprimido HPI ´Indice do Hub Promovido KZ Medida Katz k-NN k-Vizinhos Mais Pr´oximos JC Coeficiente de Jaccard P2P Peer-to-Peer PA Conex˜ao Preferencial PF PropFlow PL Predi¸c˜ao de Links PR Precis˜ao RAI ´Indice de Aloca¸c˜ao de Recursos RV Revoca¸c˜ao SVM M´aquina de Vetor de Suporte v
  • 11. Sum´ario 1 INTRODU ¸C˜AO 1 1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Organiza¸c˜ao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 CONCEITOS FUNDAMENTAIS 6 2.1 An´alise de Redes Complexas . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.1 Modelos de Redes Complexas . . . . . . . . . . . . . . . . . . 7 2.1.2 Medidas Estat´ısticas . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Predi¸c˜ao de Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.1 Modelagem de Tarefas . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Algoritmos de Predi¸c˜ao de Links . . . . . . . . . . . . . . . . 14 2.3 Redes Definidas por Software . . . . . . . . . . . . . . . . . . . . . . 18 2.4 Aprendizado de M´aquina . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 PREDI ¸C˜AO DE FLUXOS EM REDES DE COMPUTADORES 24 3.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Gerenciamento de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.1 Dados das Redes de Aplica¸c˜ao . . . . . . . . . . . . . . . . . . 26 3.2.2 Dados das Redes F´ısicas . . . . . . . . . . . . . . . . . . . . . 28 vi
  • 12. 3.3 Mapeamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 Predi¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.1 Sele¸c˜ao e Configura¸c˜ao de Algoritmos . . . . . . . . . . . . . . 33 3.4.2 Avalia¸c˜ao de Desempenho . . . . . . . . . . . . . . . . . . . . 34 4 RESULTADOS 38 4.1 Resultados da Rede P2P . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.1.1 Algoritmos de Predi¸c˜ao de Links Tradicionais . . . . . . . . . 38 4.1.2 Algoritmos de Aprendizado de M´aquina . . . . . . . . . . . . 41 4.1.3 Discuss˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2 Resultados da Rede de E-mails . . . . . . . . . . . . . . . . . . . . . 44 4.2.1 Algoritmos de Predi¸c˜ao de Links Tradicionais . . . . . . . . . 44 4.2.2 Algoritmos de Aprendizado de M´aquina . . . . . . . . . . . . 47 4.2.3 Discuss˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3 Considera¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5 CONCLUS˜AO 52 5.1 Principais Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2 Contribui¸c˜oes e Limita¸c˜oes . . . . . . . . . . . . . . . . . . . . . . . . 54 5.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 REFERˆENCIAS 57 A RESULTADOS DOS EXPERIMENTOS 64 vii
  • 13. Cap´ıtulo 1 INTRODU ¸C˜AO As aplica¸c˜oes de redes de computadores, incluindo a Internet, geram tr´afegos de dados que podem ser usados para construir redes l´ogicas sobrepostas `a rede f´ısica. Em aplica¸c˜oes peer-to-peer (P2P), por exemplo, quando um usu´ario pertencente a uma rede decide transferir um arquivo para outro usu´ario, o sistema P2P registra a ocorrˆencia da transferˆencia e realiza uma conex˜ao entre os dois usu´arios. Ap´os um determinado intervalo de tempo, v´arias outras conex˜oes s˜ao formadas entre esses e outros usu´arios, estruturando uma rede l´ogica. Essa rede pode ser modelada como um grafo, onde os n´os s˜ao os usu´arios e a ocorrˆencia de transferˆencias entre os usu´arios s˜ao as arestas. Existe tamb´em, intermediando e efetivamente realizando as transmiss˜oes, uma rede f´ısica, que ´e formada por dispositivos interligados, como roteadores e switches. As informa¸c˜oes trocadas na rede l´ogica efetivamente trafegam por uma rede f´ısica subjacente, que nem sempre possui a mesma topologia da rede l´ogica. Por exemplo, a transferˆencia de um arquivo entre dois usu´arios de uma rede P2P n˜ao implica em seus dispositivos estarem diretamente conectados para realizarem essa transferˆencia. 1
  • 14. Deve ser observado ainda que a rede l´ogica, em geral, n˜ao possui informa¸c˜oes a respeito do tr´afego da rede subjacente. Essa abstra¸c˜ao pode ser aplicada a qualquer arquitetura de rede. Atualmente, diversas pesquisas em redes de computadores tˆem se voltado para o paradigma das Redes Definidas por Software (Software Defined Networks, ou SDN) [ONF, 2012] em raz˜ao das possibilidades amplas de sua aplica¸c˜ao. A arquitetura SDN ´e formada por dois planos desacoplados: um plano de dados e um plano de controle. Enquanto o plano de dados ´e o respons´avel pelo encaminhamento dos dados das aplica¸c˜oes, o plano de controle tem a fun¸c˜ao de programar os caminhos que esses dados ir˜ao trafegar na rede. Nas arquiteturas tradicionais, esses planos s˜ao combinados, o que torna a rede menos flex´ıvel. Com a separa¸c˜ao dos planos em SDN, os elementos da rede que trabalham no plano de dados (switches) tˆem apenas a fun¸c˜ao de encaminhar os pacotes com base em uma tabela que armazena esses caminhos, chamada de tabela de fluxos. Nos casos em que o switch n˜ao tem informa¸c˜oes suficientes para tratar com o pacote, uma solicita¸c˜ao ´e enviada pelo switch ao controlador da rede, que tem a fun¸c˜ao de executar o plano de controle de maneira logicamente centralizada [Guedes et al., 2012]. Um importante desafio da ´area ´e a minimiza¸c˜ao das consultas enviadas pelo switch ao controlador, que produzem um atraso inicial na comunica¸c˜ao e geram sobrecarga no pr´oprio controlador [Sezer et al., 2013]. Uma maneira de tratar esse problema ´e fazer com que o controlador instale fluxos antecipadamente nos switches, autorizando a comunica¸c˜ao antes da chegada do primeiro pacote do fluxo no switch. Essa situa¸c˜ao, no entanto, gera um trade-off entre a quantidade de requisi¸c˜oes enviadas ao controlador e a quantidade de mem´oria do switch ocupada pelos fluxos n˜ao concretizados. Esse impasse pode ser superado se o controlador realizar predi¸c˜oes 2
  • 15. de tr´afego na rede. Deste modo, se, apesar da perda de mem´oria, ainda houver benef´ıcios em termos de redu¸c˜ao de requisi¸c˜oes ao controlador, ´e poss´ıvel afirmar que a predi¸c˜ao de fluxos soluciona o problema da minimiza¸c˜ao de consultas em SDN. Uma das formas de realizar predi¸c˜ao ´e fluxos ´e utilizando o arcabou¸co da Pre- di¸c˜ao de Links (PL) [Liben-Nowell e Kleinberg, 2007], uma ´area em expans˜ao da An´alise de Redes Complexas (ARC). Contudo, a solu¸c˜ao ´e dificultada pelo fato de a topologia das redes l´ogicas que geram as informa¸c˜oes nem sempre possu´ırem as mesmas caracter´ısticas e estruturas das redes f´ısicas. Por outro lado, as conex˜oes da rede l´ogica podem colaborar para a solu¸c˜ao desse problema, indicando o padr˜ao de forma¸c˜ao das conex˜oes das aplica¸c˜oes e, por conseguinte, do fluxo das informa¸c˜oes na rede f´ısica. Esse n˜ao ´e um trabalho trivial e uma solu¸c˜ao adequada precisa ser investigada. Este trabalho aborda esse problema mapeando duas redes de aplica¸c˜ao – uma rede P2P e uma rede de e-mails – em diversos modelos topol´ogicos comuns da ARC, como as redes de mundo pequeno e sem escala [Newman, 2003]. O mapeamento re- presenta a conex˜ao entre a rede f´ısica de computadores e a rede l´ogica formada pelas aplica¸c˜oes e resulta em uma nova rede, cujas conex˜oes entre os n´os designam o fluxo das informa¸c˜oes presente na rede f´ısica. A ideia central do trabalho ´e combinar os re- sultados de algoritmos de PL como entrada para diferentes t´ecnicas de Aprendizado de M´aquina (AM) supervisionado e comparar os resultados com abordagens tradicio- nalmente utilizadas em PL. Este trabalho contribui principalmente para impulsionar futuras solu¸c˜oes de predi¸c˜ao de fluxos em SDN e na modelagem de problemas de PL, utilizando uma nova abordagem de predi¸c˜ao. Usualmente, as tarefas de PL vi- sam predizer as liga¸c˜oes futuras ou aquelas que ir˜ao persistir no tempo [Silva-Junior et al., 2013]. Neste trabalho ´e adotada uma abordagem conjunta, que prediz simul- taneamente quais conex˜oes se manter˜ao e quais surgir˜ao em um instante futuro. Os 3
  • 16. resultados experimentais mostram que as t´ecnicas de AM podem ser usadas para a predi¸c˜ao de fluxos com desempenho significativo. 1.1 Objetivos O objetivo geral deste trabalho ´e investigar a predi¸c˜ao de fluxos em redes com- putadores. Essa investiga¸c˜ao se fundamenta nos conceitos de Redes Definidas por Software. A partir desse enfoque, os objetivos espec´ıficos deste trabalho s˜ao: • Elaborar um m´etodo de mapeamento entre a rede f´ısica e a rede de aplica¸c˜ao; • Investigar uma nova forma de predizer simultaneamente liga¸c˜oes que se formam ou se mantˆem na rede; • Experimentar diferentes algoritmos de Predi¸c˜ao de Links e Aprendizado de M´aquina supervisionado no problema de predi¸c˜ao de fluxos; • Comparar os resultados dos algoritmos de Predi¸ca˜o de Links tradicionais com os resultados das t´ecnicas de AM supervisionado. 1.2 Organiza¸c˜ao do Trabalho Os demais cap´ıtulos deste trabalho encontram-se organizados do seguinte modo: • O Cap´ıtulo 2 apresenta os conceitos fundamentais para a compreens˜ao geral do trabalho; • O Cap´ıtulo 3 descreve a proposta de trabalho e metodologia experimental em- pregada em sua avalia¸c˜ao; 4
  • 17. • O Cap´ıtulo 4 apresenta e discute os resultados dos experimentos conduzidos para a rede P2P e a rede de e-mails; • O Cap´ıtulo 5 apresenta as conclus˜oes do trabalho. 5
  • 18. Cap´ıtulo 2 CONCEITOS FUNDAMENTAIS Neste cap´ıtulo s˜ao abordados os conceitos fundamentais deste trabalho relaci- onados `as redes complexas, `as SDNs e tamb´em `as t´ecnicas de AM adotadas nos experimentos. 2.1 An´alise de Redes Complexas A An´alise de Redes Complexas ´e uma das ´areas mais interdisciplinares das ci- ˆencias atualmente. Diversos campos de conhecimento tˆem trabalhado juntos para conceituar e investigar o comportamento das rela¸c˜oes sociais humanas ou analisar a estrutura f´ısica dos relacionamentos entre diferentes tipos de entidades. Uma rede pode ser definida como um conjunto de itens com conex˜oes entre eles [Newman, 2003], sendo, em geral, modeladas como grafos do tipo G = (V, E), onde V ´e o conjunto de n´os e E ´e o conjunto de arestas. Quandos os grafos s˜ao orientados, eles s˜ao do tipo G = (V, A), onde A ´e o conjunto de pares ordenados de n´os, chamados de arcos ou arestas. 6
  • 19. Os n´os do grafo representam as entidades do mundo real e as arestas representam as intera¸c˜oes entre essas entidades, que podem representar pessoas, grupos, organi- za¸c˜oes ou dispositivos. As intera¸c˜oes podem designar qualquer for¸ca ou influˆencia exercida por essas entidades em outras entidades. A estrutura de interconex˜ao da Internet e a World Wide Web s˜ao os exemplos mais populares de redes complexas que seguem essa formula¸c˜ao. 2.1.1 Modelos de Redes Complexas Diversos modelos de redes complexas foram propostos para prover maior com- preens˜ao a respeito do comportamento das redes existentes no mundo real. Este trabalho utiliza trˆes modelos populares de redes para atuarem como uma rede f´ısica de computadores: • Modelo Erd¨os-R´enyi: ´e um modelo para a gera¸c˜ao de grafos aleat´orios [Erd¨os e R´enyi, 1959] do tipo G(n, p), em que n ´e o n´umero de v´ertices do grafo e p ´e a probabilidade de existˆencia de cada aresta. Neste modelo, as ares- tas s˜ao adicionadas com probabilidade independente e de maneira aleat´oria. A distribui¸c˜ao de arestas conectadas segue a distribui¸c˜ao de Poisson [Montgomery et al., 2003] limitada em n; • Modelo Watts-Strogatz: ´e um modelo de gera¸c˜ao de grafos aleat´orios [Watts e Strogatz, 1998] bastante similar ao modelo Erd¨os-R´enyi. Seu principal ob- jetivo ´e gerar grafos com propriedades de mundo pequeno, for¸cando a rede a formar conex˜oes entre n´os mais pr´oximos. Essas propriedades est˜ao presen- tes em muitas redes do mundo real. O modelo Watts-Strogatz possui ainda duas caracter´ısticas pr´oprias, ao contr´ario do simples modelo Erd¨os-R´enyi: um 7
  • 20. tamanho m´edio de caminho m´ınimo pequeno e uma alta probabilidade de for- ma¸c˜ao de grupos. Essas duas propriedades implicam na forma¸c˜ao topol´ogica da rede, cujas novas arestas s˜ao formadas entre n´os j´a conectados; • Modelo Barab´asi-Albert: este modelo [Barabasi e Albert, 1999] gera grafos aleat´orios usando o mecanismo da conex˜ao preferencial. Esse mecanismo tende a formar conex˜oes em n´os com elevado n´umero de conex˜oes. As redes Barab´asi- Albert, chamadas tamb´em de redes sem escala, possuem poucos n´os altamente conectados, chamados hubs, e muitos n´os com poucas conex˜oes. Neste modelo, a distribui¸c˜ao de arestas conectadas segue a fun¸c˜ao de probabilidade P(k) = k−γ , que ´e chamada lei de potˆencia, onde γ ´e um parˆametro que varia conforme a topologia da rede. Figura 2.1: Exemplos de redes complexas. Os trˆes modelos podem ser melhor visualizados na Figura 2.1, que ilustra a to- pologia das redes aleat´oria (Figura 2.1(a)), formada pelo modelo Erd¨os-R´enyi, de mundo pequeno (Figura 2.1(b)), formada pelo modelo Watts-Strogatz, e sem escala (Figura 2.1(c)), gerada conforme o modelo Barab´asi-Albert. As redes podem ser geradas por meio dos modelos descritos ou ainda pela coleta de dados e observa¸c˜ao de uma situa¸c˜ao real do mundo. Uma rede pode ser representada de diversas maneiras, independentemente de como ela ´e formada. A representa¸c˜ao 8
  • 21. gr´afica, ilustrada anteriormente na Figura 2.1, ´e uma das maneiras de observar a topologia de um grafo. No entanto, ela pode n˜ao ser a melhor op¸c˜ao quando ´e desej´avel compreender e avaliar a estrutura da rede em termos matem´aticos. Nesse sentido, as medidas estat´ısticas descritas a seguir podem colaborar de modo mais eficiente [Oliveira e Gama, 2012]. 2.1.2 Medidas Estat´ısticas Entre as medidas estat´ısticas mais usadas para caracterizar as redes complexas est˜ao: • Grau M´edio (g): o grau g de um n´o u ´e a quantidade de arestas que ele possui. O grau m´edio da rede corresponde `a m´edia dos graus de todos os n´os N da rede e pode ser calculado deste modo: g = 1 N N i=1 g(ui) (2.1) • Diˆametro (D): corresponde ao maior valor de caminho m´ınimo CMC entre dois n´os u e v. O diˆametro pode ser medido como: D = max {CMC(u, v)} (2.2) • Densidade (DS): quantifica o n´ıvel de conectividade presente na rede. Valores altos de densidade est˜ao associados a redes densas, que s˜ao redes que tendem a ter todos os n´os conectados entre eles. A densidade pode ser medida como a propor¸c˜ao entre a quantidade m de arestas presentes na rede e o n´umero 9
  • 22. m´aximo poss´ıvel mmax de arestas que poderiam ser formadas: DS = m mmax (2.3) • Coeficiente de Assortatividade (AS): ´e uma medida que varia entre -1 e 1 e indica a tendˆencia em encontrar n´os altamente conectados que est˜ao conectados uns com os outros. Coeficientes negativos indicam que n´os com alto grau tendem a se conectar com n´os de baixo grau. Coeficientes positivos indicam que n´os com graus semelhantes tendem a se conectarem. O coeficiente de assortatividade pode ser calculado deste modo, onde euv ´e a fra¸c˜ao das arestas que conectam os n´os u e v: AS = N u=1 euu − N u=1 N v=1 euv N u=1 euv 1 − N u=1 N v=1 euv N u=1 euv (2.4) • Coeficiente M´edio de Agrupamento (C): ´e o c´alculo da m´edia de todos os valores de agrupamento local C para a vizinhan¸ca e do n´o u. O coeficiente de agrupamento local indica o n´ıvel de coes˜ao de um n´o com seus vizinhos. ´E uma das medidas mais importantes da ARC e pode ser calculada conforme as seguintes equa¸c˜oes: C = 1 N N i=1 C(ui) (2.5) C(u) = 2|eu| g(u)(g(u) − 1) (2.6) Neste trabalho essas medidas s˜ao utilizadas para descrever estatisticamente a topologia das redes de aplica¸c˜ao utilizadas nos experimentos. 10
  • 23. 2.2 Predi¸c˜ao de Links Uma das ´areas originadas da An´alise de Redes Complexas e em maior expans˜ao atualmente ´e a Predi¸c˜ao de Links [Getoor e Diehl, 2005], que investiga a probabilidade de associa¸c˜oes futuras entre entidades de uma rede. Ela tem sido utilizada em duas principais tarefas: na predi¸c˜ao de novos links [Hasan et al., 2006] ou na predi¸c˜ao de links que permanecer˜ao conectados no futuro [Fire et al., 2011], chamada de persistˆencia de links. Embora o termo “predi¸c˜ao de links” refira-se geralmente `a primeira tarefa, o texto deste trabalho utiliza-o genericamente para indicar ambas as tarefas. Os termos espec´ıficos ser˜ao explicitados quando necess´ario. Neste trabalho ´e adotada uma abordagem conjunta para o problema da PL, em que a predi¸c˜ao e a persistˆencia de links s˜ao realizadas simultaneamente, e n˜ao de maneira isolada. Deste modo, os preditores inferem os links futuros e tamb´em aqueles que persistem no tempo. Entre os m´etodos usualmente utilizados para solucionar a PL est˜ao aqueles que estimam escores para todos os pares de n´os da rede [Liben-Nowell e Kleinberg, 2007]. Esses m´etodos predizem os links com base no valor do escore, que indica a proba- bilidade de presen¸ca do link em um instante futuro da rede. Por n˜ao apresentarem um parˆametro temporal, os preditores tradicionais de PL s˜ao chamados muitas ve- zes de n˜ao-supervisionados [Lu et al., 2010, Wang et al., 2011]. Por outro lado, quando esse parˆametro temporal existe na rede, ´e comum as pesquisas [Benchettara et al., 2010b, Feyessa et al., 2011, Scellato et al., 2011] indicarem o uso de t´ecni- cas de Aprendizado de M´aquina como uma alternativa para a obten¸c˜ao de melhores resultados. 11
  • 24. 2.2.1 Modelagem de Tarefas Em problemas de PL ´e dada uma rede complexa representada por um grafo do tipo G = (V, E), onde V ´e o conjunto de n´os e E ´e o conjunto de arestas da rede. Cada aresta em E ´e do tipo e = (u, v) e representa um par de n´os (u, v), tal que u e v fazem parte do conjunto de v´ertices V de G. O m´etodo de modelagem adotado neste trabalho visa construir um conjunto de dados para a tarefa de predi¸c˜ao conjunta de links novos e links que persistem. Ele resulta em um conjunto formado por apenas duas categorias: links positivos e negati- vos. Os links que se formam ou persistem s˜ao chamados de links positivos, enquanto os links que n˜ao existem mais ou deixam de existir s˜ao chamados de links negativos A modelagem bin´aria, ou seja, a modelagem com apenas duas classes, ´e a forma pre- dominante para a caracteriza¸c˜ao do problema de PL [Hasan et al., 2006, Benchettara et al., 2010a, Sun et al., 2012]. Na Figura 2.2 s˜ao ilustrados os m´etodos utilizados para a constru¸c˜ao dos conjun- tos de dados de PL no tempo. Neste caso, dados exemplos descrevendo uma rede e suas conex˜oes em um intervalo de tempo δt, deseja-se predizer o padr˜ao de forma¸c˜ao de conex˜oes em um instante posterior ∆t+σ. Na Figura 2.2, X representa o conjunto de n´os presentes na rede no intervalo ∆t. O conjunto U corresponde ao conjunto de todas as arestas que poderiam existir entre os n´os do grafo formado pelo conjunto X. E Y representa o conjunto das arestas presentes na rede do intervalo seguinte. Em X −Y est˜ao os links deixam de existir porque n˜ao existiam ou n˜ao se formaram. Na intersec¸c˜ao de X e Y est˜ao os links que persistem com o tempo. E em Y − X est˜ao os novos links formados. Tem-se, ent˜ao, que: • A Figura 2.2(a) representa a predi¸c˜ao de novos links; • A Figura 2.2(b) representa a persistˆencia de links; e 12
  • 25. • A Figura 2.2(c) indica a abordagem que une as duas tarefas. Figura 2.2: Diagramas de constru¸c˜ao do conjunto de dados para Predi¸c˜ao de Links. A Tabela 2.1 apresenta o racioc´ınio utilizado para a composi¸c˜ao dos conjuntos de aprendizado em cada tarefa de PL. Usando essas configura¸c˜oes ´e poss´ıvel construir um conjunto rotulado para treinamento das t´ecnicas de PL. Ele ser´a, ent˜ao, composto por pares de n´os e sua rotula¸c˜ao ser´a apresentada a algum algoritmo de modelagem para a constru¸c˜ao de um preditor. Esse preditor deve ser capaz de realizar predi¸c˜oes futuras de links existentes ou n˜ao existente na rede. Uma caracter´ıstica inerente da PL ´e o alto desbalanceamento na propor¸c˜ao de links positivos e links negativos [Shibata et al., 2012]. Um conjunto de dados ´e consi- derado desbalanceado se cada classe n˜ao est´a representada de modo aproximado. Em PL, a existˆencia de exemplos negativos ´e usualmente muito maior que de exemplos positivos. Isso acontece porque, muitas vezes, as entidades da rede n˜ao esbelecem 13
  • 26. Tabela 2.1: Racioc´ınio para a constru¸c˜ao dos conjuntos de aprendizado conforme a tarefa de Predi¸c˜ao de Links. Tarefa Conjunto de dados Positivos Negativos Predi¸c˜ao de novos links U − X Y − X U − (X + Y ) Persistˆencia de links X U ∩ X X − (X ∩ Y ) Abordagem conjunta U Y U − Y conex˜oes de fato. Neste trabalho, o desbalanceamento ´e amenizado por meio meio do mapeamento entre as rede de aplica¸c˜ao e os modelos topol´ogicos, que ainda contribui para a efic´acia da predi¸c˜ao. 2.2.2 Algoritmos de Predi¸c˜ao de Links Os algoritmos tradicionais de PL s˜ao preditores que atribuem um escore a cada um dos pares de n´os de um conjunto de dados, representando o grau com que cada aresta entre eles pode ser formada. Os escores visam qualificar a topologia da rede ou indicar a probabilidade de um determinado par de n´os estar conectado. Para calcular essa probabilidade, os algoritmos podem ser baseado em um dos trˆes seguintes m´etodos [L¨u e Zhou, 2011]: • Baseado no grau do n´o: observa apenas a quantidade de conex˜oes que cada n´o possui; • Baseado na vizinhan¸ca do n´o: calcula o escore com base na afinidade entre as conex˜oes de cada n´o; • Baseado no caminho entre n´os: calcula o escore a partir de uma sequˆencia consecutiva e n˜ao repetida de v´ertices ligados por uma aresta que possam ser percorridos. 14
  • 27. Em geral, diversos preditores s˜ao experimentados a fim de investigar qual dentre os selecionados alcan¸ca o melhor desempenho. Neste trabalho s˜ao adotados onze preditores baseados em escores diferentes e usualmente mencionados na literatura de PL [Lichtenwalter et al., 2010, L¨u e Zhou, 2011, Silva-Junior e Lorena, 2013]. Nos algoritmos listados a seguir, Γ(u) define o conjunto de vizinhos do n´o u, ou Γ(x) = {y | y ∈ V, (x, y) ∈ E}: • Grau do N´o (g): ´e uma medida de centralidade que indica a popularidade do n´o no grafo, podendo ser calculada como: g(u) = |Γ(u)| (2.7) • Caminho Mais Curto (CMC): corresponde `a distˆancia geod´esica entre os n´os. A medida representa o n´umero m´ınimo de arestas existentes em paths s u,v que parte do n´o u e atinge o n´o v. Ela pode ser definida genericamente como: CMC(u, v) = min s | paths s u,v > 0 (2.8) • Vizinhos Comuns (CN): ´e uma das medidas mais importantes em PL. O n´umero de vizinhos comuns informa a probabilidade de uma aresta ser formada ou ser removida entre dois n´os, e ´e definida como: CN(u, v) = |Γ(u) ∩ Γ(v)| (2.9) • Conex˜ao Preferencial (PA): fornece a probabilidade de novos n´os poderem se conectar a cada v´ertice. Nas redes de aplica¸c˜ao, indica a tendˆencia dos 15
  • 28. usu´arios em terem mais conex˜oes no futuro. Pode ser definida como: PA(u, v) = |Γ(u)| · |Γ(v)| (2.10) • ´Indice de Jaccard (JAC): calcula a similaridade entre diferentes conjuntos de amostras e definine o estado da liga¸c˜ao entre dois n´os. O ´ındice de Jaccard expressa a for¸ca de uma liga¸c˜ao e pode ser definido como: JAC(u, v) = |Γ(u) ∩ Γ(v)| |Γ(u) ∪ Γ(v)| (2.11) • Coeficiente de Adamic/Adar (AA): define um escore de similaridade entre dois n´os por meio da pondera¸c˜ao dos vizinhos comuns mais raros e com maior peso. O coeficiente de Adamic/Adar informa o grau de exclusividade ou esta- bilidade entre um vizinho comum e o par de n´os sendo analisado. A medida ´e definida como: AA(u, v) = w ∈ Γ(u)∩Γ(v) 1 log |Γ(w)| (2.12) • ´Indice de Aloca¸c˜ao de Recursos (RAI): ´e um ´ındice de similaridade moti- vado pela aloca¸c˜ao dinˆamica de recursos em redes complexas. Dados dois n´os n˜ao conectados, seus vizinhos comuns atuam como transmissores de recursos entre esses dois n´os. Cada um dos transmissores distribui igualmente entre os vizinhos seus recursos dispon´ıveis [L¨u e Zhou, 2011]. A medida pode ser calculada do seguinte modo: RAI(u, v) = w ∈ Γ(u)∩Γ(v) 1 |Γ(w)| (2.13) 16
  • 29. • Medida Katz (KZ): ´e uma medida de centralidade de redes que aprimora o c´alculo do caminho mais curto entre dois n´os. A medida realiza a soma direta ponderada de todos os caminhos entre os n´os e ´e computada pelo c´alculo da equa¸c˜ao 2.14, onde paths l x,y designa o conjunto de todos os caminhos de tamanho l entre o n´o u e o n´o v. O parˆametro β colabora para o c´alculo dos caminhos. A medida Katz ´e expressa como: KZ(u, v) = ∞ l=1 βl · |paths l u,v| (2.14) • ´Indice do Hub Promovido (HPI): ´e um ´ındice que quantifica as sobreposi- ¸c˜oes topol´ogicas dos pares de n´os em conjuntos de amostras. Ele verifica se as conex˜oes adjacentes aos hubs s˜ao suscet´ıveis a receber altos escores, uma vez que o denominador da equa¸c˜ao ´e determinado pelo menor grau entre os n´os. O HPI ´e calculado como: HPI(u, v) = |Γ(u) ∩ Γ(v)| min {|Γ(u)|, |Γ(v)|} (2.15) • ´Indice do Hub Deprimido (HDI): ´e um ´ındice oposto ao HPI. Ele ´e utili- zado neste trabalho para medir o valor das conex˜oes de valor oposto ao HPI, auxiliando-as em sua forma¸c˜ao. HDI(u, v) = |Γ(u) ∩ Γ(v)| max {|Γ(u)|, |Γ(v)|} (2.16) • PropFlow (PF): considerado o estado-da-arte entre os m´etodos baseados em caminho, o PropFlow calcula a probabilidade de existir um passeio aleat´orio restrito path de u para v com uma quantidade m´axima de passos, usando pesos 17
  • 30. nos links como probabilidades de transi¸c˜ao. Pode ser expressa como: PF(u, v) = ∞ path∈P   |path|−1 x=1 f(pathx, pathx+1) c(pathx)   (2.17) Neste trabalho, os algoritmos apresentados s˜ao utilizados como preditores de ma- neira independente, como tradicionalmente ´e feito em PL, e tamb´em como atributos de entrada para os algoritmos de AM supervisionado adotados. 2.3 Redes Definidas por Software Embora este trabalho n˜ao se proponha a resolver o problema existente em SDN apresentado no Cap´ıtulo 1, mas apenas a orientar a uma das diversas solu¸c˜oes pos- s´ıveis, ´e relevante descrever alguns dos aspectos fundamentais desse novo paradigma para melhor compreens˜ao das motiva¸c˜oes do trabalho. SDN emerge no cen´ario atual ante as dificuldades das redes tradicionais. O cres- cimento no volume de dados, os servi¸cos baseados em nuvem, a dinamicidade da computa¸c˜ao e a complexidade dos servi¸cos s˜ao algumas das limita¸c˜oes que as ar- quiteturas de redes atuais vˆem enfrentando [ONF, 2012]. A necessidade de um novo paradigma como SDN parece ser a solu¸c˜ao mais eficaz para lidar com esses problemas. Em geral, as arquiteturas de redes s˜ao formadas por dois componentes principais [Yang et al., 2004]: um plano de controle e um plano de dados. O plano de controle ´e respons´avel pela configura¸c˜ao dos n´os existentes na rede e pela programa¸c˜ao dos caminhos a serem usados pelos fluxos de dados. O plano de dados ´e respons´avel pelo encaminhamento dos dados, que s˜ao originados pelo tr´afego das informa¸c˜oes nas aplica¸c˜oes. Tradicionalmente, o plano de controle ´e combinado com o plano de 18
  • 31. dados, sendo ambos alocados em um n´o da rede. Nos paradigmas em que isso ocorre, o plano de controle ´e tamb´em respons´avel pela configura¸c˜ao do n´o. Figura 2.3: Arquitetura geral de SDN. Um problema existente nesse formato ´e a complexidade da manuten¸c˜ao dos ca- minhos uma vez definida a pol´ıtica de encaminhamento de dados [Sezer et al., 2013]. SDN resolve esse problema com a divis˜ao dos planos, separando-os logicamente e utilizando um controlador centralizado que se torna respons´avel pelas opera¸c˜oes que acontecem na rede. Esse controlador manipula os dispositivos de rede e possui uma vis˜ao global do estado da rede, al´em de fornecer alta abstra¸c˜ao para o desenvolvedor das aplica¸c˜oes. A divis˜ao de planos e a utiliza¸c˜ao de um controlador centralizado s˜ao as prin- cipais caracter´ısticas [Feamster et al., 2013] da arquitetura SDN. Uma arquitetura geral desse novo paradigma pode ser ilustrada como na Figura 2.3, que apresenta os 19
  • 32. principais componentes de rede em camadas. A primeira camada ´e a infraestrutura, que agrega os dispositivos de rede, como os roteadores e os switches. A camada in- termedi´aria ´e composta pelos controladores, que obtˆem informa¸c˜oes dos dispositivos de rede para configurar os fluxos. A ´ultima camada ´e constitu´ıda pelas aplica¸c˜oes que atuam na rede. Um desafio presente na ´area ´e a necessidade de minimizar a quantidade de consul- tas enviadas pelo switch. Essas consultas produzem um atraso no estabelecimento da comunica¸c˜ao e ainda geram sobrecarga no controlador. Uma maneira de tratar esse problema ´e fazer com que o controlador realize predi¸c˜oes de tr´afego e instale anteci- padamente os fluxos nos switches, autorizando a comunica¸c˜ao antes que o primeiro pacote do fluxo chegue. Como toda predi¸c˜ao ´e um indicador de probabilidades que acontecem no futuro, ou seja, apresenta elementos incertos, uma certa quantidade de fluxos poderia ser instalada e nunca utilizada. Essa situa¸c˜ao gera um trade-off entre a quantidade de requisi¸c˜oes enviadas ao controlador e a quantidade de mem´oria do switch ocupada pelos fluxos n˜ao concretizados. Neste caso, a predi¸c˜ao seria justifi- cada se, apesar da perda de mem´oria, ainda houver benef´ıcios em termos de redu¸c˜ao de requisi¸c˜oes ao controlador. Neste trabalho s˜ao utilizados os conceitos de SDN apresentados como motiva¸c˜ao para a investiga¸c˜ao do problema de predi¸c˜ao de fluxos em redes de computadores. 2.4 Aprendizado de M´aquina O aumento da complexidade de problemas tratados computacionalmente e o cres- cente volume de dados gerados a partir de diferentes setores exigiram a existˆencia de ferramentas computacionais mais sofisticadas. Com o surgimento da Inteligˆencia Artificial (IA) moderna na d´ecada de 70, novas t´ecnicas foram desenvolvidas. Essas 20
  • 33. t´ecnicas analisavam inicialmente o problema e tinham como objetivo criar hip´oteses a partir de experiˆencias passadas para solucion´a-lo. Em IA, essa indu¸c˜ao de hip´ote- ses a partir de experiˆencias passadas ficou conhecida como Aprendizado de M´aquina [Faceli et al., 2011]. Dado um conjunto de dados com informa¸c˜oes passadas, as t´ecnicas de AM buscam a solu¸c˜ao de um problema por meio de um processo indutivo, em que conclus˜oes gen´ericas s˜ao inferidas a partir de situa¸c˜oes particulares. Um algoritmo de AM que induz hip´oteses se utiliza de um conjunto de dados em que cada elemento incluso descreve um exemplo contendo atributos que qualificam as caracter´ısticas espec´ıficas do conjunto. A indu¸c˜ao de hip´oteses ´e um processo que pode ser obtido por meio de tarefas preditivas ou descritivas. As tarefas preditivas tˆem por meta encontrar uma hip´otese a partir dos valores dos atributos dos dados de treinamento. Em geral, os algorit- mos dessa categoria pertencem ao paradigma supervisionado. Nesse paradigma, o algoritmo aprende a hip´otese a partir de um conjunto de dados pr´e-classificados para utiliz´a-la em casos futuros. Nas hip´oteses obtidas por meio das tarefas descritivas, os algoritmos seguem o paradigma n˜ao-supervisionado, que agrupa os dados que n˜ao s˜ao classificados para encontrar padr˜oes. A partir dessa busca de padr˜oes, as tarefas descritivas exploram ou descrevem o conjunto de dados [Faceli et al., 2011]. Este trabalho utilizadas t´ecnicas do paradigma supervisionado para atingir os objetivos descritos no Cap´ıtulo 1. Nas tarefas supervisionadas, a etapa de indu¸c˜ao ´e denominada treinamento e consiste no aprendizado de uma hip´otese que relacione os atributos de entrada de um exemplo com seu respectivo atributo de sa´ıda, chamado r´otulo. Quando o algoritmo aprende uma hip´otese v´alida tamb´em para os dados fora do subconjunto de treinamento, diz-se que essa hip´otese possui capacidade de generaliza¸c˜ao. Este trabalho utiliza quatro algoritmos de AM para inferir hip´oteses 21
  • 34. sobre os conjuntos gerados a partir das redes de aplica¸c˜ao. Cada um dos seguintes algoritmos foi escolhido com base nas aplica¸c˜oes realizadas de PL [Hasan et al., 2006, Shibata et al., 2012] e em experimentos passados [Silva-Junior et al., 2013]: • Algoritmo C5.0: o algoritmo C5.0 ´e a vers˜ao atual do conhecido algoritmo C4.5 [Quinlan, 1993], uma t´ecnica de AM que infere hip´oteses construindo modelos de ´arvores de decis˜ao. A ´arvore de decis˜ao gerada pelo C5.0 ´e um grafo ac´ıclico direcionado, em que cada n´o da ´arvore ´e um n´o folha ou um n´o de divis˜ao. Os n´os folha s˜ao rotulados com uma fun¸c˜ao, indicando uma classifica¸c˜ao. No caso abordado neste trabalho, o n´o folha indica se um link ´e positivo ou negativo. Por outro lado, os n´os de divis˜ao s˜ao aqueles que agregam testes condicionais, baseados nos valores dos atributos dos exemplos; • M´aquinas de Vetores de Suporte (do inglˆes, Support Vector Machi- nes (SVM)): as SVMs s˜ao baseadas na Teoria do Aprendizado Estat´ıstico [Vapnik, 1995], que determina um conjunto de princ´ıpios para a obten¸c˜ao de classificadores com boa capacidade de generaliza¸c˜ao. Neste trabalho ´e empre- gada uma SVM linear, que procura um hiperplano linear capaz de separar os dados de duas classes com erro m´ınimo e margem de separa¸c˜ao m´axima; • Na¨ıve Bayes: ´e um dos m´etodos probabil´ısticos mais simples em AM. O na¨ıve Bayes ´e baseado no teorema de Bayes sobre probabilidades condicionais e assume que os atributos de entrada do conjunto de dados s˜ao independentes entre si; • Algoritmo dos k-Vizinhos Mais Pr´oximos (k-NN): no k-NN, cada re- gistro ´e representado como um ponto em um espa¸co de entrada, sendo poss´ıvel calcular a distˆancia entre dois pontos. Usualmente a distˆancia euclidiana ´e 22
  • 35. usada para esse c´alculo. Na fase de treinamento, o algoritmo memoriza os exemplos de treinamento rotulados. Para obter previs˜oes, ´e feito o c´alculo da distˆancia entre o vetor de atributos do exemplo n˜ao rotulado e cada exemplo presente no conjunto de treinamento. Os exemplos mais pr´oximos fornecem a previs˜ao final. O k-NN ´e um dos algoritmos mais simples em AM. Cada um dos algoritmos apresentados disp˜oe de uma s´erie de parˆametros que po- dem ser configurados. A parametriza¸c˜ao de cada um deles ´e apresentada no Cap´ıtulo 3. 23
  • 36. Cap´ıtulo 3 PREDI ¸C˜AO DE FLUXOS EM REDES DE COMPUTADORES Neste cap´ıtulo ´e apresentada a metodologia proposta neste trabalho para o ma- peamento das redes l´ogicas sobre as redes f´ısicas. A PL ´e realizada no resultado desse mapeamento. Tamb´em ´e apresentado o procedimento experimental adotado na rea- liza¸c˜ao dos experimentos deste trabalho, cujos resultados s˜ao discutidos no Cap´ıtulo 4. 3.1 Metodologia A metodologia descreve os m´etodos empregados no trabalho para a avalia¸c˜ao dos modelos preditivos gerados a instala¸c˜ao dos fluxos em redes de computadores. Foram testadas duas categorias de preditores: algoritmos tradicionais de PL e t´ecnicas de AM supervisionado. Outras caracter´ısticas importantes para a elabora¸c˜ao da meto- dologia incluem a aplica¸c˜ao de uma modelagem conjunta para a predi¸c˜ao de novos 24
  • 37. fluxos e de fluxos que persistem e ainda um m´etodo de mapeamento entre a rede de aplica¸c˜ao e a rede f´ısica. A metodologia adotada ´e ilustrada na Figura 3.1, que descreve os procedimentos executados: • Gerenciamento de Dados: consiste no pr´e-processamento dos dados e na gera¸c˜ao das redes complexas; • Mapeamento: compreende o processo de mapeamento das redes l´ogicas e, consequentemente, a modelagem pr´evia `a predi¸c˜ao; e • Predi¸c˜ao: consiste na predi¸c˜ao de links pelos preditores e na avalia¸c˜ao dos resultados obtidos nessa tarefa. Figura 3.1: Metodologia experimental. 25
  • 38. As se¸c˜oes seguintes detalham cada um desses procedimentos e as tarefas envolvi- das em cada um deles. 3.2 Gerenciamento de Dados Nesta etapa foram coletados e organizados todos os dados necess´arios para a re- aliza¸c˜ao dos experimentos. Inicialmente foram coletados dados para a forma¸c˜ao das redes de aplica¸c˜ao. Para a modelagem das redes f´ısicas foram gerados modelos topo- l´ogicos baseados na Teoria de Redes Complexas. As subse¸c˜oes seguintes descrevem esse procedimentos. 3.2.1 Dados das Redes de Aplica¸c˜ao Para representar as informa¸c˜oes das redes de aplica¸c˜ao foram utilizados dados de uma rede P2P e de uma rede de e-mails. Esses tipos de redes s˜ao comumente respons´aveis pela gera¸c˜ao de tr´afegos de redes de computadores. Os dados de ambas as redes representam situa¸c˜oes reais. Os dados da rede P2P foram coletados a partir das informa¸c˜oes dispon´ıveis na base de dados Can-O-Sleep [Fast et al., 2005], que foram recolhidas de um servidor OpenNap entre fevereiro e maio de 2003. A base de dados possui registros de todas as transferˆencias de arquivos entre os usu´arios da rede P2P Gnutella naquele per´ıodo e ela est´a dispon´ıvel publicamente no formato XML. A base Can-o-Sleep ´e composta por dados registrados entre 80 dias. No entanto, verificou-se que apenas 10 dias apresentam registros completos ao longo de 24 horas. Observou-se ainda que a maior parte dos dias dentre os 10 dias apresentados n˜ao possui um sucessor ou antecessor com registros completos, o que pode impossibi- 26
  • 39. litar para uma predi¸c˜ao de liga¸c˜oes mais acurada. Assim, optou-se por selecionar apenas os dois dias de n´umeros na sequˆencia (60/61 e 68/69) que apresentaram, ao menos, um dia posterior de registros, para gerar redes complexas. Todos os dias selecionados foram pr´e-processados para permitir a gera¸c˜ao de diversos conjuntos de dados representando diferentes instantes da rede. Esses conjuntos s˜ao chamados de snapshots. Em seguida, gerou-se as redes complexas para cada um dos conjuntos de dados. Cada uma das redes ´e um grafo orientado, em que os n´os representam os peers e as arestas representam a transferˆencia de arquivos entre os usu´arios da rede. Por fim, escolheu-se a rede com maior densidade (dia 69) para ser utilizada nos experimentos. Para a composi¸c˜ao dos dados da rede de e-mails foram utilizadas as informa¸c˜oes do conhecido corpus Enron [Klimt e Yang, 2004], que cont´em comunica¸c˜oes de e- mails corporativos dessa empresa desde 1979. Os dados do corpus foram inicialmente pr´e-processados, resultando em um grafo orientado, em que os n´os representam os usu´arios de e-mails e as arestas representam o envio de e-mails entre esses usu´arios. Para os experimentos foram selecionados apenas os ´ultimos 4 anos, que condensam as informa¸c˜oes mais atualizadas sobre a troca de e-mails entre os usu´arios da rede. Tanto nas redes P2P modeladas quanto na rede de e-mails foi inclu´ıdo um atri- buto, procedente das bases de dados originais, para auxiliar a predi¸c˜ao conforme o paradigma supervisionado. Esse atributo consiste em um timestamp [ISO, 2004] que registra a ocorrˆencia temporal de cada evento. Na rede P2P, o evento corresponde ao instante em que um arquivo foi transferido. Na rede de e-mails, o evento ´e a data de envio do e-mail. Por fim, a Tabela 3.1 mostra algumas caracter´ısticas das redes modeladas: os n´umeros de n´os e arestas, o grau m´edio total, o diˆametro e a densindade da rede, e os coeficientes de assortatividade e m´edio de agrupamento. Os valores maiores de 27
  • 40. Tabela 3.1: Caracter´ısticas das redes Rede P2P Rede de E-mails N´os 1097 144 Arestas 3679 1311 Grau M´edio Total 6,707 9,104 Diˆametro 9 7 Densidade 0,003 0,064 Assortatividade -0,119 0,096 Coef. M´edio de Agrupamento 0,016 0,384 grau m´edio, densidade e quantidade de grupos da rede de e-mails mostram que as informa¸c˜oes topol´ogicas dessa rede est˜ao mais organizadas em rela¸c˜ao `a rede P2P. No entanto, a rede P2P apresenta um n´umero maior de informa¸c˜oes, o que pode co- laborar na acur´acia predi¸c˜ao. As redes complexas modeladas de ambas as aplica¸c˜oes est˜ao dispon´ıveis em [Silva-Junior, 2013]. 3.2.2 Dados das Redes F´ısicas A segunda parte do gerenciamento de dados corresponde `a gera¸c˜ao dos dados dos modelos topol´ogicos, que representam a rede f´ısica. Optou-se por gerar topologias de trˆes diferentes modelos da ARC e utilizar um modelo sem topologia definida. Ao contr´ario das redes geradas, o modelo sem topologia n˜ao apresenta uma estrutura de conex˜ao. Nesse modelo, os v´ertices s˜ao um conjunto previamente definido de n´os, enquanto que o conjunto de arestas ´e formado pelas conex˜oes existentes na rede de aplica¸c˜ao que foram mapeadas de acordo com uma determinada configura¸c˜ao de n´os. Para todos os modelos foi adotada a mesma topologia, exceto pela quantidade de n´os (Nc = {10, 15, 25, 50, 100, 200}). Com exce¸c˜ao do modelo sem topologia, os parˆametros de todas redes foram configurados para permitir a existˆencia de, ao menos, uma aresta para cada n´o da rede. Assim, as rede foram geradas deste modo: 28
  • 41. • Rede Aleat´oria: gera¸c˜ao de uma rede segundo o modelo Erd¨os-R´enyi, com 25% de chance de um n´o formar arestas (p = 0, 25); • Rede de Mundo Pequeno: gera¸c˜ao de uma rede conforme o modelo Watts- Strogatz com grau m´edio igual a 2 e 25% de chances de um n´o formar arestas; • Rede Sem Escala: utiliza¸c˜ao do modelo Barab´asi-Albert com conex˜ao prefe- rencial linear. 3.3 Mapeamento Uma das principais contribui¸c˜oes deste trabalho ´e o m´etodo de mapeamento entre a rede de aplica¸c˜ao e a rede f´ısica. O m´etodo consiste na associa¸c˜ao dos n´os e das arestas entre ambas as redes e resulta em um conjunto de pares de n´os, que ´e com- preendido neste trabalho como um modelo de tr´afego de informa¸c˜oes. As principais vantagens do mapeamento s˜ao a ameniza¸c˜ao do desbalanceamento natural existente em PL e a possibilidade de verifica¸c˜ao de influˆencias entre duas redes complexas. Antes do m´etodo ser aplicado, as redes de aplica¸c˜ao geradas foram divididas para se ajustarem ao procedimento usual em PL, descrito no Cap´ıtulo 2.2. Os dados de cada uma das redes foram, ent˜ao, divididos em dois subconjuntos n˜ao-sobrepostos, chamados de subconjunto de treinamento X e subconjunto de avalia¸c˜ao Y . Para a rede P2P, os subconjuntos foram divididos igualmente, ficando com dados de 12 horas cada um deles. Para a rede de e-mails, o subconjunto de treinamento abrangeu os trˆes primeiros anos (1998-2000), enquanto subconjunto de avalia¸c˜ao ficou apenas com o ´ultimo ano (2001). Primeiramente, os pares de n´os presentes na rede de avalia¸c˜ao mas ausentes na rede de treinamento foram eliminados. Esse processo visou adequar 29
  • 42. a predi¸c˜ao de links `a predi¸c˜ao que ser´a realizada para a rede mapeada, chamada de predi¸c˜ao de fluxos. Formalmente, o mapeamento consiste na distribui¸c˜ao uniforme e aleat´oria dos n´os de uma rede GA para uma rede n˜ao orientada GF . Cada n´o presente na rede GA corresponde a um n´o da rede GF . Esse procedimento resulta em um conjunto com |VGF |·(|VGF |−1) 2 pares de n´os, onde VGF ´e o conjunto de n´os da rede GF . Os n´os associados podem se repetir caso a quantidade de n´os em GF seja menor que em GA. Al´em disso, a distribui¸c˜ao uniforme ´e adotada a fim de manter a distribui¸c˜ao das informa¸c˜oes originais da rede de aplica¸c˜ao. Esse procedimento tamb´em mantˆem na nova rede a forma¸c˜ao de conex˜oes da rede de aplica¸c˜ao. A primeira etapa do m´etodo ´e o mapeamento da rede de aplica¸c˜ao completa, que fornece os n´os que centralizam e emitem os fluxos de dados. Todos os n´os da rede de aplica¸c˜ao s˜ao distribu´ıdos de maneira uniforme e aleat´oria a cada um dos n´os da rede f´ısica. Em seguida s˜ao mapeados os subconjuntos de treinamento e avalia¸c˜ao, que fornecem as conex˜oes e representam a existˆencia ou n˜ao dos fluxos. Para exemplificar, considerar uma rede de aplica¸c˜ao GA com 500 n´os e 600 arestas, e uma rede f´ısica GF com 100 n´os. O mapeamento consiste em associar cada n´o de GA a um dos 100 poss´ıveis n´os de GF . A Figura 3.2 ilustra o procedimento adotado, onde P1 a P6 s˜ao os n´os da rede de aplica¸c˜ao e S1 a S4 s˜ao os n´os da rede f´ısica. Na pr´atica, os n´os PN podem designar computadores pessoais e os n´os SN podem representar switches de borda. O seguinte mapeamento aleat´orio foi, ent˜ao, realizado: P1 e P3 foram conectados a S4, P4 e P5 a S1, P2 a S2 e P6 a S3. Na Figura 3.2(b), a comunica¸c˜ao entre P1 e P6, por exemplo, gerar´a os seguintes fluxos na rede da Figura 3.2(a): P1 transmite a informa¸c˜ao a S4, que solicita, ent˜ao, ao controlador SDN que instale um fluxo para S3. Esse n´o f´ısico encontra o n´o P6 conectado a ele e transmite a informa¸c˜ao a esse n´o. 30
  • 43. Figura 3.2: Ilustra¸c˜ao do processo de mapeamento. 31
  • 44. Independentemente da topologia adotada, o mapeamento ´e capaz de gerar con- juntos com a mesma quantidade total de exemplos, incluindo o mesmo n´umero de links positivos e negativos, para o c´alculo das probabilidades de predi¸c˜ao de fluxos. As Tabelas 3.2 e 3.3 apresentam, respectivamente, a quantidade de exemplos nos conjuntos gerados a partir da rede P2P e de e-mails. Para ambas as redes, a quan- tidade de links negativos existentes cresce `a medida que o n´umero de n´os aumenta, mostrando o desbalanceamento dos conjuntos. Observa-se tamb´em que nem sempre o conjunto de dados a ser empregado nos experimentos de predi¸c˜ao ter´a a quanti- dade m´axima de exemplos dispon´ıveis. Isso porque o mapeamento restrige-se aos n´os da rede de treinamento, que pode ter menos exemplos que a rede de avalia¸c˜ao e ocasionar na perda de algumas conex˜oes. Tabela 3.2: Caracteriza¸c˜ao do conjunto de dados para a rede P2P. N´os M´ax. Exemplos Exemplos Positivos Negativos 10 45 45 44 (97,78%) 1 (2,22%) 15 105 105 91 (86,67%) 14 (13,33%) 25 300 300 171 (57%) 129 (43%) 50 1225 1225 243 (19,84%) 982 (80,16%) 100 4950 4851 326 (6,72%) 4525 (93,28%) 200 19900 14365 305 (2,12%) 14060 (97,88%) Tabela 3.3: Caracteriza¸c˜ao do conjunto de dados para a rede de e-mails. N´os M´ax. Exemplos Exemplos Positivos Negativos 10 45 45 45 (100%) 0 (0%) 15 105 105 76 (72,38%) 29 (13,33%) 25 300 300 29 (9,67%) 271 (90,33%) 50 1225 1081 258 (23,86%) 823 (76,13%) 100 4950 2926 300 (10,25%) 2626 (89,75%) 200 19900 5151 330 (6,41%) 4821 (93,59%) 32
  • 45. As tabelas tamb´em mostram um alto desbalanceamento entre links positivos e negativos. Na rede P2P, a quantidade de positivos decai com o aumento no n´umero de n´os (Nc). O melhor balanceamento ocorre nos modelos com Nc = 25. Na rede de e-mails, ao contr´ario, a majoritariedade do n´umero de links positivos ´e dependente de Nc. O balanceamento menos favor´avel `a predi¸c˜ao ocorre no modelo com Nc = 10, onde n˜ao h´a nenhum link negativo que sirva como exemplo contr´ario `a forma¸c˜ao de links. As melhores situa¸c˜oes ocorrem nos modelos em Nc = {15, 50}. Por´em, observa-se tamb´em que o modelo com 10 n´os possui apenas 1 registro na rede P2P e nenhum registro na rede de e-mails. Por falta de exemplos, os conjuntos de dados desse modelo foram descartados. Alguns experimentos pr´evios nos conjuntos com 15 n´os mostraram tamb´em que essa caracteriza¸c˜ao n˜ao gera hip´oteses por falta de exemplos contr´arios necess´arios `a predi¸c˜ao. Esse motivo ocasionou o descarte dos conjuntos com 15 n´os. 3.4 Predi¸c˜ao A etapa de predi¸c˜ao compreende a aplica¸c˜ao dos algoritmos, suas configura¸c˜oes e os m´etodos de an´alise de resultados. Esta se¸c˜ao descreve os m´etodos empregados para a etapa de predi¸c˜ao. 3.4.1 Sele¸c˜ao e Configura¸c˜ao de Algoritmos Este trabalho utiliza duas categorias de algoritmos para a predi¸c˜ao de links: algo- ritmos tradicionais de PL e t´ecnicas de AM. Neste trabalho foram usados os seguintes algoritmos tradicionais de PL: 33
  • 46. • Baseados no grau do n´o: Grau do N´o de Entrada, Grau do N´o de Sa´ıda, Conex˜ao Preferencial; • Baseados na vizinhan¸ca do n´o: Vizinhos Comuns, ´Indice de Jaccard, Co- eficiente de Adamic/Adar, ´Indice de Aloca¸c˜ao de Recursos, ´Indice do Hub Promovido e ´Indice do Hub Deprimido; e • Baseados no caminho entre os n´os: Caminho Mais Curto, Medida Katz e PropFlow. Todos os algoritmos que trabalham com o grau da rede foram configurados para utilizar o grau de sa´ıda do n´o. Para o c´alculo do caminho mais curto (CMC) foi em- pregado o algoritmo de busca em largura, que procura pelo melhor resultado em uma ´arvore transversal percorrendo-a em sentido p´os-ordem [McConnell, 2008]. O algo- ritmo Katz foi parametrizado com l = 5 e α = 0, 05. O PropFlow foi parametrizado para ter, no m´aximo, 5 passos aleat´orios. Entre os algoritmos de AM supervisionado empregados est˜ao o C4.5, a SVM, o na¨ıve Bayes e o k-NN. Dentre esses, apenas a SVM e o k-NN tiveram seus parˆametros alterados em rela¸c˜ao `a op¸c˜ao padr˜ao da ferramenta R [R Core Team, 2013]. O algoritmo SVM foi ajustado para ser uma SVM com kernel linear. E para o algoritmo k-NN foi adotado k = 1, baseando-se em experimentos anteriores [Silva-Junior et al., 2013]. 3.4.2 Avalia¸c˜ao de Desempenho A avalia¸c˜ao de desempenho consiste em mensurar a precis˜ao p de um determinado preditor H. Esse preditor observa as conex˜oes de uma determinada rede em um 34
  • 47. instante de tempo ∆t e prediz as conex˜oes dessa mesma rede durante um instante de tempo posterior ∆t + σ. Na avalia¸c˜ao dos preditores, primeiramente amostrou-se o conjunto de dados se- gundo alguma metodologia para a gera¸c˜ao de subconjuntos de treinamento e teste. Geralmente as aplica¸c˜oes de PL adotam a valida¸c˜ao cruzada [L¨u e Zhou, 2011], que particiona o conjunto de dados em K subconjuntos de tamanho aproximadamente igual. Enquanto os K −1 primeiros subconjuntos s˜ao designados como um ´unico con- junto de treinamento, o subconjunto restante ´e designado como conjunto de teste. Esse processo ´e repetido K vezes, alternando o conjunto de teste. Este trabalho adotou K = 10 para os experimentos. Os escores presentes no conjunto de teste representam as probabilidades das co- nex˜oes que se formaram ou se mantiveram. Segundo a metodologia usual em PL [L¨u e Zhou, 2011, Lichtnwalter e Chawla, 2012], a predi¸c˜ao consiste em obter um valor das probabilidades calculadas e extrair o menor valor entre elas, que ´e chamado de limiar. Esse valor indica a probabilidade m´ınima para que uma aresta se forme ou se mantenha no grafo no instante futuro posterior. Em geral, o limiar ´e obtido por meio do ranqueamento em ordem decrescente dos escores do conjunto de teste. Para realizar a predi¸c˜ao, a abordagem usual confere o valor limiar com o escore de todos os pares de n´os do conjunto de treinamento, seguindo esta regra: • Se o valor do limiar ´e menor ou igual ao valor do escore do par de n´os, ent˜ao esse par de n´os ´e contabilizado como formado ou mantido; • Sen˜ao, o par de n´os ´e contabilizado como n˜ao formado ou n˜ao mantido; Na segunda etapa da avalia¸c˜ao de desempenho ´e realizado o c´alculo das m´etricas de desempenho sobre os conjuntos de teste. As m´etricas empregadas na ´area visam 35
  • 48. calcular a quantidade de links que o preditor acerta em cada uma das classes. A maior parte dos trabalhos em PL adota a curva ROC ou a sua ´area (AUC) [Fawcett, 2006] para avaliar os preditores [Silva-Junior e Lorena, 2013]. Alguns trabalhos incluem tamb´em a medida escalar de precis˜ao [Faceli et al., 2011], que fornece a quantidade de links corretamente preditos. Mais recentemente as pesquisas tˆem advogado [Lichtnwalter e Chawla, 2012] pelo uso da curva Precis˜ao-Revoca¸c˜ao [Davis e Goadrich, 2006], que fornece uma vis˜ao mais discriminante do desempenho do preditor em contextos altamente desbalanceados, como ´e o caso dos conjuntos de dados de PL. Neste trabalho optou-se por adotar uma m´etrica escalar que permitisse analisar graficamente o desempenho em rela¸c˜ao aos acertos e erros do preditor ao longo de diferentes momentos da rede. Essa m´etrica deveria ainda focar-se nos links positivos, que s˜ao os de maior interesse. Assim, escolheu-se a medida F1 [Faceli et al., 2011], que resulta em um valor escalar entre 0 e 1 e pode ser obtida por meio dos seguintes c´alculos: • Medida F1 (F1): ´e a m´edia harmˆonica ponderada da precis˜ao e da revoca¸c˜ao, as quais possuem o mesmo grau de importˆancia no c´alculo da medida. Ela pode ser expressa deste modo: F1(H) = 2 · PR(H) · RV (H) PR(H) + RV (H) (3.1) • Precis˜ao (PR): ´e a raz˜ao entre os links positivos preditos corretamente e todos os links preditos como positivos. ´E expresso pela seguinte f´ormula: PR(H) = |links preditos corretamente ∩ links preditos como positivos| |links preditos como positivos| (3.2) 36
  • 49. • Revoca¸c˜ao (RV): ´e a raz˜ao entre os links positivos preditos corretamente e todos os links positivos existentes. A revoca¸c˜ao ´e expressa pela f´ormula: RV (H) = |links preditos corretamente ∩ links positivos| |links positivos| (3.3) 37
  • 50. Cap´ıtulo 4 RESULTADOS Neste cap´ıtulo s˜ao apresentados e discutidos os resultados dos experimentos reali- zados para a predi¸c˜ao de fluxos em redes de computadores utilizando a metodologia. As se¸c˜oes seguintes descrevem os resultados para a rede P2P e a rede de e-mails, assim como uma discuss˜ao a respeito da predi¸c˜ao de fluxos e algumas considera¸c˜oes finais. Os resultados completos de todos os experimentos podem ser consultados no Apˆendice A. 4.1 Resultados da Rede P2P Esta se¸c˜ao apresenta os resultados dos algoritmos tradicionais de PL e das t´ecnicas de AM adotadas para os experimentos na rede P2P. 4.1.1 Algoritmos de Predi¸c˜ao de Links Tradicionais As Figuras 4.1 e 4.2 apresentam os resultados obtidos em cada um dos modelos topol´ogicos experimentados. Nas figuras e nas an´alises seguintes, os algoritmos foram 38
  • 51. categorizados de acordo com o m´etodo no qual eles s˜ao desenvolvidos, conforme explicado no Cap´ıtulo 2.2: m´etodos baseados no grau do n´o, na vizinhan¸ca do n´o ou no caminho entre n´os. Figura 4.1: Desempenho dos algoritmos de PL nos modelos sem topologia e aleat´orio para a rede P2P. Na rede sem topologia definida, os algoritmos baseados no grau do n´o (Graus do n´o de entrada e sa´ıda e Conex˜ao Preferencial) come¸caram apresentando os melhores resultados, em termos de F1. Por´em, o aumento no n´umero de n´os (Nc) acabou deteriorando o desempenho dos preditores. Os algoritmos baseados em vizinhan¸ca (Vizinhos Comuns, Jaccard, Adamic/Adar, RAI, HPI e HDI) s˜ao os de mais fraco desempenho em todas as varia¸c˜oes de Nc. Essa situa¸c˜ao tamb´em acontece com 39
  • 52. Figura 4.2: Desempenho dos algoritmos de PL nos modelos de mundo pequeno e sem escala para a rede P2P. aqueles baseados em caminho (CMC, Katz e PropFlow), exceto pelo CMC, que apresenta o melhor desempenho geral na rede e pouca deteriora¸c˜ao. Na rede aleat´oria, o algoritmo CMC n˜ao apenas ´e o melhor entre os preditores como ´e o de melhor estabilidade, pois seus resultados variam menos para diferentes configura¸c˜oes de n´umeros de n´os. Outros algoritmos similares, como o Katz e o PropFlow, permanecem abaixo dos algoritmos de outras categorias. As medidas de grau de n´o e os Vizinhos Comuns foram os preditores com melhor desempenho inicial e com menor deteriora¸c˜ao para redes com mais n´os. Na rede de mundo pequeno observa-se que a situa¸c˜ao se altera. Embora o CMC e os Vizinhos Comuns comecem apresentando bons resultados, o desempenho de 40
  • 53. ambos os preditores deteriora `a medida que Nc cresce. Outra observa¸c˜ao nessa rede ´e o desempenho m´aximo obtido em Nc = 200 pelo seguinte conjunto de preditores: Vizinhos Comuns, Coeficientes de Jaccard e Adamic/Adar, RAI, HPI e HDI. Todos esses preditores s˜ao algoritmos baseados em vizinhan¸ca. Os resultados na rede sem escala aproximam-se dos resultados na rede de mundo pequeno. As medidas de grau do n´o e os Vizinhos Comuns s˜ao os que apresentam melhor desempenho inicial. No entanto, observa-se que a partir de Nc = 50 o conjunto de preditores baseados em vizinhan¸ca atinge desempenho m´aximo (F1 = 1, 0). Esse desempenho ´e seguido at´e Nc = 200, mostrando estabilidade na predi¸c˜ao. 4.1.2 Algoritmos de Aprendizado de M´aquina O desempenho das t´ecnicas de AM adotadas ´e ilustrado na Figura 4.3, que mostra, a princ´ıpio, baixa estabilidade dos algoritmos consoante `as taxas F1 para redes com n´umero crescente de n´os. Em geral, a estabilidade dessas redes acontece quando o desempenho obtido ´e nulo (F1 = 0, 0). O modelo sem topologia ´e o ´unico que n˜ao apresenta essas caracter´ısticas. A rede sem topologia apresenta os melhores resultados em compara¸c˜ao com as demais redes. As t´ecnicas C5.0 e SVM mostram resultados bastante similares e foram aquelas com os melhores resultados preditivos. O na¨ıve Bayes mostra queda no desempenho com o aumento do n´umero de n´os, mas lenta deteriora¸c˜ao. O k-NN, ao contr´ario, mostra uma r´apida deteriora¸c˜ao ap´os Nc = 25, mas aumento da estabilidade e melhora de resultados a partir de Nc = 50. Nas demais redes, o melhor desempenho ´e alcan¸cado em Nc = 25. Em outros momentos de Nc, o desempenho ´e inferior. De forma geral, os desempenhos das t´ecnicas de AM foram melhores para redes pequenas. 41
  • 54. Figura 4.3: Desempenho dos algoritmos de AM para a rede P2P. 4.1.3 Discuss˜ao A primeira observa¸c˜ao a respeito dos resultados apresentados corresponde `a se- le¸c˜ao dos preditores. Observa-se que nem sempre um determinado preditor ser´a a melhor op¸c˜ao para cada valor de Nc. Por exemplo, o CMC ´e o melhor preditor na rede de mundo pequeno entre os preditores de PL quando Nc = 25, mas se encon- tra entre os piores quando Nc = 200. Essa observa¸c˜ao mostra que h´a existˆencia de influˆencias entre as redes mapeadas. Caso os preditores apresentassem resultados se- melhantes em casos iguais, mostraria-se a n˜ao existˆencia dessa influˆencia. Por essas raz˜oes considerou-se ainda avaliar o desempenho dos preditores por sua estabilidade com o aumento dos tamanhos das redes e desempenhos m´aximo e nulo. 42
  • 55. Em uma outra an´alise ampla nota-se que nem todos os algoritmos tˆem seu desem- penho alterado com o incremento de Nc. Em certos casos, o desempenho ´e deteriorado quando Nc ´e incrementado apenas uma vez, mas melhorado quando incrementado novamente. Por exemplo, na rede sem escala, o desempenho do grau do n´o de destino ´e deteriorado em Nc = 100, mas aperfei¸coado em Nc = 200. As redes sem topologia e aleat´oria tˆem resultados semelhantes entre elas, assim como as redes de mundo pequeno e sem escala. Desta forma, analisam-se dois gru- pos. Nas redes do primeiro grupo, formadas pelas redes sem topologia e aleat´oria, destaca-se o algoritmo CMC, que n˜ao sofreu influˆencias do desbalanceamento do con- junto de dados. Ao contr´ario, o CMC ´e afetado negativamente apenas quando h´a o melhor balanceamento do conjunto, que ´e em Nc = 25. Observando as redes do segundo grupo, formadas pelas redes de mundo pequeno e sem escala, nota-se que a topologia das redes evolui e passa a ignorar informa¸c˜oes que antes eram importan- tes. Compreende-se isso melhor analisando a rede sem escala, onde os n´os de um determinado valor de Nc deixam de ser hubs quando Nc muda. Nas redes do segundo grupo observou-se o destaque de um conjunto de preditores em raz˜ao de seu desempenho m´aximo. Todos os preditores desse conjunto s˜ao ba- seados em vizinhan¸ca. Deste modo, nota-se que os modelos topol´ogicos desse grupo fornecem boas informa¸c˜oes a respeito da estrutura local do n´o. Por outro lado, nos casos em que o desempenho n˜ao ´e m´aximo, destacam-se os demais. Na rede de mundo pequeno, o CMC volta a ser o melhor preditor, exceto em Nc = 200. Com a aplica¸c˜ao dos algoritmos de AM, os resultados mudaram na maior parte das redes. A rede sem topologia ´e a que apresenta os melhores resultados e os menos semelhantes em rela¸c˜ao `as demais redes. Nela, as t´ecnicas de AM supervisionado superaram sem dificuldades os algoritmos tradicionais. Nas demais redes, os resul- tados aproximam-se. Os melhores desempenhos s˜ao obtidos em Nc = 25 em raz˜ao 43
  • 56. da boa proporcionalidade entre links positivos e negativos no conjunto de dados. A queda no desempenho ap´os esse valor de Nc pode ser solucionada por meio de t´ec- nicas de pr´e-processamento para a corre¸c˜ao do desbalanceamento dos dados, como mostrado em [Lichtenwalter et al., 2010, Silva-Junior et al., 2013]. Este trabalho, no entanto, n˜ao utiliza essas t´ecnicas para verificar o comportamento do mapeamento, que, como observado inicialmente, ameniza a despropor¸c˜ao entre exemplos positivos e negativos. Os algoritmos que melhor sustentaram a queda no desempenho, ou seja, com deteriora¸c˜ao mais lenta para redes maiores, foram o na¨ıve Bayes e o k-NN. Na rede de mundo pequeno, por exemplo, o desempenho de ambos os algoritmos ´e bastante superior em rela¸c˜ao aos demais nos intervalos centrais (Nc = {50, 100}). Por outro lado, o C5.0 e a SVM s˜ao aqueles com melhor desempenho nos casos balanceados, mostrando que esses algoritmos s˜ao mais sens´ıveis ao balanceamento de exemplos para a predi¸c˜ao de fluxos. 4.2 Resultados da Rede de E-mails Esta se¸c˜ao apresenta os resultados dos algoritmos tradicionais de PL e das t´ecnicas de AM adotadas para os experimentos na rede de e-mails. 4.2.1 Algoritmos de Predi¸c˜ao de Links Tradicionais As Figuras 4.4 e 4.5 apresentam os resultados obtidos a partir dos experimentos na rede de e-mails. Assim como na rede P2P, uma compara¸c˜ao inicial entre os modelos mostra uma aproxima¸c˜ao entre as redes sem topologia e aleat´oria e tamb´em entre as redes de mundo pequeno e sem escala. 44
  • 57. Na rede sem topologia, apenas o algoritmo CMC destaca-se para a predi¸c˜ao de fluxos, obtendo seu melhor desempenho em Nc = 50. Nos n´umeros de n´os seguintes, o CMC ainda ´e o preditor com o melhor resultado. No entanto, seu desempenho aproxima-se dos demais em Nc = 25. Na rede aleat´oria, o CMC continua como o melhor algoritmo. Al´em disso, ele apresenta melhor estabilidade, com mais de 70% de acertos em 75% dos valores de Nc. Figura 4.4: Desempenho dos algoritmos de PL nos modelos sem topologia e aleat´orio para a rede de e-mails. Na rede de mundo pequeno, o CMC come¸ca em Nc = 25 com o melhor resultado. Ele mantem-se deste modo at´e Nc = 100, aproximando-se do grau do n´o de origem, que cresce `a medida que Nc ´e incrementado. No entanto, o conjunto de preditores baseados em vizinhan¸ca destacado na rede P2P tamb´em se destaca para a rede 45
  • 58. Figura 4.5: Desempenho dos algoritmos de PL nos modelos de mundo pequeno e sem escala para a rede de e-mails. de e-mails em Nc = 200. Esse conjunto tamb´em apresentou desempenho m´aximo (F1 = 1, 0). A situa¸c˜ao se repete na rede sem escala, onde esse conjunto de preditores alcan¸ca m´aximo desempenho a partir de Nc = 100. O algoritmo CMC e as medidas de grau n˜ao figuram mais como bons preditores. `A medida que Nc ´e incrementado, o desempenho desses preditores decresce. Um algoritmo que tamb´em se destaca em Nc = 200 ´e a medida Katz. Embora n˜ao tenha atingido o desempenho m´aximo, ela apresenta um resultado superior em compara¸c˜ao aos demais, que acertaram menos de 20% dos exemplos. 46
  • 59. 4.2.2 Algoritmos de Aprendizado de M´aquina Os resultados usando as t´ecnicas de AM s˜ao ilustrados na Figura 4.6. Uma an´alise geral das redes mostra que os melhores resultados s˜ao obtidos em Nc = 50. Novamente, o desempenho tende a ser melhor em rede pequenas. Figura 4.6: Desempenho dos algoritmos de AM para a rede de e-mails. Observa-se ainda que a rede sem topologia definida tem os melhores desempenhos. Com exce¸c˜ao da SVM, todas as t´ecnicas apresentaram bons resultados e regular estabilidade. O na¨ıve Bayes ´e o algoritmo com o desempenho mais elevado em 75% dos valores de Nc. O k-NN tamb´em se destaca nessa rede por ser a t´ecnica mais est´avel ao apresentar maior constˆancia em seu desempenho ao longo da varia¸c˜ao no n´umero de n´os. A estabilidade do k-NN tamb´em ´e observada na rede aleat´oria, que 47
  • 60. mostra valores constantes para o algoritmo. Apesar de as demais t´ecnicas atingirem o desempenho nulo muito rapidamente, o k-NN mant´em-se est´avel e com desempenho n˜ao nulo em todas as varia¸c˜oes de n´os. O algoritmo SVM apresentou desempenho nulo na maior parte das situa¸c˜oes (Nc = {25, 100, 200}), indicando que n˜ao ´e uma boa t´ecnica para problemas de pre- di¸c˜ao de fluxos em conjuntos muito desbalanceados. Por outro lado, os demais algo- ritmos mostraram-se menos sens´ıveis ao desbalanceamento. Em especial, destacou-se o algoritmo na¨ıve Bayes, que n˜ao apenas obteve o melhor desempenho em 75% das situa¸c˜oes como apresentou a menor deteriora¸c˜ao de desempenho entre os algoritmos. 4.2.3 Discuss˜ao A an´alise dos resultados para os algoritmos de PL pode ser dividida em dois grupos: o primeiro, relacionado `as redes sem topologia e aleat´oria; o segundo, rela- cionado `as redes de mundo pequeno e sem escala. Em geral, os melhores preditores em cada grupo apresentaram boa eficiˆencia para ambos os modelos do grupo. Em uma an´alise espec´ıfica, as redes do primeiro grupo apresentam o CMC como o melhor dentre os algoritmos de PL. Essa escolha pode ser explicada pela simplicidade do c´alculo empregado e pelo desconhecimento parcial sobre o desbalanceamento entre links positivos e negativos, que n˜ao ´e ignorado totalmente pelos demais preditores. Essa explica¸c˜ao s´o pode ser observada nas redes apresentadas, uma vez que ela n˜ao segue nas redes do segundo grupo. Nas redes do segundo grupo, destacam-se principalmente o conjunto de predito- res baseado em vizinhan¸ca, que obtˆem desempenho m´aximo. Assim como na rede P2P, compreende-se que os modelos favorecem a predi¸c˜ao em raz˜ao da forma¸c˜ao de conex˜oes locais. Apesar de n˜ao obterem desempenho m´aximo, outros algoritmos 48
  • 61. destacam-se pela estabilidade e melhora de resultados `a medida que Nc cresce. Na rede de mundo pequeno, os algoritmos mais simples, como as medidas de grau e os Vi- zinhos Comuns, apresentam os melhores resultados. Assim, a efic´acia de algoritmos triviais [Zhou et al., 2009, Sarkar et al., 2011] ´e corroborada neste trabalho. Em rela¸c˜ao aos algoritmos de AM, observa-se novamente que eles apresentam, em geral, melhores resultados que os baselines usados tradicionalmente em PL. Contudo, eles s˜ao bastante afetados pelo desbalanceamento dos conjuntos de dados. Quanto mais proporcional ´e o balanceamento, melhores s˜ao os resultados. Um caso interes- sante a ser analisado ´e o algoritmo k-NN nas redes de mundo pequeno e sem escala. Em ambas as redes, os resultados foram obtidos a partir de conjuntos de dados com quase 90% de links negativos (Nc = {25, 100}), ou seja, bastante desbalanceados. Esse caso particular pode ser explicado em raz˜ao de o k-NN adaptar-se bem a mar- gens de decis˜ao irregulares [Hastie et al., 2009]. Isso significa que os exemplos dos conjuntos n˜ao s˜ao facilmente categorizados, que ´e o caso dos conjuntos de predi¸c˜ao de fluxos. De modo contr´ario, essa situa¸c˜ao se inverte na SVM linear adotada, que s´o conseguiu discriminar as classes dos conjuntos balanceados. 4.3 Considera¸c˜oes Finais Para alcan¸car os objetivos deste trabalho, os experimentos verificaram a eficiˆen- cia preditiva de diversos algoritmos em modelos topol´ogicos usuais da ARC. Esses modelos foram configurados com base em duas redes reais de aplica¸c˜ao: uma rede P2P e uma rede de e-mails. As duas redes de aplica¸c˜ao forneceram informa¸c˜oes a respeito do tr´afego de dados em determinado momento, permitindo que esses dados fossem utilizados pelos modelos topol´ogicos como fluxos de redes de computadores. 49
  • 62. Os experimentos foram conduzidos separamente para cada rede de aplica¸c˜ao, sendo experimentadas diversas t´ecnicas tradicionais de PL e AM supervisionado. Os resultados mostram que as t´ecnicas de AM s˜ao, em geral, superiores `as t´ecnicas de PL, especialmente para redes menores. Embora a deteriora¸c˜ao do desempenho seja mais r´apida naquelas t´ecnicas, os preditores de PL ainda apresentaram desempenho inferior na maior parte dos casos. Isso indica que, apesar da melhor estabilidade dos baselines, ´e prefer´ıvel a ado¸c˜ao das t´ecnicas de AM por apresentarem os melhores desempenhos gerais. Uma observa¸c˜ao a ser feita a respeito dos modelos topol´ogicos ´e o bom desempe- nho da maior parte dos preditores na rede sem topologia definida. Explica-se, ent˜ao, que o bom desempenho ´e caracterizado pela proximidade entre a distribui¸c˜ao das informa¸c˜oes da rede e a distribui¸c˜ao real na rede de aplica¸c˜ao utilizada. No entanto, o modelo sem topologia pode n˜ao representar fielmente uma situa¸c˜ao real, uma vez que a sua topologia est´a condicionada `a topologia de uma ´unica rede superjacente. Apesar de n˜ao terem apresentado, de maneira geral, os melhores resultados, os mo- delos de mundo pequeno e sem escala parecem estar mais pr´oximos das situa¸c˜oes reais. Os experimentos ainda visaram a compara¸c˜ao entre os algoritmos de PL, entre as t´ecnicas de AM adotadas e entre essas duas categorias de preditores. Na primeira compara¸c˜ao destacam-se dois algoritmos simples: o CMC e as medidas de grau do n´o. Deste modo, conclui-se que a predi¸c˜ao de fluxos obt´em bons resultados a partir de t´ecnicas simples, sejam baseadas no grau, na vizinhan¸ca ou no caminho do n´o. Embora essa conclus˜ao possa se opor ao desempenho m´aximo de algoritmos que n˜ao s˜ao triviais, nota-se que esses algoritmos apresentaram bons resultados nas redes de mundo pequeno e sem escala, que n˜ao s˜ao redes parcialmente aleat´orias. Deste modo, os algoritmos triviais representam melhor as caracter´ısticas da rede de aplica¸c˜ao e, 50
  • 63. por conseguinte, das informa¸c˜oes que nela trafegam. Tamb´em em AM observa-se que o uso de t´ecnicas simples permite uma melhor predi¸c˜ao de fluxos. Entre elas, o k-NN e o na¨ıve Bayes foram os que apontaram os melhores resultados. H´a casos em que os algoritmos tradicionais de PL s˜ao mais vantajosos que as t´ecni- cas de AM. Por´em, este trabalho advoga pelo uso das t´ecnicas de AM supervisionado para o problema da predi¸c˜ao de fluxos. Entre suas vantagens, est˜ao a possibilidade de abranger mais informa¸c˜oes a respeito da rede a ser predita e a utiliza¸c˜ao dos r´otulos dos conjuntos de dados, que funcionam como avaliadores da predi¸c˜ao, e n˜ao como preditores agn´osticos [Lichtenwalter et al., 2010]. Por fim, os experimentos mostraram que nem sempre um determinado preditor apresentar´a resultados pr´oximos para diferente tamanhos de uma determinada rede. Deste modo, conclui-se que a rede f´ısica subjacente tamb´em influencia na predi¸c˜ao de fluxos. 51
  • 64. Cap´ıtulo 5 CONCLUS˜AO Este cap´ıtulo discute as conclus˜oes deste trabalho, que investiga o problema de predi¸c˜ao de fluxos em redes de computadores, motivando-se em conceitos de SDN. A solu¸c˜ao adotada para esse problema mapeia duas redes de aplica¸c˜ao em quatro modelos topol´ogicos da An´alise de Rede Complexas. Esse mapeamento consiste na associa¸c˜ao de n´os entre as duas rede que resulta em uma nova forma¸c˜ao topol´ogica, onde as arestas seguem ou n˜ao um padr˜ao pr´e-definido. Essa nova rede ´e, ent˜ao, utilizada em uma modelagem de problemas de Predi¸c˜ao de Links que abrange duas diferentes tarefas ao mesmo tempo: predi¸c˜ao de novos links e persistˆencia de links. Nessa abordagem conjunta, diversas t´ecnicas de Predi¸c˜ao de Links s˜ao empregadas como baselines para a compara¸c˜ao com t´ecnicas de Aprendizado de M´aquina Super- visionado. Os desempenhos obtidos de cada uma das t´ecnicas ´e calculado por meio da m´etrica de desempenho F1, que enfatiza a precis˜ao e revoca¸c˜ao na predi¸c˜ao dos links formados. Os resultados s˜ao comparados e uma discuss˜ao ´e realizada para duas redes de aplica¸c˜ao reais: P2P e de e-mails. 52
  • 65. As conclus˜oes mais gerais s˜ao apresentadas neste cap´ıtulo. Nas pr´oximas se¸c˜oes s˜ao apresentados os principais resultados obtidos, as contribui¸c˜oes do trabalho, suas limita¸c˜oes e os trabalhos futuros. 5.1 Principais Resultados O principal resultado obtido foi a corrobora¸c˜ao da influˆencia preditiva entre as redes mapeadas. Os quatro modelos de redes complexas adotados para a rede f´ı- sica mostraram que nem sempre um determinado preditor apresentar´a os mesmos resultados em diferentes varia¸c˜oes topol´ogicas. Tanto os resultados preditivos dos algoritmos tradicionais de Predi¸c˜ao de Links quanto das t´ecnicas de Aprendizado de M´aquina confirmaram essa influˆencia. Esse resultado mostra a importˆancia em utilizar diferentes t´ecnicas para um problema de Predi¸c˜ao de Links. Outros resultados importantes est˜ao relacionados aos objetivos espec´ıficos do tra- balho. Para alcan¸car o objetivo principal, que ´e investigar a predi¸c˜ao de fluxos em redes de computadores, elaborou-se inicialmente um m´etodo para mapear a rede de aplica¸c˜ao sobre a rede f´ısica, exemplificando uma situa¸c˜ao real. O m´etodo de mape- amento tem como resultado uma uma rede que denota o tr´afego das informa¸c˜oes da rede de aplica¸c˜ao na rede f´ısica subjacente. Desta forma, os experimentos conduzidos levaram `a principal conclus˜ao obtida deste trabalho, que ´e a influˆencia preditiva dos modelos topol´ogicos nos resultados. ´E tamb´em resultado deste trabalho a abordagem que une as predi¸c˜oes das liga¸c˜oes que se formam e das liga¸c˜oes que se mantˆem em uma mesma rede. Usualmente essas predi¸c˜oes s˜ao realizadas separadamente. Contudo, essa abordagem conjunta foi empregada neste trabalho, permitindo a inclus˜ao de uma maior quantidade de exemplos e, por conseguinte, de mais links a serem preditos. 53
  • 66. Como discutido, nenhum preditor obteve o melhor desempenho geral em todos os casos. Observou-se, por´em, que as t´ecnicas de Predi¸c˜ao de Links tradicionais se so- bressaem em redes maiores. Por outro lado, observou-se tamb´em que os algoritmos de Aprendizado de M´aquina, apesar de serem mais sens´ıveis ao alto desbalancea- mento dos conjuntos de dados, predisseram com maior precis˜ao os fluxos da rede que os baselines. Assim, este trabalho ´e obrigado a advogar pelo uso das t´ecnicas supervisionadas na finalidade de uma melhor solu¸c˜ao para os problemas de predi¸c˜ao de fluxos. 5.2 Contribui¸c˜oes e Limita¸c˜oes A primeira contribui¸c˜ao deste trabalho ´e a realiza¸c˜ao de uma revis˜ao de literatura em Predi¸c˜ao de Links que inclu´ısse t´ecnicas de Aprendizado de M´aquina supervisio- nado entre as solu¸c˜oes da ´area. A revis˜ao identifica as metodologias de modelagem usuais e os preditores tradicionalmente empregados no problema. O texto deste tra- balho limita-se a descrever os principais m´etodos do arcabou¸co de Predi¸c˜ao de Links que sustentam a predi¸c˜ao de fluxos em redes de computadores. Uma vers˜ao mais detalhada dessa revis˜ao pode ser lida em [Silva-Junior e Lorena, 2013]. O inter-relacionamento de conceitos de diversas ´areas tamb´em ´e uma contribui¸c˜ao importante deste trabalho. Os conceitos de Redes Definidas por Software, que s˜ao os principais motivadores da pesquisa, conduziram os todos experimentos. Nesses experimentos foram selecionadas redes de aplica¸c˜ao para serem modeladas como redes complexas e, em seguida, empregadas nas abordagens de Predi¸c˜ao de Links. Os resultados s˜ao obtidos e comparados com aqueles obtidos por t´ecnicas de Aprendizado de M´aquina, uma ´area da Inteligˆencia Artificial. Esse conjunto de ´areas e diferentes t´ecnicas que se relacionam mostra como os conceitos foram aplicados nesta pesquisa 54
  • 67. e podem colaborar para uma ciˆencia mais interdisciplinar, ampliando as teorias e m´etodos que tˆem essa finalidade. Uma importante contribui¸c˜ao ´e a investiga¸c˜ao da predi¸c˜ao de fluxos realizada em redes de computadores. Apesar deste trabalho n˜ao apresentar uma aplica¸c˜ao concreta, ele contribui para as solu¸c˜oes de predi¸c˜ao na ´area, que ainda s˜ao incipientes. O arcabou¸co deste trabalho ainda permite estender os experimentos `as aplica¸c˜oes de Redes Definidas por Software. Outra contribui¸c˜ao ´e o dom´ınio de aplica¸c˜ao adotado. Poucos trabalhos utilizam redes de computadores como redes complexas. Com dificuldades, este trabalho co- letou duas redes de aplica¸c˜ao reais para os experimentos. Uma dessas redes (P2P) foi formatada de maneira topol´ogica e temporal e, junto com a rede de e-mails, se encontra agora disponibilizada em [Silva-Junior, 2013] para pesquisas futuras. Por fim, a aplica¸c˜ao simultˆanea de duas categorias de predi¸c˜ao de links ´e uma contribui¸c˜ao relacionada `a area de Predi¸c˜ao de Links. O m´etodo de modelagem deste trabalho ´e empregado nos experimentos em raz˜ao da preferˆencia em se predizer a forma¸c˜ao de liga¸c˜oes que se formam ou se mantˆem em redes de computadores. A flexibilidade do m´etodo permite que ele seja estendido a outros dom´ınios de aplica¸c˜ao. 5.3 Trabalhos Futuros O principal trabalho a ser realizado ´e a confirma¸c˜ao pr´atica deste trabalho. Como apresentado na se¸c˜ao anterior, este trabalho limitou-se a investigar a predi¸c˜ao de fluxos por meio de redes complexas, sem analisar o comportamento da predi¸c˜ao em redes de computadores reais. O primeiro passo a ser dado com este trabalho ´e uma simula¸c˜ao desse comportamento. 55
  • 68. Outro trabalho futuro ´e a experimenta¸c˜ao da abordagem conjunta em diferentes conjunto de dados. Este trabalho emprega o m´etodo de modelagem apenas em poucas redes e de um ´unico dom´ınio, que s˜ao as redes de computadores. Al´em disso, o m´etodo ´e assumido como melhor pr´atica, sem, no entanto, ter seu seu desempenho comparado previamente com uma abordagem disjunta. A partir desta pesquisa tamb´em podem ser experimentados outros algoritmos de Aprendizado de M´aquina. Um passo nessa dire¸c˜ao indica o uso de t´ecnicas semelhan- tes ao k-NN ou ao na¨ıve Bayes. A simplicidade desses algoritmos mostra um futuro para a predi¸c˜ao de fluxos a partir de m´etodos simples. Tamb´em seria apropriado realizar um pr´e-processamento nos dados de aplica¸c˜ao para diminuir o desbalancea- mento entre as classes. Esse tipo de pr´atica poderia levar a melhoras significativas dos resultados alcan¸cados por essas t´ecnicas triviais. 56
  • 69. Referˆencias [Barabasi e Albert, 1999] Barabasi, A. L. e Albert, R. (1999). Emergence of scaling in random networks. Science (New York, N.Y.), 286(5439):509–512. Citado em [8]. [Benchettara et al., 2010a] Benchettara, N., Kanawati, R., e Rouveirol, C. (2010a). Supervised machine learning applied to link prediction in bipartite social networks. In Proceedings of the 2010 International Conference on Advances in Social Networks Analysis and Mining, ASONAM ’10, p. 326–330, Washington, DC, USA. IEEE Computer Society. Citado em [12]. [Benchettara et al., 2010b] Benchettara, N., Kanawati, R., e Rouveirol, C. (2010b). A supervised machine learning link prediction approach for academic collaboration recommendation. In Proceedings of the fourth ACM conference on Recommender systems, RecSys ’10, p. 253–256, New York, NY, USA. ACM. Citado em [11]. [Davis e Goadrich, 2006] Davis, J. e Goadrich, M. (2006). The relationship between precision-recall and roc curves. In Proceedings of the 23rd international conference on Machine learning, ICML ’06, p. 233–240, New York, NY, USA. ACM. Citado em [36]. 57
  • 70. [Erd¨os e R´enyi, 1959] Erd¨os, P. e R´enyi, A. (1959). On random graphs, I. Publica- tiones Mathematicae (Debrecen), 6:290–297. Citado em [7]. [Faceli et al., 2011] Faceli, K., Lorena, A. C., Gama, J., e de Carvalho, A. C. (2011). Inteligˆencia Artificial: Uma Abordagem de Aprendizado de M´aquina. LTC, Rio de Janeiro. Citado em [21, 36]. [Fast et al., 2005] Fast, A., Jensen, D., e Levine, B. N. (2005). Creating social networks to improve peer-to-peer networking. In Proceedings of the eleventh ACM SIGKDD international conference on Knowledge discovery in data mining, KDD ’05, p. 568–573, New York, NY, USA. ACM. Citado em [26]. [Fawcett, 2006] Fawcett, T. (2006). An introduction to {ROC} analysis. Pattern Recognition Letters, 27(8):861 – 874. {ROC} Analysis in Pattern Recognition. Citado em [36]. [Feamster et al., 2013] Feamster, N., Rexford, J., e Zegura, E. (2013). The road to sdn. Queue, 11(12):20. Citado em [19]. [Feyessa et al., 2011] Feyessa, T., Bikdash, M., e Lebby, G. (2011). Node-pair feature extraction for link prediction. In Privacy, security, risk and trust (passat), 2011 ieee third international conference on and 2011 ieee third international conference on social computing (socialcom), p. 1421 –1424. Citado em [11]. [Fire et al., 2011] Fire, M., Tenenboim, L., Lesser, O., Puzis, R., Rokach, L., e Elo- vici, Y. (2011). Link prediction in social networks using computationally efficient topological features. In Privacy, security, risk and trust (passat), 2011 ieee third international conference on and 2011 ieee third international conference on social computing (socialcom), p. 73 –80. Citado em [11]. 58
  • 71. [Getoor e Diehl, 2005] Getoor, L. e Diehl, C. P. (2005). Link mining: a survey. SIGKDD Explor. Newsl., 7(2):3–12. Citado em [11]. [Guedes et al., 2012] Guedes, D., Vieira, L., Vieira, M., Rodrigues, H., e Nunes, R. V. (2012). Redes definidas por software: uma abordagem sistˆemica para o desenvolvimento de pesquisas em redes de computadores. Minicursos do Simp´osio Brasileiro de Redes de Computadores-SBRC 2012, 30(4):160–210. Citado em [2]. [Hasan et al., 2006] Hasan, M. A., Chaoji, V., Salem, S., e Zaki, M. (2006). Link prediction using supervised learning. In In Proc. of SDM 06 workshop on Link Analysis, Counterterrorism and Security. Citado em [11, 12, 22]. [Hastie et al., 2009] Hastie, T., Tibshirani, R., Friedman, J., Hastie, T., Friedman, J., e Tibshirani, R. (2009). The elements of statistical learning. Number 1. Sprin- ger. Citado em [49]. [ISO, 2004] ISO, I. (2004). 8601: 2004 data elements and interchange formatsinfor- mation interchangerepresentation of dates and times. International Organisation for Standardisation. Citado em [27]. [Klimt e Yang, 2004] Klimt, B. e Yang, Y. (2004). Introducing the Enron corpus. In First Conference on Email and Anti-Spam (CEAS). Citado em [27]. [L¨u e Zhou, 2011] L¨u, L. e Zhou, T. (2011). Link prediction in complex networks: A survey. Physica A: Statistical Mechanics and its Applications, 390(6):1150 – 1170. Citado em [14, 15, 16, 35]. [Liben-Nowell e Kleinberg, 2007] Liben-Nowell, D. e Kleinberg, J. (2007). The link- prediction problem for social networks. Journal of the American Society for In- formation Science and Technology, 58(7):1019–1031. Citado em [3, 11]. 59
  • 72. [Lichtenwalter et al., 2010] Lichtenwalter, R. N., Lussier, J. T., e Chawla, N. V. (2010). New perspectives and methods in link prediction. In Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining, KDD ’10, p. 243–252, New York, NY, USA. ACM. Citado em [15, 44, 51]. [Lichtnwalter e Chawla, 2012] Lichtnwalter, R. e Chawla, N. (2012). Link prediction: Fair and effective evaluation. In Advances in Social Networks Analysis and Mining (ASONAM), 2012 IEEE/ACM International Conference on, p. 376–383. Citado em [35, 36]. [Lu et al., 2010] Lu, Z., Savas, B., Tang, W., e Dhillon, I. S. (2010). Supervised link prediction using multiple sources. In Proceedings of the 2010 IEEE International Conference on Data Mining, ICDM ’10, p. 923–928, Washington, DC, USA. IEEE Computer Society. Citado em [11]. [McConnell, 2008] McConnell, J. J. (2008). Analysis of algorithms. Jones & Bartlett Learning. Citado em [34]. [Montgomery et al., 2003] Montgomery, D. C., Runger, G. C., e Calado, V. (2003). Estat´ıstica aplicada e probabilidade para engenheiros. Livros T´ecnicos e Cient´ıficos. Citado em [7]. [Newman, 2003] Newman, M. E. J. (2003). The structure and function of complex networks. SIAM REVIEW, 45:167–256. Citado em [3, 6]. [Oliveira e Gama, 2012] Oliveira, M. e Gama, J. (2012). An overview of social network analysis. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 2(2):99–115. Citado em [9]. 60
  • 73. [ONF, 2012] ONF (2012). Software-defined networking: The new norm for networks. ONF White Paper. Palo Alto, US: Open Networking Foundation. Citado em [2, 18]. [Quinlan, 1993] Quinlan, J. R. (1993). C4.5: programs for machine learning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. Citado em [22]. [R Core Team, 2013] R Core Team (2013). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. Citado em [34]. [Sarkar et al., 2011] Sarkar, P., Chakrabarti, D., e Moore, A. W. (2011). Theoretical justification of popular link prediction heuristics. In Proceedings of the Twenty- Second International Joint Conference on Artificial Intelligence - Volume Volume Three, IJCAI’11, p. 2722–2727. AAAI Press. Citado em [49]. [Scellato et al., 2011] Scellato, S., Noulas, A., e Mascolo, C. (2011). Exploiting place features in link prediction on location-based social networks. In Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining, KDD ’11, p. 1046–1054. ACM. Citado em [11]. [Sezer et al., 2013] Sezer, S., Scott-Hayward, S., Chouhan, P. K., Fraser, B., Lake, D., Finnegan, J., Viljoen, N., Miller, M., e Rao, N. (2013). Are we ready for sdn? implementation challenges for software-defined networks. Communications Magazine, IEEE, 51(7). Citado em [2, 19]. [Shibata et al., 2012] Shibata, N., Kajikawa, Y., e Sakata, I. (2012). Link prediction in citation networks. Journal of the American Society for Information Science and Technology, 63(1):78–85. Citado em [13, 22]. 61
  • 74. [Silva-Junior, 2013] Silva-Junior, O. (2013). http://sites.google.com/site/ orlandodasilvajr/data-sets. Citado em [28, 55]. [Silva-Junior e Lorena, 2013] Silva-Junior, O. e Lorena, A. C. (2013). Aprendizado de m´aquina supervisionado na predi¸c˜ao de links em redes complexas - uma revi- s˜ao sistem´atica. Technical Report 01/2013, Universidade Federal do ABC, Santo Andr´e, Brasil. Citado em [15, 36, 54]. [Silva-Junior et al., 2013] Silva-Junior, O., Lorena, A. C., e Kamienski, C. A. (2013). Predi¸c˜ao de links em redes p2p. In Anais do I Simp´osio da P´os-gradua¸c˜ao da Universidade Federal do ABC, Santo Andr´e, Brasil. Citado em [3, 22, 34, 44]. [Sun et al., 2012] Sun, Y., Han, J., Aggarwal, C. C., e Chawla, N. V. (2012). When will it happen?: relationship prediction in heterogeneous information networks. In Proceedings of the fifth ACM international conference on Web search and data mining, WSDM ’12, p. 663–672, New York, NY, USA. ACM. Citado em [12]. [Vapnik, 1995] Vapnik, V. N. (1995). The Nature of Statistical Learning Theory. Springer-Verlag New York, Inc., New York, NY, USA. Citado em [22]. [Wang et al., 2011] Wang, D., Pedreschi, D., Song, C., Giannotti, F., e Barabasi, A.-L. (2011). Human mobility, social ties, and link prediction. In Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining, KDD ’11, p. 1100–1108, New York, NY, USA. ACM. Citado em [11]. [Watts e Strogatz, 1998] Watts, D. e Strogatz, S. (1998). Collective dynamics of ’small-world’ networks. Nature, p. 440–442. Citado em [7]. [Yang et al., 2004] Yang, L., Dantu, R., Anderson, T., e Gopal, R. (2004). Forwar- ding and control element separation (forces) framework. Citado em [18]. 62
  • 75. [Zhou et al., 2009] Zhou, T., L¨u, L., e Zhang, Y.-C. (2009). Predicting missing links via local information. The European Physical Journal B - Condensed Matter and Complex Systems, 71(4):623–630. Citado em [49]. 63
  • 76. Apˆendice A RESULTADOS DOS EXPERIMENTOS A seguir s˜ao apresentados os resultados de todos os experimentos realizados na rede P2P e de e-mails. As tabelas apresentam o desempenho obtido por meio da medida F1, sendo destacados os melhores desempenhos em cada conjunto de n´os, por topologia. 64
  • 77. Tabela A.1: Desempenho dos algoritmos de PL na rede P2P. N´os Algoritmo Sem Topologia Aleat´oria Mundo Pequeno Sem Escala 25 Gr. Entrada 0.247 0.240 0.193 0.157 Gr. Sa´ıda 0.280 0.323 0.187 0.237 CMC 0.177 0.110 0.447 0.153 Viz. Comuns 0.120 0.250 0.403 0.217 Conex. Pref. 0.160 0.100 0.160 0.123 Jaccard 0.103 0.107 0.170 0.120 Adamic/Adar 0.100 0.100 0.223 0.123 RAI 0.100 0.107 0.223 0.123 Katz 0.107 0.103 0.100 0.123 HPI 0.113 0.107 0.230 0.180 HDI 0.110 0.107 0.223 0.127 PropFlow 0.100 0.100 0.100 0.147 50 Gr. Entrada 0.144 0.181 0.131 0.117 Gr. Sa´ıda 0.117 0.106 0.149 0.226 CMC 0.621 0.738 0.265 0.192 Viz. Comuns 0.106 0.215 0.214 0.149 Conex. Pref. 0.107 0.103 0.100 0.103 Jaccard 0.101 0.103 0.122 0.104 Adamic/Adar 0.100 0.100 0.131 0.149 RAI 0.100 0.100 0.131 0.149 Katz 0.100 0.100 0.100 0.105 HPI 0.100 0.109 0.105 0.123 HDI 0.103 0.100 0.121 0.111 PropFlow 0.100 0.100 0.100 0.131 100 Gr. Entrada 0.103 0.114 0.148 0.108 Gr. Sa´ıda 0.123 0.126 0.114 0.209 CMC 0.282 0.750 0.185 0.218 Viz. Comuns 0.149 0.152 0.104 1.000 Conex. Pref. 0.101 0.103 0.116 0.112 Jaccard 0.102 0.102 0.102 1.000 Adamic/Adar 0.100 0.100 0.104 1.000 RAI 0.100 0.100 0.104 1.000 Katz 0.100 0.100 0.104 0.102 HPI 0.132 0.100 0.101 1.000 HDI 0.102 0.107 0.101 1.000 PropFlow 0.100 0.100 0.100 0.113 200 Gr. Entrada 0.119 0.136 0.304 0.106 Gr. Sa´ıda 0.111 0.135 0.119 0.261 CMC 0.159 0.748 0.132 0.150 Viz. Comuns 0.294 0.125 1.000 1.000 Conex. Pref. 0.101 0.101 0.150 0.148 Jaccard 0.108 0.101 1.000 1.000 Adamic/Adar 0.106 0.100 1.000 1.000 RAI 0.106 0.100 1.000 1.000 Katz 0.100 0.100 0.102 0.207 HPI 0.135 0.101 1.000 1.000 HDI 0.106 0.101 1.000 1.000 PropFlow 0.100 0.100 0.100 0.118 65
  • 78. Tabela A.2: Desempenho dos algoritmos de AM na rede P2P. N´os Algoritmo Sem Topologia Aleat´oria Mundo Pequeno Sem Escala 25 C5.0 0.788 0.623 0.665 0.673 SVM 0.819 0.713 0.720 0.660 Na¨ıve Bayes 0.759 0.565 0.682 0.546 k-NN 0.677 0.560 0.642 0.618 50 C5.0 0.660 0.000 0.026 0.000 SVM 0.709 0.000 0.000 0.000 Na¨ıve Bayes 0.695 0.221 0.155 0.044 k-NN 0.357 0.193 0.239 0.132 100 C5.0 0.771 0.000 0.000 0.000 SVM 0.763 0.000 0.000 0.000 Na¨ıve Bayes 0.670 0.000 0.090 0.120 k-NN 0.351 0.069 0.081 0.038 200 C5.0 0.676 0.000 0.000 0.000 SVM 0.705 0.000 0.000 0.000 Na¨ıve Bayes 0.592 0.000 0.023 0.022 k-NN 0.434 0.027 0.025 0.006 66
  • 79. Tabela A.3: Desempenho dos algoritmos de PL na rede de e-mails. N´os Algoritmo Sem Topologia Aleat´oria Mundo Pequeno Sem Escala 25 Gr. Entrada 0.113 0.240 0.193 0.157 Gr. Sa´ıda 0.133 0.323 0.187 0.237 CMC 0.140 0.110 0.447 0.153 Viz. Comuns 0.113 0.250 0.403 0.217 Conex. Pref. 0.103 0.100 0.160 0.123 Jaccard 0.100 0.107 0.170 0.120 Adamic/Adar 0.100 0.100 0.223 0.123 RAI 0.100 0.107 0.223 0.123 Katz 0.100 0.103 0.100 0.123 HPI 0.100 0.107 0.230 0.180 HDI 0.147 0.107 0.233 0.127 PropFlow 0.100 0.100 0.100 0.147 50 Gr. Entrada 0.118 0.200 0.147 0.125 Gr. Sa´ıda 0.116 0.112 0.151 0.222 CMC 0.564 0.734 0.254 0.206 Viz. Comuns 0.116 0.224 0.216 0.143 Conex. Pref. 0.101 0.111 0.108 0.101 Jaccard 0.101 0.109 0.117 0.105 Adamic/Adar 0.100 0.101 0.131 0.143 RAI 0.100 0.100 0.131 0.143 Katz 0.100 0.100 0.101 0.109 HPI 0.110 0.114 0.106 0.117 HDI 0.102 0.105 0.149 0.104 PropFlow 0.100 0.101 0.100 0.121 100 Gr. Entrada 0.117 0.118 0.192 0.209 Gr. Sa´ıda 0.127 0.116 0.146 0.210 CMC 0.196 0.752 0.198 0.183 Viz. Comuns 0.110 0.144 0.103 1.000 Conex. Pref. 0.101 0.100 0.110 0.103 Jaccard 0.101 0.101 0.101 1.000 Adamic/Adar 0.100 0.100 0.103 1.000 RAI 0.100 0.100 0.103 1.000 Katz 0.100 0.100 0.103 0.103 HPI 0.100 0.105 0.102 1.000 HDI 0.101 0.100 0.103 1.000 PropFlow 0.100 0.100 0.100 0.111 200 Gr. Entrada 0.111 0.118 0.291 0.108 Gr. Sa´ıda 0.127 0.116 0.116 0.154 CMC 0.304 0.752 0.115 0.143 Viz. Comuns 0.116 0.144 1.000 1.000 Conex. Pref. 0.103 0.101 0.127 0.127 Jaccard 0.101 0.101 1.000 1.000 Adamic/Adar 0.100 0.100 1.000 1.000 RAI 0.100 0.100 1.000 1.000 Katz 0.100 0.100 0.101 0.219 HPI 0.101 0.105 1.000 1.000 HDI 0.101 0.100 1.000 1.000 PropFlow 0.100 0.100 0.100 0.108 67
  • 80. Tabela A.4: Desempenho dos algoritmos de AM na rede de e-mails. N´os Algoritmo Sem Topologia Aleat´oria Mundo Pequeno Sem Escala 25 C5.0 0.120 0.000 0.074 0.000 SVM 0.000 0.000 0.000 0.000 Na¨ıve Bayes 0.223 0.199 0.248 0.205 k-NN 0.296 0.103 0.335 0.340 50 C5.0 0.501 0.021 0.141 0.000 SVM 0.464 0.000 0.000 0.000 Na¨ıve Bayes 0.568 0.125 0.175 0.403 k-NN 0.440 0.271 0.322 0.152 100 C5.0 0.371 0.000 0.000 0.000 SVM 0.000 0.000 0.000 0.000 Na¨ıve Bayes 0.454 0.000 0.055 0.092 k-NN 0.259 0.161 0.088 0.083 200 C5.0 0.197 0.000 0.000 0.000 SVM 0.000 0.000 0.000 0.000 Na¨ıve Bayes 0.391 0.000 0.058 0.036 k-NN 0.228 0.141 0.088 0.039 68

×