Você está na página 1de 4

Aplicação de um Algoritmo da área de Inteligência Artificial na base de dados

Echocardiogram
Alex Yukio Wassano¹
Marcelo Matos dos Santos²
Renato Lemes Peixoto³
¹²³Departamento de Computação e Estatística
Inteligência Artificial
Fundação – Universidade Federal de Mato Grosso do Sul (UFMS)
Caixa Postal 549 Campo Grande – MS 79070-900
¹alex_wassano@yahoo.com.br ,² marcelo.dork@gmail.com , ³ rlpeixoto@gmail.com

30 de Maio de 2005

Resumo observadas nos pacientes cardíacos, tais como:


sobrevivência, gordura, idade de ataque entre outros.
Esse trabalho tem por finalidade a extração de Algumas das mais perturbadoras disfunções cardíacas,
informações em uma base de dados sobre ataques tais como: arritmia cardíaca, músculo cardíaco anormal
cardíacos, Echocardiogram, utilizando o Algoritmo do são umas entre outras as mais comuns doenças
Perceptron de Múltiplas Camadas o Backpropagation cardíacas.
e o software de apoio Weka®. Os testes com os pacientes baseia-se em predizer se
Todos os pacientes sofreram ataques de coração no os pacientes envolvidos sobreviveram um ano após o
passado. Alguns ainda estão vivos e outros não . enfarte-miocardico, e as principais características
Existem duas variáveis que se baseia o estudo: encontradas em pessoas que sofreu ou tem tendência a
pessoas que estão vivas e pessoas que não estão vivas. sofrer algum ataque cardiovascular. Para a
Essas variáveis relacionam-se as pessoas que sofreram classificação dos dados utilizou-se rede neural
ou não ao ataque cardíaco após um ano do ocorrido. artificiais (RNA) do tipo feedforward, treinados com o
Na introdução são explicadas as características das algoritmo de Backpropagation.
doenças cardiovasculares e as peculiaridades do Muitas técnicas são usadas para diagnósticos dessas
exame de eletrocardiograma elaborada para a doenças. O eletrocardiograma é um exame feito com
geração da base de dados. Diagnósticos foram feitos intuito de definir algumas peculiaridades do estado
em pacientes com problemas cardíacos, na qual foram normal do coração do paciente.
gerados exames minuciosos das características de A técnica médica usada para os testes será o
cada indivíduo do grupo de amostra. eletrocardiograma, definido como linha padrão de
Os resultados gerados são totalmente voltados exames para testes para implementação em inteligência
para a base de dados gerada a partir desses artificial.
diagnósticos, na qual foram desenvolvidas instancias, Com o treinamento de técnicas de inteligência
atributos e classes que farão parte do estudo do artificial pegando como base o eletrocardiograma,
Echocardiogram. novas soluções e previsões poderão ser feitas para
tentar amenizar e até salvar vidas de pacientes com
1. Introdução deficiência cardiovascular.

As doenças cardiovasculares constituem a principal 2. Materiais e Métodos


