• Nenhum resultado encontrado

Utilização de Redes Neurais Artificiais pelo Algoritmo de Kohonen para Clusterização de Dados Sobre Doenças da Tireóide

N/A
N/A
Protected

Academic year: 2021

Share "Utilização de Redes Neurais Artificiais pelo Algoritmo de Kohonen para Clusterização de Dados Sobre Doenças da Tireóide"

Copied!
6
0
0

Texto

(1)

Utilização de Redes Neurais Artificiais pelo

Algoritmo de Kohonen para Clusterização de

Dados Sobre Doenças da Tireóide

Leandro Sehnem Bortolotto

1

, Merisandra Côrtes de Mattos

2

, Priscyla Waleska Targino de

Azevedo Simões

3

, Cristian Cechinel

4

1,2

Grupo de Pesquisa em Inteligência Computacional Aplicada, Curso de Ciência da Computação, Universidade do Extremo Sul Catarinense (UNESC), Brasil

3

Grupo de Pesquisa em Inteligência Computacional Aplicada, Curso de Ciência da Computação, Curso de Medicina, Universidade do Extremo Sul Catarinense (UNESC), Brasil

4

Curso de Engenharia da Computação, Universidade Federal do Pampa (UNIPAMPA/Bagé), Brasil

Resumo - Na realização desta pesquisa foi desenvolvida a tarefa de clusterização, que consiste em formar

clusters com elementos similares entre si e diferentes dos itens que compõem os outros grupos por meio do algoritmo de Kohonen, que foi desenvolvido com a tecnologia Java. O algoritmo de Kohonen é uma rede neural artificial de aprendizado não supervisionado, mostrando-se adequado a esta tarefa por não ser comparado com nenhum modelo pré-definido. A fim de verificar os clusters gerados por este algoritmo, foram realizados testes utilizando-se uma base de dados referente as doenças da tireóide, sendo que os resultados obtidos foram satisfatórios formando corretamente os conjuntos de dados.

Palavras-chave: Data Mining, Clusterização, Redes Neurais Artificiais, Algoritmo de Kohonen.

Abstract - In this research performing was development the task of clustering, this is format clusters with

similar elements among itself and differents of the items that compose another groups through Kohonen algorithm, that was development with Java technology. The Kohonen algorithm is a artificial neural network to not supervisionated learning, this shows suitable to do this task because it isn’t compared whith any pré defined model. To verificate the generated clusters by this algorithm, tests using a data base with regard to thyroid gland was performed, being that the results obtained was satisfactory generating a correct data sets. Key-words: Data Mining, Clustering, Artificial Neural Network, Kohonen Algorithm.

Introdução

As instituições privadas e públicas armazenam cotidianamente uma grande quantidade de dados com o uso de sistemas de informação. A fim de adquirir informações dessas bases comumente utilizam-se métodos estatísticos, porém este meio se limita pelo fato de não possuir a característica da descoberta de conhecimento. Assim, na década de 90 surgiu o data mining que combina métodos estatísticos, banco de dados, inteligência artificial e aprendizado de máquina.

O data mining é constituído por várias tarefas com a finalidade de descobrir padrões e relações relevantes em grandes repositórios de dados. Cada tarefa possui características específicas para resolver determinados problemas, sendo que muitas destas encontram-se disponíveis em ferramentas próprias para a realização do processo de data mining.

Dentre as ferramentas existentes, encontra-se em desenvolvimento a Shell Orion Data Mining Engine que consiste em um projeto acadêmico que está sendo desenvolvido pelo

Grupo de Pesquisa em Inteligência Computacional Aplicada do Curso de Ciência da Computação da UNESC. Este projeto objetiva a implementação de uma Shell de data mining, ferramenta que auxilia no processo de descoberta de conhecimento em bases de dados, de domínio público, visto que a maioria destas ferramentas são comerciais.

Este artigo aborda a tarefa de clusterização pelo método de redes neurais artificiais por meio do algoritmo de Kohonen na Shell Orion Data Mining Engine. Durante a realização dos testes aplicou-se uma base de dados da área da saúde referente as doenças da tireóide.

A tarefa de clusterização, também conhecida como agrupamento, objetiva selecionar elementos com maior similaridade e formar grupos com os mesmos, onde cada grupo deve conter itens compartilhando informações comuns e que torne-os diferentes dos outros clusters [1].

