2.3 T´ ecnicas de Agrupamento
2.3.5 Agrupamento em Grafos
Muitos dados podem vir na forma de grafos, por exemplo, dados de redes sociais. Nesse caso, podemos estar interessados em encontrar grupos de pessoas com interesses semelhantes. Outro exemplo de dados vindos na forma de grafos s˜ao redes de cita¸c˜oes bibliogr´aficas entre artigos, nas quais podemos estar interessados em identificar regi˜oes tem´aticas, artigos de referˆencia ou surveys. Al´em disso, conjuntos de dados n˜ao necessa- riamente na forma de grafos podem ser transformados em grafos. Neste caso, os v´ertices do grafo podem representar os dados, e as arestas podem representar um valor de dissi- milaridade entre os dados, por exemplo, a distˆancia.
Existem muitos algoritmos de agrupamento que utilizam uma representa¸c˜ao em grafo dos dados. Uma maneira de detectar grupos em grafos ´e usando a ´Arvore Geradora M´ınima (Zahn, 1971). Uma ´arvore geradora m´ınima ´e um subgrafo conexo, sem ciclos, que cont´em todos os v´ertices do grafo e que tem a menor soma dos pesos da arestas poss´ıvel. O m´etodo para obter grupos no grafo, ent˜ao, ´e primeiramente determinar a ´
arvore geradora m´ınima do grafo, e depois remover as arestas da ´arvore iterativamente, formando novos componentes conectados (os grupos), at´e chegar ao n´umero pretendido de grupos. H´a diferentes estrat´egias para remover as arestas. Por exemplo, a cada itera¸c˜ao podemos remover a aresta com o maior peso.
Outro m´etodo para encontrar grupos em grafos ´e atrav´es de Componentes Fortemente Conectados (Hartuv and Shamir, 2000). A conectividade das arestas λ(G) de um grafo G = (V, E) ´e o n´umero m´ınimo de arestas cuja remo¸c˜ao resultar´a em um grafo desconexo, e um grafo G = (V, E) ´e dito fortemente conectado se λ(G) > |V |/2. O algoritmo, ent˜ao,
Figura 2.12: Agrupamento MCL. Caminhamentos aleat´orios no grafo tender˜ao a se con- centrar dentro de cada grupo (van Dongen, 2000).
particiona os v´ertices do grafo em grupos de modo que cada grupo seja um componente fortemente conectado.
O algoritmo Markov Clustering (MCL) (van Dongen, 2000) encontra grupos no grafo atrav´es de um modelo matem´atico que calcula a probabilidade de um v´ertice alcan¸car ou- tro v´ertice atrav´es de caminhamentos aleat´orios no grafo. O algoritmo alterna entre duas etapas, chamadas de expans˜ao e infla¸c˜ao para mudar as probabilidades dos caminhamen- tos. O algoritmo faz isso usando matrizes estoc´asticas, tamb´em chamadas de matrizes de Markov, que capturam o conceito matem´atico de caminhamentos aleat´orios no grafo. A etapa de expans˜ao corresponde `a computa¸c˜ao de caminhamentos aleat´orios de maior dura¸c˜ao, ou seja, caminhamentos com muitos passos. Essa etapa associa novas proba- bilidades para todos os pares de v´ertices. Como esses caminhamentos tendem a ocorrer mais intra-grupos do que inter-grupos, as probabilidades associadas a cada par de v´ertices de um mesmo grupo ser˜ao, em geral, relativamente maiores, j´a que h´a muitas maneiras de ir de um v´ertice para outro do mesmo grupo. A etapa de infla¸c˜ao, ent˜ao, aumenta as probabilidades de caminhamentos intra-grupo e diminui caminhamentos inter-grupos. Isto ´e feito sem qualquer conhecimento pr´evio da estrutura dos grupos.
Alternando entre as etapas de expans˜ao e infla¸c˜ao levar´a `a separa¸c˜ao do grafo em diferentes segmentos. Em um momento, n˜ao haver´a mais caminhos entre diferentes seg- mentos, que podem ser interpretados como os grupos. Al´em do grafo, o ´unico parˆametro usado pelo algoritmo ´e chamado taxa de infla¸c˜ao, que tem o efeito de fazer a etapa de infla¸c˜ao mais forte e, com isso, aumentar ou diminuir a granularidade dos grupos. Por- tanto, n˜ao ´e necess´ario especificar o n´umero de grupos desejados. A Figura 2.12 ilustra o processo de transformar um grafo em segmentos desconexos (grupos).
Cap´ıtulo
3
Visualiza¸c˜ao
O ser humano tem a faculdade de ao observar uma imagem, abstrair muita informa¸c˜ao contida naquela imagem. Atrav´es de uma imagem, conseguimos entender a rela¸c˜ao entre muitos itens de uma vez, o que n˜ao seria poss´ıvel atrav´es de uma representa¸c˜ao textual, como uma tabela. Por exemplo, atrav´es de um gr´afico em barras, conseguimos entender a rela¸c˜ao de quantidade entre muitos itens de uma vez, o que n˜ao seria poss´ıvel olhando diretamente na tabela.
A visualiza¸c˜ao tira proveito dessa situa¸c˜ao para criar abordagens de interpreta¸c˜ao dos dados de maneiras intuitivas (Thomas and Cook, 2005). A visualiza¸c˜ao envolve qualquer t´ecnica de cria¸c˜ao de imagens, diagramas e anima¸c˜oes para comunicar uma mensagem. ´E famosa a frase “uma imagem vale mais que mil palavras”, deveras para algumas tarefas (mas n˜ao todas) ´e evidente que uma representa¸c˜ao visual, tal como um mapa ou uma fotografia, ´e dramaticamente mais f´acil de usar do que uma descri¸c˜ao textual ou um relato falado (Shneiderman, 1996). A Figura 3.1 mostra o quanto de informa¸c˜ao uma imagem pode conter, ilustrando a marcha do ex´ercito de Napole˜ao rumo `a Moscou. O tamanho do ex´ercito de Napole˜ao ´e mostrado pela largura decrescente das linhas de avan¸co (verde) e recuo (alaranjado). A informa¸c˜ao do recuo est´a correlacionada com uma escala de temperatura mostrada ao longo da por¸c˜ao inferior do mapa.
A visualiza¸c˜ao tem aplica¸c˜ao em processos de tomada de decis˜ao, reconhecimento de padr˜oes, descoberta de tendˆencias, aprendizado, pesquisa, entre outros, nas mais diversas ´
areas, como ciˆencia, educa¸c˜ao, engenharia, medicina, setores empresariais e ´org˜aos gover- namentais. A visualiza¸c˜ao possui v´arios ramos, cada um trata tipos espec´ıficos de dados e tem objetivos diferentes. Os principais ramos de visualiza¸c˜ao s˜ao: visualiza¸c˜ao cient´ıfica, visualiza¸c˜ao de informa¸c˜ao, visualiza¸c˜ao de software e minera¸c˜ao visual de dados.
Na visualiza¸c˜ao cient´ıfica, o objetivo ´e “principalmente a visualiza¸c˜ao de fenˆomenos tridimensionais (arquitetˆonicos, meteorol´ogicos, m´edicos, biol´ogicos, etc.), com ˆenfase na renderiza¸c˜ao realista de volumes, superf´ıcies, fontes de ilumina¸c˜ao, e assim por diante, `as vezes com um componente dinˆamico” (Friendly, 2008). Ou seja, na visualiza¸c˜ao cient´ıfica, os dados tˆem uma representa¸c˜ao geom´etrica conhecida, como ´org˜aos do corpo humano e mol´eculas qu´ımicas. O objetivo da visualiza¸c˜ao cient´ıfica ´e ilustrar graficamente os dados de modo que permita a cientistas e engenheiros compreender, ilustrar e ter insights de seus dados.
Figura 3.1: Marcha do ex´ercito de Napole˜ao rumo a Moscou. Fonte: Encyclopædia-Britannica-Online(http://www.britannica.com/EBchecked/media/ 70821/Statistical-map-of-Napoleons-Russian-campaign-of-1812-The-size), acessado em 01/09/2014.
Na visualiza¸c˜ao de informa¸c˜ao, que ´e o foco deste projeto de mestrado, os dados s˜ao abstratos, ou seja, n˜ao tˆem uma representa¸c˜ao geom´etrica definida e qualquer re- presenta¸c˜ao adotada ´e arbitr´aria. Na visualiza¸c˜ao de informa¸c˜ao, grandes cole¸c˜oes de informa¸c˜ao n˜ao-num´erica, como cole¸c˜oes de texto, rela¸c˜ao entre sites na internet e con- juntos de imagens, s˜ao representados em alguma forma visual (Friendly, 2008).
A visualiza¸c˜ao de software ´e uma ´area especializada da visualiza¸c˜ao de informa¸c˜ao que pode ser definida como “representa¸c˜ao gr´afica dos diferentes aspectos de software. Seu principal objetivo ´e melhorar, simplificar e clarificar a representa¸c˜ao mental que um engenheiro de software tem de um sistema de computador” (Teyseyre and Campo, 2009). A minera¸c˜ao de dados (data mining) ´e um passo no processo de descoberta de conhe- cimento em bancos de dados (knowledge discovery in databases, KDD) que consiste na aplica¸c˜ao de algoritmos para a descoberta de padr˜oes (ou modelos) em conjuntos de dados (Fayyad et al., 1996). Minerar dados automaticamente ´e dif´ıcil e nem sempre produz re- sultados compreens´ıveis. Visualizar dados brutos (sem minerar, ou extrair modelos) nem sempre ´e poss´ıvel. Logo, h´a uma certa complementaridade entre minera¸c˜ao de dados e visualiza¸c˜ao. Essa complementaridade ´e chamada minera¸c˜ao visual de dados: “Um passo no processo de extra¸c˜ao de conhecimento (KDD) que utiliza a visualiza¸c˜ao como um canal de comunica¸c˜ao entre computador e usu´ario para apoiar a identifica¸c˜ao de padr˜oes novos e interpret´aveis” (Ankerst, 2001).
O usu´ario tem not´aveis habilidades de percep¸c˜ao que podem ser incorporadas `as t´ecnicas de minera¸c˜ao de dados atrav´es da visualiza¸c˜ao. O usu´ario pode rastrear, ma- pear, examinar, reconhecer e recordar imagens rapidamente e pode detectar altera¸c˜oes de tamanho, forma, cor, movimento ou textura (Shneiderman, 1996). A uni˜ao de t´ecnicas de visualiza¸c˜ao, apoiadas pela capacidade intuitiva da mente humana, com os m´etodos
CAP´ITULO 3. VISUALIZAC¸ ˜AO 43
j´a estabelecidos de minera¸c˜ao de dados, com seus algoritmos r´apidos e autom´aticos, pro- porcionaria uma melhor qualidade e velocidade no processo de extra¸c˜ao de conhecimento (Keim, 2002). Assim, as habilidades humanas podem ser utilizadas em trˆes etapas na combina¸c˜ao com os m´etodos de minera¸c˜ao: na prepara¸c˜ao dos dados para a minera¸c˜ao, na interpreta¸c˜ao dos resultados da minera¸c˜ao ou em est´agios intermedi´arios do processo (Ankerst, 2001).
3.1
Visualiza¸c˜ao de Informa¸c˜ao
Visualiza¸c˜ao da informa¸c˜ao ´e a comunica¸c˜ao de dados abstratos atrav´es do uso de interfaces visuais (interativas ou n˜ao) para refor¸car a cogni¸c˜ao do usu´ario (Keim et al., 2006). An´alise de dados ´e fundamental em qualquer ´area, seja na academia, empresa ou ind´ustria, pois com uma boa apresenta¸c˜ao dos dados podemos interpret´a-los corretamente e tirar conclus˜oes consistentes. Sendo assim, visualiza¸c˜ao de informa¸c˜ao tem aplica¸c˜ao em todas as ´areas. A visualiza¸c˜ao de informa¸c˜ao consegue tirar proveito das habilidades humanas cognitivas, permitindo que o usu´ario explore e interaja com os dados de uma forma intuitiva, o que facilita a compreens˜ao da informa¸c˜ao.
Existem muitas t´ecnicas e ferramentas para visualizar conjuntos de dados. Essa ´e uma tarefa dif´ıcil e, para cada abordagem diferente, devemos considerar suas vantagens e desvantagens. Dependendo do prop´osito do usu´ario, da forma como ele queira visualizar os dados, se o conjunto de dados ´e muito extenso ou se o usu´ario quer resultados mais gerais (globalmente) ou mais espec´ıficos (localmente), uma t´ecnica de visualiza¸c˜ao pode ser mais adequada que outras. Os dados podem ser de diversos tipos, como imagens, reportagens, artigos cient´ıficos, not´ıcias, etc. Geralmente as t´ecnicas de visualiza¸c˜ao s˜ao capazes de mapear dados em geral, mas h´a t´ecnicas que s˜ao mais indicadas para determinados tipos de dados.
Os princ´ıpios b´asicos que uma visualiza¸c˜ao deve seguir s˜ao chamados de Visual Infor- mation Seeking Mantra (Shneiderman, 1996). Esses princ´ıpios constituem das seguintes tarefas:
1. Primeiramente, Vis˜ao Geral da cole¸c˜ao – ´E importante que o usu´ario possa obser- var a cole¸c˜ao como um todo, para encontrar padr˜oes entre os dados e encontrar uma ´
area de interesse. Tamb´em se deve permitir a capacidade de navegar pela cole¸c˜ao e percorrer os itens.
2. Depois Zoom – Com uma ferramenta que amplie a visualiza¸c˜ao em regi˜oes es- pec´ıficas, o usu´ario deve poder focar em determinadas partes que lhe interessem. 3. E Filtro – Filtrar elimina itens que n˜ao interessam ao usu´ario, o que facilita a
interpreta¸c˜ao pois reduz a quantidade de informa¸c˜ao desnecess´aria na visualiza¸c˜ao. 4. E ent˜ao, Detalhes sobre demanda – Conforme o usu´ario vai lapidando sua ex- plora¸c˜ao, mais detalhes podem aparecer sobre os itens, de acordo com sua necessi- dade.
Outras tarefas complementares e tamb´em importantes para o desenvolvimento de vi- sualiza¸c˜oes s˜ao (Shneiderman, 1996):
1. Rela¸c˜ao – O usu´ario pode selecionar um atributo e a visualiza¸c˜ao exp˜oe os itens que possuem este atributo, ou ent˜ao, o usu´ario pode selecionar um item e os itens com atributos similares s˜ao destacados.
2. Hist´orico – Explorar um conjunto de dados envolve muitos passos, e muitas vezes determinados passos realizados pelo usu´ario n˜ao s˜ao bem sucedidos. Ent˜ao, ´e ´util manter um hist´orico das a¸c˜oes do usu´ario, de modo que ele possa voltar a um determinado estado, ou desfazer alguma a¸c˜ao indesejada.
3. Extra¸c˜ao – Depois que o usu´ario chegou a um resultado, seja um padr˜ao encontrado ou um conjunto de dados de seu interesse, deve haver uma forma para ele salvar a informa¸c˜ao que conseguiu obter e de poder us´a-la posteriormente.
Para tirar o melhor proveito das t´ecnicas de visualiza¸c˜ao, ´e importante que elas sejam assistidas por t´ecnicas de intera¸c˜ao e distor¸c˜ao (Keim, 2002). Intera¸c˜ao permite que o usu´ario interaja diretamente com a visualiza¸c˜ao, mudando-a dinamicamente de acordo com suas inten¸c˜oes e possibilitando relacion´a-la e combin´a-la com outras visualiza¸c˜oes independentes. Distor¸c˜ao permite que o usu´ario foque em uma parte do conjunto de dados, provendo um alto n´ıvel de detalhes, enquanto mantˆem uma vis˜ao geral do conjunto inteiro. Essa abordagem ´e conhecida como foco+contexto.