causa de mortalidade na sociedade moderna. O
eletrocardiograma ambulatorial ou Holter tem sido Foram adotados 132 exames de pacientes, com 13
largamente utilizado para o diagnóstico da integridade atributos.
cardíaca. Informação sobre os Atributos:
Com o intuito de definir critérios de comparação 1. sobrevivência - o número de meses que os
das principais características de pessoas que sofreram pacientes sobreviveram se ainda estão vivos. Porque
ou sofrem de alguma doença cardiovascular, pesquisas todos os pacientes tiveram ataques cardíacos em
são feitas em cima de algumas características épocas distintas. É possível que alguns pacientes
tenham sobrevivido menos de um ano, porém ainda atributos que foram listados acima na metodologia e
estão ainda vivos. Verifique a segunda variável para nos materiais.
confirmar isto. Tais pacientes não podem ser usados A inteligência artificial utiliza vários algoritmos,
para a tarefa da predição mencionada acima, pois não também conhecidos como classificadores que podemos
faz sentido termos um paciente que tenha morrido e citar a titulo de exemplo redes Bayers, Decision Tree,
ainda esteja vivo. Perceptron Simples e BackPropagation.
2. ainda-vivo – usa-se uma variável binária para Como mencionado na primeira etapa que foi
indicar se o paciente encontra-se vivo ou morto. entregue o artigo, descrevemos que usaríamos o
“0=morto” ou “1=ainda vivo” algoritmo de redes neurais supervisionado chamado de
3. idade do ataque cardíaco – idade do paciente BackPropagation ou MultiLayer Perceptron
quando ocorreu o ataque (Perceptron de Múltiplas Camadas).
4. fluido do pericárdio - usa-se uma variável binária Perceptrons de várias camadas são redes feed-
para indicar se possui ou não fluido em torno do foward com uma ou mais camadas entre os nós de
coração “0=não possui” ou “1=possui” entrada e saída. São Perceptrons simples de várias
5. percentual de gordura – índice de gordura camadas .
maligna no coração Um perceptron é basicamente um neurônio
6. Ponto de separação do septo (epss) - uma outra artificial que possuem características similares ao de
medida de gordura. Os números maiores são cada vez um neurônio humano, mas também podemos descrever
mais anormais. um perceptron como uma rede bem simples, no qual
7. Fim da dimensão diastolica ventricular encontramos uma entrada, uma bia, um  a ser
esquerda(lvdd) - Esta é uma medida do tamanho do encontrado, um (v) .
coração no fim da diástole. Os corações grandes Os modelos da rede neural de várias camadas
tendem a ser corações doentes. possuem : a camada de entradas, com uma variável i
8. Contagem de movimento da parede(wall-motion- variando de 0 até n, as intermediárias entre as duas
score) -- medida de como os segmentos do ventrículo primeiras camadas, com uma variável j, variando de 0
esquerdo estão se movendo. até n também, e uma última camada, a de saída , com a
9. – Índice de movimento da parede(wall-motion- variável k variando de 1 até n, pois nessa camada,
index) – igual contagem de movimento da parede podemos verificar que não existem bias.
dividida pelo número de segmentos vistos. Geralmente O BackPropagation é um algoritmo que a partir de
12-13 segmentos são vistos em um eletrocardiograma. uma entrada padrão propaga a entrada até seu final.
Usar o index em vez do score. Calculamos seus erros, reajustamos seus pesos,
10. Mult – Variável derivada que pode ser ignorada. afim de que possamos passar novos padrões de entrada
11. Nome – nome do paciente. para um novo padrão de treino, para propagar
12. Grupo -- sem sentido pode ser ignorado. novamente até o fim, repetindo este mesmo processo,
13. Vivos -- Booleano-avaliados. Derivado dos até que todos os exemplos da matriz de treinamento
primeiros dois atributos. Usa-se a variável 0 para sejam utilizados, e calculando o EQM, ou seja erro
pacientes mortos após 1 ano ou tinham sido seguidos quadrático médio de cada época, sendo que uma época
por menos de 1 ano. A variável 1, usada para pacientes equivale a passar todos os exemplos de treino.
que estavam vivos no período de 1 ano. O cálculo do EQM, é feito para diversas épocas, até
que este seja menor que o erro objetivo para uma certa
3. Base de dados época.
Perceptron é apenas um nome, que advém da idéia
Como já foi citada anteriormente, a base de dados a de perceber um fato, essa idéia de percepção está
ser utilizada, será a echocardiogram.data, no qual correlacionada ao cérebro, que é o órgão no qual temos
baseia-se um estudo para saber quantos pacientes o feeling que nos faz distinguir um objeto de outro,
sobreviveram ou morreram após o ataque cardíaco no uma pessoa de outra, enfim, a percepção sensorial
período de um ano. Trabalharemos com a hipótese de humana.
um percentual de acerto de setenta para treino de nossa O trabalho rodado no programa Weka, utilizou o
rede neural e trinta por cento utilizados para testes, Algoritmo do MultiLayer Perceptron para tentar
após o treino de nosso algoritmo, que no caso utilizará explicar seus resultados e sua saída.
o backpropagation.
Nossa base de dados resume-se a 2 classes,
pacientes vivos ou não após o ataque cardíaco e 13
4. Conclusão E 6 foram classificados corretamente como ‘b’ (ainda-
vivo) e 1 classificado incorretamente como ‘b’.
O objetivo primordial de nosso trabalho, como foi A título de exemplificação explicamos por cima
citado acima, é o de identificar as pessoas que como o crossroads foi feito.
morreram, ou sobreviveram após o ataque cardíaco no A seguir será explicitado sucintamente o outro tipo
decorrer de um ano após o fato. de teste, que é o que mais nos interessa.
A maior parte do tempo necessário para construir No teste de ‘percentage-split’ com 66% da amostra,
um modelo de redes neurais é gasto no processo de foram classificados corretamente 40 atributos ou
identificação da melhor topologia e na de treinamento. 90.9091 % e apenas 4 instâncias foram classificadas
Determinar uma boa estrutura de rede, ou como incorretas, dando um percentual de 9.0909 %.
topologia,é um dos caminhos para se diminuir esse Esse percentual foi calculado através da conta de
tempo, mas só isto não basta para se ter uma rede que 66% de 132 instâncias do total, o que retornaria em
ofereça resultados aceitáveis. torno de 88,diminuídos de 132, temos o número de 44
Para que níveis satisfatórios sejam atingidos, instâncias a serem passados no teste.
muitos algoritmos devem ser levados em consideração Devemos notar que para que o teste seja
e testados, visto que o BackPropagation, é apenas um corretamente feito, devemos selecionar o atributo
algoritmo dentre vários classificadores, dentre eles objetivo, que no caso, será o atributo ainda-vivo, que
como já foram citados acima, redes Bayes, árvores de especifica o nosso problema, ou seja, se o paciente que
decisão, as próprias redes neurais etc... tenha sofrido a arritmia cardíaca, se ele ainda continua
Usamos os respectivo tipos de testes abaixo : vivo.
-Cross-validation; Isso também pode ser visualizado na matriz de
-Percentage split; confusão abaixo:
Na saída do classificador, aparece o tipo escolhido
ultilayer Perceptron), o nome da base de dados === Confusion Matrix ===
(echocardiogrambase), o número de instâncias (132), o
número de atributos ou classes (13), no qual as bases a b <-- classified as
foram classificadas. Aparece o nome de cada um dos 17 3 | a = 1
atributos e sua respectiva classificação, 1 23 | b = 0
binário,numérico etc.
O fato da classificação é muito importante, pois Instâncias classificadas corretamente: 17 + 23 = 40
influencia no andamento do weka, pois na fase de Instâncias classificadas incorretamente: 3+1 = 4
construção do arquivo arff, se algum destes atributos
estiverem errados, provavelmente o weka não rodará o O weka nos fornece ainda, o erro quadrático
arquivo corretamente, avisando de possíveis erros. absoluto em módulo, este erro como já foi estudado, é
A seguir, notamos, os valores dos pesos de cada nó, calculado pelo somatório do erro calculado, menos o
o percentual dos dados que foram classificados erro pretendido, elevado ao quadrado em módulo ou
corretamente, incorretamente, o modo de teste, bem valor absoluto, o erro foi de 0.0942.
como sua matriz confusa. Enfim averiguamos, que o melhor tipo de
No teste de ‘cross-validation’ , foram classificados teste, para termos uma noção real do que está
corretamente 21 instâncias ou 91.3043 %% e o acontecendo com a base de dados, é a partir do
restante, ou seja, 2 ou 8.6957 % foram classificados percentage – split, pois neste, o weka, roda padrões de
incorretamente. treino, tendo como resultado final o teste já validado, e
Isto também pode ser visualizado na matriz de conseqüentemente o algoritmo já treinado, para
confusão abaixo: reconhecer os dados.
Utilizando-se da base echocardiogram,
=== Confusion Matrix === fizemos o uso da ferramenta Weka, garimpando dados
que antes pareciam inexpressivos e sem sentido algum,
a b  classified as com a mineração, os dados se juntaram e deram um
15 1 | a=0 significado plausível e o mais próximo possível de
1 6 | b=1 nossa realidade, atingindo nosso objetivo de sabermos
uma percentagem para uma dada pergunta. Aatravés de
Aqui podemos observar o seguinte, que 15 cálculos realizados, utilizamos o classificador do
instâncias foram classificadas corretamente como ‘a’ algoritmo backpropagation tirando assim, conclusões
(morto ) e 1 foi classificado incorretamente como ‘a’. concretas sobre o estudo desta base.
6. Referencias
[1] Pilla Jr, Valfredo, e Lopes, Heitor Silvério,
“Reconhecimento de Padrões em Sinais
Eletrocardiográficos com Rede Neurofuzzy e
Algoritmos Genéticos”, IV Congresso Brasileiro de
Redes Neurais pp. 042-046 Jul 20-22,1999-Ita, São
José dos Campos – SP – Brasil.

[2] Soares, Pedro P. da Silva, e Nadal Jurandir,


“Aplicação de uma Rede Neural Feedforward com
Algoritmo de Levenberg-Marquardt para Classificação
de Alterações do Segmento ST do Eletrocardiograma”,
IV Congresso Brasileiro de Redes Neurais pp. 384-
389, Jul 20-22,1999-Ita, São José dos Campos – SP –
Brasil
.

Você também pode gostar