Dentre os métodos para clusterização tem-se as redes neurais que possuem aprendizado não supervisionado, podendo ser chamadas de Redes Neurais Auto-organizáveis, ou ainda, de Mapas Auto-organizáveis [1].

(2)

O método de redes neurais para clusterização implementado nesta pesquisa foi o algoritmo de Kohonen, pois apresenta eficiência computacional e mostra os resultados ao usuário de forma simples [2].

O Método de Redes Neurais para Clusterização

O método de redes neurais possui uma maior capacidade para a descoberta de conhecimento em bases de dados, porém sua implementação é mais complexa [3]. Visto que é baseado em aprendizagem não supervisionada, a rede é alimentada sem que haja comparações com modelos pré-definidos, tendo como base a competição entre os elementos. Este método mostra-se adequado para ser aplicado na tarefa de clusterização, pois possui a propriedade de utilizar a descrição de dados, sendo utilizado para análise de dados que possuem relações desconhecidas [1] e [4].

Este método tenta estabelecer representações internas de padrões encontrados na base de dados, porém as mesmas não são apresentadas ao usuário. Deste modo, o processo de descoberta de conhecimento em uma rede neural é realizado internamente, mostrando apenas o resultado final [3].

A Figura 1 representa um modelo clássico de Redes Neurais Artificiais (RNA) contendo as camadas: de entrada (Node 1, Node 2 e Node 3), oculta (Node A e Node B) e de saída (Node Z), bem como os pesos sinápticos representados por w.

Figura 1 – Estrutura de uma RNA [5]

Os mapas auto-organizáveis possuem basicamente duas maneiras de serem desenvolvidos: por meio do método de Willshaw e von der Malsburg ou utilizando o modelo de Kohonen [6]. Ambos apresentam uma estrutura bidimensional na camada de saída, garantindo que cada neurônio contenha um grupo de vizinhos, sendo que a diferença encontrada entre os dois modelos são os padrões de entrada especificados. No modelo de Willshaw e von der Malsburg a camada de entrada também é uma matriz bidimensional, diferenciando-se do modelo de Kohonen que possui como parâmetro apenas um vetor de dados [7].

O Algoritmo de Kohonen

O algoritmo de Kohonen foi desenvolvido por Teuvo Kohonen em 1982, sendo considerado relativamente simples e com a capacidade de organizar dimensionalmente dados complexos em clusters, de acordo com suas relações. Este método solicita apenas os parâmetros de entrada, mostrando-se ideal para problemas onde os padrões são desconhecidos ou indeterminados [4].

Este algoritmo é considerado um mapa auto-organizável SOM, capaz de diminuir a dimensão de um grupo de dados, conseguindo manter a representação real com relação as propriedades relevantes dos vetores de entrada, tendo-se como resultado um conjunto das características do espaço de entrada [8].

Além disso, possui a propriedade de transformar um mapa multidimensional em bidimensional, adicionando os elementos ao novo mapa de tal forma que os objetos similares sejam posicionados próximos uns dos outros.

Apresenta duas importantes características: utiliza aproximação dos pontos similares onde os mesmos são processados separadamente e permite ao mapa obter centros em um plano bidimensional disponibilizando uma visualização facilmente compreensível [9].

O algoritmo de Kohonen ordena os objetos i, freqüentemente organizados em uma grade retangular, atribuindo-os ao vetor modelo, denominado mi, no espaço multidimensional.

Cada item xk é mapeado para a unidade do mapa

ck mais adequada, conforme a menor distância

entre mi e xk definida pela fórmula [2]: i k i

k

x

m

c

=

arg

min

Este algoritmo utiliza o método de aprendizagem por competição (competitive

learning), considerado o mais comum nas RNA

auto-organizáveis, permitindo que aconteça o aprendizado dividindo-se os padrões de entrada dos dados em conjuntos inseparáveis. Este método avalia os neurônios de saída da rede de maneira que ocorra uma competição entre eles, tendo-se como resultado o neurônio que possui maior ativação.

A rede neural de Kohonen é composta por duas camadas: a de entrada e de Kohonen. Cada nó da camada de entrada tem a função de distribuir os valores padrões para a de Kohonen, que é um conjunto de nodos organizados de forma tabular. O vetor de entrada possui seus elementos conectados com cada nó da camada Kohonen por meio de ligações, as quais são responsáveis por manterem atualizados os valores durante o processo de treinamento da RNA [4].

