• Nenhum resultado encontrado

cada camada podem ser atribuídos através de três formas: treino supervisionado, associ- ação não supervisionada ou através da atribuição de pesos fixos, sem haver necessidade de qualquer tipo de treino. O treino supervisionado recai sobre uma fase de treino que antecede à fase de classificação. Este tipo de treino necessita de uma classificação dos da- dos de treino, parte-se do principio que existem dados disponíveis para todas as classes de saída da rede neuronal.

2.4 Clustering

O inicio da análise de clusters, também denominado de clustering, foi iniciado no ano de 1932 sobre a a área de antropologia por Driver e Kroeber [DK32]. O clustering é a ação de agrupar objetos com características semelhantes em dois ou mais grupos, sendo atu- almente usado usado em vários campos de investigação onde se inclui a aprendizagem automática, reconhecimento de padrões e bio-informática.

Para as técnicas de clustering existentes, destacam-se os modelos de clustering por conectividade, clustering por centróides, clustering por modelos de distribuição e densi- dade, e clustering por modelos baseados em grafos.

Para esta dissertação foi a escolha recaiu sobre os Mapas de Kohonen, um tipo de rede neuronal auto-associativa desenvolvida por Teuvo Kohonen em 1982.

2.4.1 Redes Neuronais Auto-associativas

Este tipo de Redes Neuronais, proposto por Kohonen [Koh98] diferem das associativas no tipo de arquitetura, para este sub-tipo de redes o vetor de valores de treino é idêntico ao de saída. Este tipo de redes é usado para identificar padrões através de uma entrada com ruído, ou com valores parcialmente próximos de um padrão conhecido. Este tipo de redes memoriza os padrões observados nos valores de entrada, pelo que, e relativamente ao tema em estudo, este tipo de redes é útil para comprimir os atributos aos valores usados na camada intermédia da rede, o que facilita posteriormente a análise dos clusters formados.

2.4.2 Mapas Auto-organizáveis

Os Mapas de Kohonen, adiante referidos de SOM (Self-organizing maps) e também descri- tos como mapa auto-organizável, são um tipo de Rede Neuronal Auto-associativa desen- volvido por Teuvo Kohonen em 1982 [Koh82]. Este algoritmo tem uma grelha de saída, também denominada de camada de Kohonen, onde os elementos são inseridos de acordo com uma medida de distância.

Relativamente ao problema em questão, o uso de SOMs tem a desvantagem de ne- cessitar de ter diversos parâmetros à priori, incluindo a topologia da própria rede, o que impossibilita o seu uso num método contínuo de classificação. Por esta razão são propos- tas estruturas adicionais que permitem ter este último ponto em consideração, como é o

2. ESTADO DAARTE 2.4. Clustering

caso dos Mapas Auto-organizáveis Crescentes, adiante denominados de GSOM(Growing Self-organizing Maps), que permitem um treino on-line sem haver de paragem do ciclo de treino. Os GSOM são a base dos mapas auto-organizáveis crescentes hierárquicos; os GHSOMs (Growing Hierarchical Self-organizing Maps) propostos por Rauber, et al.

[RMD02] crescem de forma hierárquica a fim de encaixar variações mais pormenoriza-

das do um conjunto de atributos, nas camadas de percetrões existentes. Ippoliti, et al. [IZ12] propõe uma alteração ao modelo anterior que permite ter em conta variações no número de sub-layers existentes, desta forma é possível criar uma topologia ideal em vez de uma que diminua o erro com as dimensões disponíveis e definidas à priori. Palomo, et al. [PLLDL10] propõe uma solução para deteção de anomalias com um algoritmo cha- mado GHSOM-1. Este algoritmo diminui os parâmetros necessários para a obtenção de resultados através de uma análise às relações hierárquicas dos dados de entrada durante a fase de treino.

3

Contribuições

Este capítulo aborda as contribuições efetuadas para a obtenção de resultados, na pri- meira secção é feita uma introdução à arquitetura geral da metodologia usada e respeti- vas tecnologias, a segunda secção descreve o funcionamento do CHEWER, a terceira sec- ção descreve o DNS Crawler, a quarta secção descreve o funcionamento e implementação do CONDENSER, e a última secção descreve o modo de funcionamento do Clusterer.

3.1 Arquitetura e Tecnologias

Para atingir os objetivos propostos foram desenvolvidos três sistemas: o CONDENSER - sistema de execução sequencial que extraí informação de várias fontes, efetua clustering através do Clusterer e classifica nomes de domínio, e guarda a informação numa base de dados orientada a grafos; o DNS Crawler - sistema de histórico de informação DNS sobre nomes de domínio, que faz parte de um módulo do CONDENSER; e o CHEWER - sistema de extração, refinação e classificação de um conjunto de dados de entrada, este sistema é usado para obter o melhor modelo de classificação disponível com o menor conjunto de dados e atributos, por métodos de bootstrapping e de seleção de atributos.

A implementação do CONDENSER e do DNS Crawler foi feita com recurso à lingua- gem de scripting Javascript, a base de dados orientada a grafos é uma instância do neo4j, por ter uma comunidade e documentação acessíveis o que levam a que a sua curva de aprendizagem e tempo de implementação sejam reduzidos. Pesquisas que envolvam cálculo de topologias e sub-topologias das comunicações observadas tornam-se mais efi- cientes com o uso deste tipo de base de dados.

O CHEWER foi desenvolvido em Ruby, e está assente sobre uma versão paralelizada da LIBSVM que faz uso do OpenMP, uma API em C de processamento paralelo. Dado

No documento Pedro Miguel Bairrão de Seixas Camelo (páginas 41-44)

Documentos relacionados