Escolar Documentos
Profissional Documentos
Cultura Documentos
de clusters através do algoritmo executado no nó central. Foi seleci- de IoT, onde o volume de dados tende a crescer exponencialmente,
onado um dataset dentre alguns publicados como benchmark em essa abordagem não é sustentável.
estudos de clusterização [8]. Ao analisarmos o resultado da clusteri- Uma alternativa à abordagem de centralização dos dados para
zação aplicada sobre os dados sumarizados, foi possível observar clusterização é a realização da chamada clusterização distribuída [?
que os resultados obtidos se mostraram semelhantes aos resultados ], [2], [? ]. Nessa abordagem, os dados estão distribuídos e o pro-
apontados como ground truth. cesso de clusterização envolve o processamento desses dados pelos
dispositivos em duas principais etapas: (i) execução da mineração
2 TRABALHOS RELACIONADOS de dados em cada um dos nós distribuídos criando resultados locais.
De acordo com Tsai et al.[17] a Internet das coisas surgiu com o Esses resultados são sumarizados, criando assim um modelo local
propósito ousado de conectar todas as coisas do mundo na Internet. que por sua vez são (ii) enviados ao nó central para que através
O conceito de Web das Coisas estende ainda mais a abrangência da de técnicas de sumarização seja criado um modelo global [12]. No
Internet ao conectar qualquer objeto físico (eletrônicos ou não) [4], entanto, a pouca capacidade de processamento e armazenamento
ampliando as fontes de dados a serem processados. dos dispositivos de IoT pode ser um fator impeditivo para utilização
Todas as coisas na IoT criam uma grande quantidade de dados de técnicas de clusterização distribuída, uma vez que a criação de
para diferentes propósitos, e como tratar esses dados para extrair modelos locais exige o armazenamento e tratamento da totalidade
informações úteis é um desafio que tem surgido nos últimos anos dos dados, nem sempre disponível nos dispositivos heterogêneos
[17]. Ainda em Tsai et al [17] é apontada a necessidade de se rede- da IoT.
senhar as técnicas de KDD (Knowledge Database Discovery) e de
mineração de dados para IoT uma vez que devido ao baixo poder de 3 SOLUÇÃO PROPOSTA
processamento e de armazenamento dos dispositivos, as técnicas 3.1 Descrição Conceitual
atuais muitas vezes apresentam dificuldades para lidar com grandes Seja um cenário de IoT com k dispositivos de coleta de dados em
volumes de dados. uma topologia dinâmica conectados a um nó central, onde todos
Uma das principais técnicas de mineração de dados é a clusteri- os dispositivos possuem um conjunto de dados com o mesmo es-
zação que tem como objetivo separar os registros de um conjunto quema4 .
de dados em subconjuntos ou grupos (clusters) de tal forma que As etapas 1, 2 e 3 descritas abaixo são aplicadas a cada um dos k
tais registros compartilhem um conjunto de propriedades comuns dispositivos. Da etapa 4 em diante, o processamento é realizado no
que os distinguem dos elementos de outros clusters. Objetivando nó central.
maximizar a similaridade intracluster e minimizar a similaridade
intercluster [10]. Etapa 1) Particionamento do Espaço
Existem diversos algoritmos de clusterização de dados com di- O processo inicia-se com a normalização dos dados com o objetivo
ferentes abordagens [9] [12]. Dentre eles, estão os algoritmos de de ajustar a escala dos valores de cada atributo do dataset gerando
clusterização baseados em densidade, que são particularmente in- o conjunto D = {δ 1 , δ 2 , ..., δn } onde δn é um vetor z-dimensional
teressantes no tratamento de dados gerados em IoT, graças a sua (α 1 , α 2 , ..., α z ), α z ∈ R. Para a normalização dos dados, o espe-
capacidade de tratar clusters de formatos arbitrários. Um importante cialista define os valores máximos e mínimos, definindo assim o
algoritmo de clusterização baseado em densidade e utilizado como domínio de cada dimensão.
inspiração para a abordagem descrita neste artigo é o DBSCAN [7]. O particionamento do espaço z-dimensional é realizado com a
Segundo este algoritmo, cada ponto é o centro de uma hiperesfera divisão de cada dimensão em ϵ intervalos de igual valor, onde ϵ ∈ N,
de raio ϵ. Uma hiperesefera é considerada densa se possuir um criando assim um grid com ϵ z células no formato de um hipercubo
número de pontos maior ou igual a minPts, um parâmetro definido com aresta de comprimento ϵ1 . Também cabe ao especialista a
pelo usuário. Os clusters são formados por um processo recursivo especificação do valor do parâmetro ϵ.
no qual hiperesferas densas descobrem outras hiperesferas densas Cada célula γ pode ser referenciada no hiperespaço por um
nas suas vizinhanças [16]. sistema de coordenadas z-dimensional conforme representação
Outra importante classe de algoritmos de clusterização que inspi- abaixo.
rou o presente tabalho é a dos algoritmos de clusterização baseados
em grid. Tais algoritmos têm como característica o particionamento
γ (ω1 , ω 2 , ..., ωz ) onde ωj ∈ Z
homogêneo do hiperespaço, formando hipercubos ou células3 que
podem ou não conter pontos no seu interior [? ]. Diferentemente Os ωi são índices que referenciam as células conforme formali-
da abordagem proposta neste artigo, os algoritmos de clusterização zação abaixo.
baseados em grid conhecidos foram concebidos para operar sobre ωi = int (α i ) × ϵ onde 1 ⩽ i ⩽ z
todos os dados de datasets completos e centralizados [9].
Trazendo a classe de algoritmos descrita no parágrafo anterior Etapa 2) Representação das células
para uma perspectiva mais geral, observa-se que os algoritmos que Cada vetor δ está contido numa célula γ . Dessa forma, cada célula
implementam as tarefas de mineração de dados normalmente pres- γ será representada pela quantidade de vetores z-dimensionais
supõe que os dados estejam centralizados [? ], [15], [? ]. No cenário
4O esquema ou estrutura de um dataset corresponde ao conjunto ordenado dos atri-
butos que o dataset contém. Na abordagem proposta, assume-se que essa estrutura é
3 Hipercubos e Células serão tratadas como sinônimos ao longo do artigo comum aos datasets de todos os dispositivos na rede de IoT a ser analisada.
Clusterização de dados distribuídos
no contexto da Internet das Coisas WebMedia’2017, October 2017, Gramado, RS Brazil
nela contidos e um vetor µ que corresponde ao centro de massa Segundo o algoritmo proposto, os clusters são formados por hi-
desses vetores. Um exemplo com quatro células bidimensionais percubos densos adjacentes. Os hipercubos com densidade menor
é demonstrado na figura 1 na qual os pontos cheios representam que minPts não são considerados no processo de clusterização. Po-
os dados e os pontos abertos os centros de massa das respectivas demos verificar o exemplo da figura 2 no qual o parâmetro minPts
células. é de 3 pontos. Neste exemplo, 3 dentre as 8 células apresentadas
foram descartadas do processo de clusterização.
Figura 1: Exemplo de Grid com quatro células bidimensio- Figura 2: Conexão de células adjacentes com minPts ⩾ 3
nais. Os pontos cheios são os dados e os pontos abertos são
os centros de massa das células. Ao conectar os hipercubos densos adjacentes é construído um
grafo no qual os nós são os centros de massa das células.
O cálculo do centro de massa µ (ρ 1 , ρ 2 , ..., ρ z ) é obtido por: Dadas as duas células γi (ωi 1 , ωi 2 , ..., ωi z ) e γ j (ω j1 , ω j2 , ..., ω jz ),
diz-se que γi e γ j são adjacentes se e somente se, γi , γ j e |ωi n −
t
P
δi ω jn | ⩽ 1, ∀ n, n = 1, ..., z
i=1 Ao observar novamente o exemplo da figura 2, pode-se perceber
µ=
t que as células consideradas adjacentes pelo algoritmo de clusteriza-
Onde δi são os vetores z-dimensionais pertencentes a γ e t a quan- ção tiveram seus centros de massa conectados entre si, formando
tidade de vetores de γ . um grafo que representa um cluster de cinco células.
Assim, cada célula γ (ω 1 , ω 2 , ..., ωz ) é representada de forma su-
marizada pela estrutura: 3.2 Experimento e Resultados Preliminares
γ .t = quantidade de vetores pertencentes à célula γ . Para a execução do experimento foram desenvolvidos algoritmos
γ .µ = vetor z-dimensional correspondente ao centro de massa de γ . em C++ [5] e feita uma simulação na qual foram executadas todas
as etapas com exceção da etapa de transferência de dados. Nesse
experimento preliminar, foi simulada a existência de apenas um
Etapa 3) Envio dos dados ao nó central dispositivo conectado a nó central.
Após a sumarização dos dados realizada na etapa anterior, cada Para facilitar os testes de desenvolvimento, a visualização e a
dispositivo envia as células sumarizadas para o nó central. Somente análise dos resultados, selecionamos o dataset t4.8k [8]. Este dataset,
células que possuem dados são enviadas. Tal providência contribui além de possuir apenas duas dimensões, consta dentre os datasets
para a redução do volume de dados enviados. benchmark usualmente utilizados em estudos de clusterização de
dados.
Etapa 4) Recepção e integração dos dados no nó central Na figura 3 podemos ver o resultado do algoritmo aplicado ao re-
O nó central recebe as representações sumarizadas das células e se ferido dataset. Os pontos vermelhos representam os dados originais
encarrega de integrá-las numa representação sumarizada do dataset do dataset e as linhas azuis representam as arestas do grafo unindo
completo. os centros de massa das células densas (número de pontos maior
Sejam γC uma célula do nó central e γd uma célula de mesmas ou igual a minPts) e adjacentes. Cada grafo conexo caracteriza um
coordenadas em um dispositivo. Quando o nó central recebe a cluster identificado pelo algoritmo proposto.
representação de γd , γC é atualizada da seguinte forma: O número de clusters indicado no ground truth é de 6 clusters,
mesmo valor encontrado pela abordagem proposta ao utilizar os
(γC .µ × γC .t ) + (γd .µ × γd .t ) parâmetros ϵ = 50 e minPts = 8, como pode-se verificar na figura
γC .µ =
γC .t + γd .t 3. Na mesma figura, também é possível verificar que os formatos
dos clusters encontrados coincidem com os clusters visualmente
γC .t = γC .t + γd .t perceptíveis.
Com relação à compactação dos dados, calculamos a partir do
Etapa 5) Clusterização no nó central tamanho em bytes que o C++ utiliza para armazenar cada uma
Após a recepção, tratamento e integracão de todas as células envia- das estruturas. Um vetor bidimensional ocupa 24 bytes enquanto
das por todos os dispositivos, é executado o processo de clusterização uma célula bidimensional ocupa 64 bytes, para armazenar suas
do dataset sumarizado. coordenadas, seu centro de massa e a quantidade de vetores que
O algoritmo de clusterização aplicado nessa etapa foi inspirado no pertencem à mesma.
DBSCAN [7], adaptando o conceito das hiperesferas com densidade No experimento, o dataset t4.8k possui 8.000 pontos. Na execução
mínima minPts para os hipercubos. do algoritmo com os parâmetros indicados, chegamos a um número
WebMedia’2017, October 2017, Gramado, RS Brazil Removed for double-blind review
REFERÊNCIAS
[1] Richard G Baraniuk. 2011. More is less: signal processing and the data deluge.
Science 331, 6018 (2011), 717–719. http://science.sciencemag.org/content/331/
6018/717
Figura 3: Resultado da aplicação da abordagem proposta ao [2] M. Bendechache and M. T. Kechadi. 2015. Distributed clustering algorithm for
spatial data mining. In Spatial Data Mining and Geographical Knowledge Services
dataset t4.8k, com os parêmatros ϵ = 50, minPts = 8. (ICSDM), 2015 2nd IEEE International Conference on. 60–65. https://doi.org/10.
1109/ICSDM.2015.7298026
[3] V. Cantoni, L. Lombardi, and P. Lombardi. 2006. Challenges for Data Mining
total de 929 células. Se considerarmos somente as células com 8 in Distributed Sensor Networks. In 18th International Conference on Pattern
pontos (minPts) ou mais, o número reduz para 472, uma redução Recognition (ICPR’06), Vol. 1. 1000–1007. https://doi.org/10.1109/ICPR.2006.359
[4] Nailton Vieira de Andrade Junior, Daniel Borges Bastos, and Cassio Vinicius Se-
de 84,36%. rafim Prazeres. 2014. Web of Things: Automatic Publishing and Configura-
Na tabela 1 é possível comparar a quantidade de bytes a serem tion of Devices. In Proceedings of the 20th Brazilian Symposium on Multime-
enviados para o nó central em três situações: dia and the Web (WebMedia ’14). ACM, New York, NY, USA, 67–74. https:
//doi.org/10.1145/2664551.2664573
(1) Envio dos dados originais [5] Ricardo de Azevedo Brandão. 2017. Source code - grid-clustering. (2017). https:
(2) Envio de todas as células //github.com/programonauta/grid-clustering
[6] Levent Ertöz, Michael Steinbach, and Vipin Kumar. 2003. Finding clusters of
(3) Envio apenas das células densas different sizes, shapes, and densities in noisy, high dimensional data. In Procee-
dings of the 2003 SIAM International Conference on Data Mining. SIAM, 47–58.
https://doi.org/10.1137/1.9781611972733.5
Tabela 1: Resultado da compactação de dados obtida medi- [7] Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu, et al. 1996. A density-
ante a aplicação da abordagem proposta sobre o dataset t4.8k based algorithm for discovering clusters in large spatial databases with noise.. In
Kdd, Vol. 96. 226–231. http://www.inf.ufrgs.br/~alvares/CMP259DCBD/DBSCAN.
pdf
Item Objeto Bytes Qtde Total (Bytes) [8] Pasi Fränti et al. 2015. Clustering datasets. (2015). http://cs.uef.fi/sipu/datasets/
[9] Katti Faceli, Ana Carolina Lorena, João Gama, and André Carvalho. 2011. Inte-
1 Vetor bidimensional (δ ) 24 8.000 192.000 ligência Artificial, uma Abordagem de Aprendizado de Máquina. LTC – Livros
2 Células (γ ) 64 929 59.456 Técnicos e Científicos Ltda.
[10] Ronaldo Goldschmidt and Eduardo Bezerra. 2015. Data Mining: Conceitos, técnicas,
3 Células ⩾ minPts 64 472 30.208 algoritmos, orientações e aplicações. Elsevier Brasil.
[11] J. A. Hartigan and M. A. Wong. 1979. Algorithm AS 136: A K-Means Clustering
Redução Percentual (Item 2) 69,03% Algorithm. Journal of the Royal Statistical Society. Series C (Applied Statistics) 28,
Redução Percentual (Item 3) 84.27% 1 (1979), 100–108. http://www.jstor.org/stable/2346830
[12] Eshref Januzaj, Hans-Peter Kriegel, and Martin Pfeifle. 2004. DBDC: Density
Based Distributed Clustering. Springer Berlin Heidelberg, Berlin, Heidelberg,
Em conformidade com o objetivo da abordagem proposta neste 88–105. https://doi.org/10.1007/978-3-540-24741-8_7
artigo, os valores obtidos relatados na tabela 1 indicam uma redu- [13] Teuvo Kohonen. 1998. The self-organizing map. Neurocomputing 21, 1 (1998), 1
ção substancial no volume de dados necessários para representar o – 6. https://doi.org/10.1016/S0925-2312(98)00030-7
[14] Nhien-An Le-Khac, Martin Bue, Michael Whelan, and Tahar Kechadi. 2010. A
dataset de forma sumarizada e ainda assim viabilizar uma clusteri- knowledge-based data reduction for very large spatio-temporal datasets. In 6th
zacao com resultados satisfatórios. International Conference on Advanced Data Mining and Applications,(ADMA 2010),
Chongqing, China, 19-21 November 2010.
[15] Daniele Miorandi, Sabrina Sicari, Francesco De Pellegrini, and Imrich Chlamtac.
4 CONSIDERAÇÕES FINAIS 2012. Internet of things: Vision, applications and research challenges. Ad Hoc
Networks 10, 7 (2012), 1497 – 1516. https://doi.org/10.1016/j.adhoc.2012.02.016
Esse artigo apresentou uma proposta de abordagem para clusteriza- [16] Marcos Roriz Junior, Markus Endler, Marco A. Casanova, Hélio Lopes, and Fran-
ção de dados distribuídos no contexto da Internet das Coisas cujo cisco Silva e Silva. 2016. A Heuristic Approach for On-line Discovery of Unidentified
objetivo é reduzir o tráfego de informação pela rede, preservando a Spatial Clusters from Grid-Based Streaming Algorithms. Springer International
Publishing, Cham, 128–142. https://doi.org/10.1007/978-3-319-43946-4_9
qualidade do agrupamento obtido. A abordagem proposta se baseia [17] C. W. Tsai, C. F. Lai, M. C. Chiang, and L. T. Yang. 2014. Data Mining for Internet
no particionamento do espaço em um grid de células e em uma of Things: A Survey. IEEE Communications Surveys Tutorials 16, 1 (First 2014),
representação resumida dos pontos contidos em cada célula. 77–97. https://doi.org/10.1109/SURV.2013.103013.00206
[18] A. Zaballos, A. Vallejo, P. Terradellas, and J. M. Selga. 2009. A Genetic-Based
Nos resultados dos experimentos preliminares foi possível ob- QoS Aware Routing for Ubiquitous Sensor Networks. In 2009 IEEE International
servar uma redução significativa no volume de informação a ser Conference on Wireless and Mobile Computing, Networking and Communications.
129–134. https://doi.org/10.1109/WiMob.2009.31
transmitida pela rede, preservando a qualidade dos clusters iden-
tificados. De fato, foi possível observar que, uma vez utilizado o
algoritmo de clusterização proposto, o resultado da clusterização
foi o mesmo independente do fato do nó central ter recebido as
representações sumarizadas das células, fornecendo indícios de que
a abordagem proposta não reduz a qualidade final da clusterização.