(3)

A Figura 2 apresenta o mapa de Kohonen, mostrando as duas camadas citadas anteriormente. O vetor de entrada está representado pelos valores x1 e x2 ligando-se à

camada de Kohonen, também conhecida por camada de saída.

Figura 2 – Mapa de Kohonen [1]

O algoritmo SOM de Kohonen compreende [7]:

- inicialização: define-se aleatoriamente os valores para os pesos iniciais wj(0), sendo

diferente para cada j especificado, onde j varia de 1 até o número de neurônios da rede;

- amostragem: retira-se um modelo x da camada de entrada, passando a ser o padrão de ativação aplicado à rede;

- casamento por similaridade: determina-se o neurônio com maior ativação i(x) no tempo n, conforme a medida da distância mínima euclidiana:

( )

x

x

( )

n

w

j

l

i

=

arg

min

j

j

,

=

1

,

2

,

K

,

onde i(x) representa o neurônio vencedor, x(n) o valor do atributo de entrada e wj o neurônio na camada de saída;

- atualização: atualizam-se os pesos sinápticos de todos os neurônios de acordo com a fórmula:

))

(

)

(

)(

(

)

(

)

(

)

1

(

n

w

n

n

h

, ( )

n

x

n

wj

n

w

j

+

=

j

+

η

jix

onde η(n) representa a taxa de aprendizagem, e hj,i(x) é a função de

vizinhança referente ao neurônio mais ativado i(x). Tanto um como o outro variam durante o processo de aprendizagem;

- continuação: continua-se com o passo de amostragem até que o mapa não seja mais modificado significativamente.

Metodologia

Nesta pesquisa foi desenvolvido o método de RNA por meio do algoritmo de Kohonen para a

tarefa de clusterização na Shell Orion Data Mining Engine, oferecendo-se mais uma alternativa para efetuar o processo de data mining nessa Shell. Além disso, após concluído o processo de formação de grupos, o usuário pode utilizar os resultados gerados por este método como parâmetros de entrada para algoritmos de outras tarefas, tais como: classificação e sumarização, sendo que para isso deve-se salvar os dados obtidos e posteriormente utilizar outro método de data mining sobre estes dados.

O desenvolvimento desta pesquisa teve como metodologia adotada, dentre outras etapas: demostração matemática do funcionamento do algoritmo de Kohonen; implementação e realização de testes

A demonstração matemática do algoritmo de Kohonen permitiu a visualização dos cálculos que o mesmo realiza para formar grupos conforme as semelhanças entre os elementos. Os parâmetros de entrada do algoritmo, informados pelo usuário, são muito importantes na realização destes cálculos e interferem consideravelmente nos resultados, além de variarem conforme o problema.

Após estudar e compreender o funcionamento matemático do algoritmo de Kohonen, foi realizada a etapa de implementação e testes.

Ao executar o algoritmo de Kohonen da

Shell Orion Data Mining Engine, admitindo como

parâmetros de entrada os dados que estão sendo demonstrados pela Figura 3, percebe-se a formação de grupos que podem ser analisados de diferentes maneiras.

A Figura 4 demonstra os resultados por meio de um gráfico de barras, uma das formas de visualização, onde se pode observar quais conjuntos possuem mais elementos.

Também é possível analisar os clusters formados por meio de uma estrutura de árvore permitindo a navegação entre os grupos, visto que desta maneira pode-se verificar a quantidade de objetos que o conjunto possui, assim como os elementos que compõem cada um deles. A Figura 5 demonstra esta forma de visualização, onde se tem o Grupo 3 contendo 1266 objetos.

(4)

Figura 3 – Algoritmo de Kohonen na Shell Orion

Figura 4 – Visualização gráfica

Na Figura 5 o primeiro elemento deste conjunto é expandido demonstrando os dados do registro da base, onde o valor zero representa o atributo selecionado como sendo o identificador

do registro (doente) mostrando que a pessoa não

possui nenhuma doença. Os campos exame_tsh e exame_t3 (atributos de entrada da rede), ambos com valor igual a um, significam que a pessoa realizou estes dois exames.

Figura 5 – Árvore dos grupos gerados

A Figura 6 mostra outra maneira de obter os resultados produzidos pelo algoritmo de Kohonen, nessa tela há uma breve informação de como utilizar o recurso que disponibiliza ao usuário salvar um arquivo com conteúdo

Structured Query Language (SQL), permitindo

assim uma posterior importação dos grupos formados, visto que os resultados de um processo de clusterização podem ser utilizados como parâmetros de entrada por outras tarefas de DM, tais como: classificação e sumarização.

Figura 6 – Salvar resultados

A Figura 7 demonstra parte do arquivo SQL que é gerado pelo algoritmo de Kohonen na Shell Orion.

Figura 7 – Conteúdo do arquivo SQL

O algoritmo de Kohonen na Shell Orion também permite ao usuário salvar um relatório dos resultados gerados, mostrando os parâmetros utilizados como entrada, assim como os grupos formados e a quantidade de elementos de cada conjunto, como mostra a Figura 8.

(5)

Finalizada a etapa de implementação na Shell Orion foram efetuados testes sobre uma base de dados referente as doenças da tireóide.

Resultados

Inicialmente a base de dados referente as doenças da tireóide continha 9172 registros com atributos categóricos, booleanos e numéricos, sendo que em alguns casos o valor do campo era igual a ?, representando nulo. A partir destas informações, a base foi preparada para que pudesse ser submetida ao algoritmo de Kohonen, visto que este trabalha apenas com dados numéricos. A primeira etapa foi transformar estes dados, sendo que mesmo depois de sofrerem esta modificação os atributos alterados continuaram com o seu significado original.

A base de dados compreende os seguintes atributos: idade, sexo, tiroxina, medicação antitireoidiana, tumor, hipopituitarismo, tsh, t3, cirurgia_tireóide, hipotireoidismo, hipertireoidismo tratamento_iodo131, código_diagnóstico, dentre outros.

Encontrou-se duas inconsistências nesta base uma delas estava presente no atributo sexo, que ao invés de possuir o valor M ou F continha

?, sendo assim não era possível determinar qual

o sexo da pessoa, então estes registros, que totalizaram 307, foram excluídos. Eliminou-se também 3 tuplas do banco de dados que, no campo idade, continham um valor superior a 655.

Após encerrar esta fase da preparação, os dados foram importados para o SGBD Mysql 4.1, onde foram realizados testes e consultas por meio de comandos Structured Query Language (SQL) verificando se ainda havia inconsistências, pois poderiam interferir no desempenho do processo de data mining.

Na realização desta pesquisa foram obtidos resultados oriundos dos testes realizados no módulo de clusterização por meio do algoritmo de Kohonen da Shell Orion, compreendendo a análise do módulo desenvolvido e do conhecimento descoberto na base de dados da tireóide.

O algoritmo foi devidamente testado acompanhando o seu comportamento perante diferentes parâmetros, e chegou-se a conclusão de que alguns atributos de entrada influenciam diretamente nos cálculos realizados por ele, no que se refere ao tempo de processamento e na qualidade da informação gerada, logo estes parâmetros devem ser informados com muita precisão, como por exemplo, o número de vizinhos, pois quando este é muito alto formam-se diferentes grupos com elementos iguais (o valor cinco foi o que mais se adequou à este atributo).

Outra característica a ser observada é que todos os parâmetros influenciam diretamente no tempo de execução, destacando-se os atributos de entrada, a quantidade de iterações e o

tamanho da camada de Kohonen (identificada pelas linhas e colunas), pois foram os que mais modificaram o tempo de processamento.

Os resultados do processamento do algoritmo de Kohonen na base de dados sobre as doenças da tireóide foram obtidos considerando-se os considerando-seguintes parâmetros de entrada: taxa de aprendizagem inicial = 0,5; taxa de aprendizagem final = 0,005; número de vizinhos = 5; intervalo de decremento de vizinhos = 10; quantidade de iterações = 2000; número de linhas = 10; número de colunas = 10; identificador do registro =

codigo_diagnostico; atributos de entrada = codigo_diagnostico.

Após o processamento do algoritmo foi possível observar a formação de 16 diferentes

clusters, agrupando os elementos de acordo com

o código do diagnóstico. A Tabela 1 demonstra os resultados obtidos no processo de data mining realizado por meio do algoritmo de Kohonen na

Shell Orion.

Tabela 1 – Clusters encontrados

Conforme pode ser observado na Tabela 1, o algoritmo de Kohonen na Shell Orion formou grupos de elementos de acordo com os diagnósticos de cada pessoa, e a partir dos resultados obtidos pode-se verificar os que ocorreram com maior freqüência. Dentre os conjuntos gerados, o Grupo 11 foi o único que apresentou objetos com mais de um tipo de diagnóstico, sendo que os itens que continham o atributo codigo_diagnostico igual a 18 (resultantes descordantes) ou 19 (TBG elevado) prevaleceram consideravelmente neste cluster.

Discussão e Conclusões

Nesta pesquisa demonstrou-se a aplicabailidade da tarefa de clusterização, de métodos de redes neurais artificiais, em especial

Cluster Quantidade de Elementos Diagnóstico 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 79 2 60 1 46 1 3 76 26 5 58 21 27 1340 3 38 7 8 9 6 6 6 10 11 14 15 11, 17, 18 e 19 12 13 0 2 1

(6)

o algoritmo de Kohonen, para a formação de

clusters na busca por conhecimento em bases de

dados da área da saúde.

A finalidade principal foi entender a tarefa de clusterização por meio do algoritmo de Kohonen, sendo que o mesmo foi aplicado a uma problemática da área da saúde após a compreensão de todo o seu funcionamento, inclusive dos cálculos matemáticos realizados por ele.

O algoritmo de Kohonen na Shell Orion foi submetido a testes utilizando-se uma base com dados referente a pessoas com ou sem deficiência na tireóide, resultando na formação de

clusters com objetos similares entre si e

diferentes dos elementos dos outros grupos, comprovando o correto funcionamento do algoritmo implementado na ferramenta.

Agradecimentos

À Universidade do Extremo Sul Catarinense (UNESC) pelo apoio por meio dos seus programas de incentivo à pesquisa.

Referências

[1] Ronaldo G, Emmanuel LP. Data Mining: um guia prático, Rio de Janeiro: Elsevier; 2005. [2] Elias P, Gerhard W, Alvin C. Hierarchical

clustering and structuring of data with self-organizing maps, Austrian Research Institute for Articial Intelligence (OeFAI); 2003.Disponível em: < http://www.ofai.at/cgi- bin/get-tr?download=1&paper=oefai-tr-2003-09.pdf>.

[3]Laércio S. A essência do business intelligence, São Paulo: Berkeley; 2002.

[4] Joey R. Object-oriented neural networks in C++, London: Academic Press; 1997.

[5] Daniel L. Discovering knowledge in data: an introduction to data mining, New Jersey: John Wiley; 2005.

[6] Kaushik D, William P, Qin D. Using neural networks for clustering on RSI data and related spatial data. Computer Science Department, North Dakota State University. Disponível em: <http://cs.hbg.psu.edu/~ding/publications/IRI-2013.pdf>

[7] Simon H. Redes neurais: princípios e técnicas, Porto Alegre: Bookman; 2001.

[8] Mancini et al. Aplicação de redes neurais artificiais no auxílio ao diagnóstico de crianças respiradoras bucais e nasais. Anais do X Congresso Brasileiro de Informática em Saúde; 2006; Florianópolis.

[9] Pavel B. Survey of clustering data mining techniques; 2002, Disponível em:

http://www.ee.ucr.edu/~barth/EE242/clusterin g_survey.pdf.

Contato

Merisandra Côrtes de Mattos, Mestre em Ciência da Computação, Professora do Curso de Ciência da Computação, Pesquisadora do Grupo de Pesquisa em Inteligência Computacional Aplicada, Universidade do Extremo Sul Catarinense. Endereço: Av. Universitária, 1105, Criciúma – SC. Fone: (48) 3431-2553. E-mail: mem@unesc.net

Referências

Documentos relacionados

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

A versão reduzida do Questionário de Conhecimentos da Diabetes (Sousa, McIntyre, Martins &amp; Silva. 2015), foi desenvolvido com o objectivo de avaliar o

função recursiva, mais recursos de memória são necessários para executar o programa, o que pode torná-lo lento ou. computacionalmente

 Caminho simples que contém todas as arestas do grafo (e,. consequentemente, todos os

Não tentarei sintetizar a interpretação de Armindo de Sousa sobre o parlamento medieval, dado que as suas propostas mais fraturantes foram já evidenciadas, de forma incisiva, por

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

versity; Dewajtis 5, 01-815 Warszawa, Poland; a.syryt@uksw.edu.pl Abstract: The terms “university”, “teaching” and “research” are closely related. The reason for the