Você está na página 1de 4

Clusterização de dados distribuídos

no contexto da Internet das Coisas


Uma abordagem para redução do tráfego de dados

Removed for double-blind Removed for double-blind Removed for double-blind


review review review
Removed for double-blind review Removed for double-blind review Removed for double-blind review
Removed for double-blind review Removed for double-blind review Removed for double-blind review
Removed for double-blind review Removed for double-blind review Removed for double-blind review
Removed for double-blind review Removed for double-blind review Removed for double-blind review
Removed for double-blind review Removed for double-blind review Removed for double-blind review
Removedfordouble-blindreview Removedfordouble-blindreview Removedfordouble-blindreview
ABSTRACT 1 INTRODUÇÃO
The Internet of Things (IoT) emerged with the objective to integrate A Internet das coisas, ou IoT (do termo em inglês Internet of Things) é
physical objects into classical computer networks. These objects a tecnologia que tem possibilitado a extensão da Internet ao mundo
usually generate larges amount of data, transferring the bottleneck físico através da conexão de dispositivos dotados de sensores e
of data processing from sensors to communication systems. For atuadores [15], extrapolando o conceito de rede de computadores.
example, analyzing IoT data often demands data centralization be- Com a profusão desses dispositivos1 , a cada dia mais dados são
fore running a mining algorithm. Thus, in order to reduce the data gerados. E para transformar essa grande quantidade de dados em
transference commonly required by the data clustering task, this conhecimento, é natural que sejam aplicadas técnicas de mineração
paper proposes a grid-based data summarization approach. The de dados. Porém, apesar da maioria das pesquisas em IoT aponta-
proposed approach uses a single uniform grid to partition the space rem para a necessidade da descentralização do processamento e
into cells and to summarize data before centralization. Summariza- armazenamento de dados, diversas técnicas de mineração de dados
tion ensures the reduction of the amounts of data transferred. This foram desenvolvidas considerando uma visão completa dos dados
approach also includes a data clustering algorithm that deals with [17], o que, no contexto da Internet das Coisas, implica em uma
the summarized and centralized data. Our preliminary experiments centralização do processamento, aumentando o tráfego de dados na
revealed good results in terms of data compression and quality of rede e transferindo os problemas de performance dos dispositivos
clustering with a two-dimensional benchmark dataset. para os sistemas de comunicação [1].
Diante desse problema, o presente artigo tem como objetivo
CCS CONCEPTS apresentar uma abordagem para clusterização de dados2 distribuídos
que reduz o tráfego de informação enviada dos dispositivos de coleta
• Information systems → Clustering; • Computer systems
de dados para um nó central responsável por realizar o processo de
organization → Distributed architectures; Embedded soft-
clusterização. Para tanto, a abordagem proposta sumariza os dados
ware;
coletados por meio do particionamento do espaço em um grid de
células onde cada célula passa a ser representada pela quantidade
KEYWORDS de pontos nela contidos e pelo seu centro de massa. Ainda segundo
Clusterização, Internet das Coisas, Mineração Distribuída a abordagem proposta, somente são enviadas para o nó central as
informações sumarizadas das células que possuem pontos. Como a
ACM Reference format: configuração do grid é comum a todos os nós da rede (dispositivos
Removed for double-blind review, Removed for double-blind review, and Re-
de coleta de dados e nó central), a abordagem proposta possibilita a
moved for double-blind review. 2017. Clusterização de dados distribuídos no
contexto da Internet das Coisas. In Proceedings of Brazilian Symposium on
representação sumarizada do dataset completo no nó central. Uma
Multimedia and the Web, Gramado, RS Brazil, October 2017 (WebMedia’2017), vez sumarizados e centralizados, os dados são submetidos a um
4 pages. algoritmo de clusterização adaptado à representação proposta.
https://doi.org/XX.XXX/XXX_X O artigo ilustra ainda o potencial da abordagem proposta ao
descrever um experimento preliminar que apresenta uma redução
significativa do volume de informação trafegada e a identificação
Permission to make digital or hard copies of part or all of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation 1 Serãoutilizados os termos dispositivos, objetos e coisas para representar qualquer
on the first page. Copyrights for third-party components of this work must be honored. equipamento conectado à Internet.
For all other uses, contact the owner/author(s). 2 Também denominada de agrupamento de dados, esta importante tarefa de mineração
WebMedia’2017, October 2017, Gramado, RS Brazil de dados tem como objetivo organizar os dados em grupos de forma a maximizar
© 2017 Copyright held by the owner/author(s). a similaridade entre os elementos de cada grupo e minimizar a similaridade entre
ACM ISBN XXX-XXXX-XX-XXX/XX/XX. . . $15.00 elementos de grupos distintos. Maiores detalhes sobre esta tarefa podem ser obtidos
https://doi.org/XX.XXX/XXX_X na seção 2.
WebMedia’2017, October 2017, Gramado, RS Brazil Removed for double-blind review

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

Como trabalhos futuros, pretendemos: avançar no tratamento


dos grafos gerados pelo algoritmo, considerando as distâncias en-
tre os centros de massa; fazer o tratamento de blind spots [16]
para melhorar a eficiência da clusterização; realizar experimentos
com diversos dispositivos; evoluir para o tratamento de datasets
multidimensionais; realizar tratamento de ruídos e outliers pelos dis-
positivos; e pesquisar rotinas de análise sistematizada e otimização
dos parâmetros ϵ e minPts.

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.

Você também pode gostar