Вы находитесь на странице: 1из 7

Trabalho apresentado no ERMAC / Semana da Matemática UFES, São Mateus - ES, 2018.

Diagnóstico assistido por inteligência computacional para identificação de


anemias
Lucas de Souza Kort Camp
Universidade Federal Fluminense
lucas.kort@outlook.com

Márcio Eccard Kort Kamp


Universidade Federal Fluminense
marciokort@gmail.com

Cleber de Almeida Corrêa Junior


Universidade Federal Fluminense
cleberacj@yahoo.com.br

Rosilene Abreu Portella Corrêa


Universidade Federal Fluminense
rosiportella@yahoo.com.br

Resumo: Esse trabalho propõe o uso de redes neurais artificiais (RNAs) na identificação de quadros de anemia
por meio de análise de exames de sangue do tipo hemograma completo. Esse procedimento é geralmente
realizado por médicos. Entretanto, esse presente trabalho investiga a possibilidade de tal diagnostico ser
sistematizado para poder ser fornecido por computadores, funcionando como um auxiliador do médico no
momento do diagnóstico.

Palavras-chave: Redes Neurais Artificiais. Hemograma. Exame de Sangue. Anemia

Introdução
A anemia é uma patologia sistêmica com diversas manifestações no indivíduo. Essa patologia
é caracterizada por um quadro de disfunção hematológica, resultado de uma redução no nível normal
da hemoglobina (Hb) circulando no plasma (DEROSSI & RAGHAVENDRA, 2003), responsável pelo
transporte te oxigênio pelo corpo. A Hb normal consiste numa molécula composta por um grupo heme,
que contém ferro, e por cadeias de globina.
Segundo a Organização Mundial de Saúde (OMS), podemos definir Anemia quando
encontramos um quadro inferior a 13,5g/dl de Hb nos homens e 12 g/dl nas mulheres. Devemos
considerar também o hematócrito (Hct), razão entre Hb no citoplasma.
O hemograma completo é de grande valia para o diagnóstico, permitindo a confirmação do
quadro por meio dos níveis de Hb e Hct, a análise morfológica das hemácias e, de acordo com os
índices hematimétricos, contribuir para a classificação da anemia. Entretanto, como esses valores são
apenas concentrações e não medidas absolutas, devem ser tratados com ressalvas, já que fatores como
idade, gravidez, altitude, hábitos tabácicos e etnia influenciam a concentração de Hb (HOLCOMB,
2005).
Apesar da anemia ser reconhecida como problema de saúde pública a alguns anos, não foram
registadas melhoras significativas no que diz respeito a sua erradicação, prevalecendo, portanto, em
níveis muito altos entre a população.
A incidência e a prevalência da anemia aumentam com a idade. Devido a menstruação, as
mulheres têm ainda uma maior tendência a terem anemia. Interessantemente, após os 65 anos, essa
tendência é invertida (HOLCOMB, 2005; BALDUCCI, 2010).
Por limitar o transporte de oxigênio (devido ao menor número de células transportadoras), a
anemia limita a energia disponível para atividade celular e para síntese de novas proteínas, acarretando
na imunossupressão, fadiga, falta de concentração, fraqueza e palidez.

1
ERMAC UFES 2018 Semana da Matemática 2018

Modelagem do problema

Redes Neurais Artificiais com Retropropagação


As redes neurais retropropagáveis (ou do inglês Backpropagation) é um algoritmo de treino de
redes multicamadas baseadas no aprendizado supervisionado por correções de erros, constituído de:
- Propagação: Depois de apresentado o padrão de entrada, a resposta de uma unidade é propagada com
entrada para as unidades na camada seguinte, até a camada de saída, onde é obtida a resposta da rede e
o erro é calculado.
- Retropropagação: Desse erro calculado, são feitas as alterações nos pesos sinápticos

Propagação
Dado um padrão de entrada X(iq), cada componente x(iq,i) de X(iq) será ponderado por um
peso W1(i,j), onde iq é o contador de padrões, i é o contador de entradas, e j o contador de neurônios
na camada escondida. Após a ponderação, ocorre, em cada neurônio da próxima camada, um
somatório dessas entradas ponderadas, conhecido como NET.

∑ (1)
Considerando N como sendo o número total de neurônios na camada escondida. O fato de o
somatório variar até N+1, deve-se ao fato de estar considerando-se o bias como um peso que pondera
um componente a mais da entrada, cujo valor atribuído seria -1.
Após calculado o NET, o valor obtido passa por uma função de ativação previamente definida,
que pode ser por exemplo a função abaixo:

(2)

Neste momento é conveniente calcular-se a derivada da função de ativação, pois seu uso será
necessário mais adiante. No caso de a função de ativação ser do tipo da apresentada na Equação(2),
tem-se que a derivada será:

( ) ( )
( ) (3)

Depois de obtido o F(NET), Equação (2), toma-se o valor de F(NET) como sendo uma entrada
para uma próxima camada, e deverá ser ponderada da mesma forma que foi a primeira entrada. Este
procedimento é repetido até chegar a camada de saída:

∑ ( ) (4)

onde k é o contador de neurônios da camada de saída e M o total de neurônios desta camada.


Calculado o NET da última camada, pode-se ou não o passar por uma função de ativação, dependendo
da necessidade da aplicação. Obtendo-se assim uma saída z(iq,k) da rede neural.

∑ ( ) (5)

Neste instante, calcula-se o erro, e , cometido para este padrão de entrada, apresentam-se os
próximos padrões de entrada e somam-se os erros cometidos para cada padrão apresentado obtendo-se
um erro total, ET , onde, caso o erro total for maior do que um “erro gol” previamente cometido então

2
ERMAC UFES 2018 Semana da Matemática 2018

faz uma nova época (apresentação de todos os padrões) e atualizam-se os pesos de cada camada,
retropropagando o erro, se não pare, a rede já está treinada.
A Equação que fornece o erro para este padrão de entrada é:

(6)

A Equação que fornece o erro total, usando NQ como o número de padrões apresentados à rede, é:

∑ ∑ (7)

Retropropagação
Enquanto o erro total cometido pela rede neural for maior que uma tolerância prefixada, então cada
peso deverá ser atualizado através de um processo de retropropagação do erro, o qual atualizará os
pesos de acordo com a sua contribuição para o erro. O funcionamento dessa atualização pode ser
explicitado da seguinte forma:

Camada de saída:

(8)

Fazendo:

(9)

Onde η é a taxa de aprendizagem.


Para atualizar cada peso, deve-se aplicar a regra da cadeia até chegar ao peso que se quer atualizar.
Para atualizar W2 ( j, k ) , basta derivar e substituir o resultado na Equação (8).

Como em:

(10)

(11)

(12)

(13)

(14)

(15)

(16)

3
ERMAC UFES 2018 Semana da Matemática 2018

A Equação procurada então seria:

(17)

Camadas Escondidas
Repete-se o mesmo procedimento, mudando apenas o peso em relação ao qual ocorre a
derivada.

(18)

(19)

(20)

(21)

(22)

(23)

(24)

(25)

(26)

(27)

(28)

(29)

Arquitetura e Topologia da RNA


Para o nosso estudo, foi formado um banco de dados com 30 exames de sangue, cedidos pela
clínica da Casa de Saúde Pio XII, no município de Santo Antônio de Pádua -RJ. Nesses exames de
sangue, apesar de não termos os nomes dos pacientes, foram fornecidos, além do hemograma
completo, o sexo e a idade do paciente. Com esses dados foi possível montar nosso banco de dados em
planilhas para serem importadas pelo Matlab. É importante notar que as matrizes foram compostas
apenas de números, sendo atribuídos números 0 para o sexo feminino e 1 para o masculino e a mesma
metodologia foi usada para designar pacientes anêmicos, 1, e saudáveis, 0. Todos os exames foram

4
ERMAC UFES 2018 Semana da Matemática 2018

escolhidos e ordenados de forma aleatória. Os diagnósticos foram então executados pelo médico
consultor. A Tabela 1 contém os dados de treinamento e as saídas esperadas.
Tabela 1 - Dados de entrada e saída esperada do treinamento.

Sexo 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0

Idade 24 1 5 42 75 61 33 28 23 72 89 96 4 16 3 12 9 71 1 1 11 1

Hematócrito 33 33 35 34 38 38 45 37 31 39 28 34 39 39 35 38 33 34 31 33 38 32

Hemoglobina 11 10.8 11.6 11.3 12.6 12.6 15 12.3 10.7


13
9 11.3 13 13 11.7 12.6 10.8 11.3 10.3 10.8 12.4 10.4

Hemácias 3.7 3.72 3.9 3.8 4.2 4.2 5.01 4.1 3.58 4.3 3.24 3.8 4.3 4.3 3.9 4.2 3.7 3.8 3.7 3.78 4.2 3.68

Saída 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1
esperada

É importante notar ainda que nosso banco de dados foi bem rico em diversidade. Tivemos
uma amostra com 46,7% dos pacientes sendo homens, 60% apresentando anemia e com idades entre 1
a 96 anos. Essa diversidade é importante por dar credibilidade de generalização ao estudo. Não foi
estudado apenas um grupo etário ou de mesmo sexo.
Para a construção do nosso banco de dados, omitimos diversos valores que são irrelevantes
para a detecção de anemia, considerando apenas dados necessários e suficientes para tal diagnóstico,
sendo eles: idade, sexo, hematócrito, hemoglobina e hemácias. Os demais dados, apesar de
importantes para a classificação da anemia, não são importantes para a detecção da mesma. Deixamos
estes dados para serem analisados em um próximo trabalho, com classificação dos tipos de anemia.
Após construirmos a planilha, separamos aleatoriamente 22 exames para serem treinados e 8
para testarmos o programa. Também testamos os 22 exames usados no treinamento.
Ajustamos nossa rede neural artificial com 4 camadas ocultas, sendo cada uma delas contendo
100, 100, 100 e 1 neurônio respectivamente. As funções de transferência foram a Tangente hiperbólica
para as 3 primeiras camadas e sigmóide para a última.
O algoritmo de treinamento, como explicado no anteriormente, foi o retropropagável de
gradiente decrescente com momentum e taxa adaptativa. Ajustamos o erro desejado para 1e-7, uma
taxa de aprendizado, encontrada por tentativa e erro, de 0.65 e taxa de momentum de 0.8. O gradiente
foi modificado do padrão pra 1e-11. Nossa rede obteve a resposta com 5724 iterações, em 22 segundos
de execução. O resumo do treinamento está ilustrado na Figura 1.

Figura 1 - Resumo do treinamento

5
ERMAC UFES 2018 Semana da Matemática 2018

Resultados e discussões
No primeiro teste de nossa rede, testamos os 22 exames usados no treinamento e ao simular a
rede, verificamos que todos os 22 exames foram julgados pelo programa, entre saudável e anêmico,
corretamente. Esse resultado nos permitiu prosseguir com os testes.
No teste programado dos 8 exames que foram extraídos do total da amostra para esse mesmo
fim, nosso programa julgou corretamente 100% dos casos. Mais satisfatoriamente ainda, foi o nível de
precisão em que este algoritmo fez seu julgamento. Sendo 0, total certeza de que o paciente não possui
anemia e 1, total certeza que o referido paciente está anêmico, nosso programa não foi mais longe que
0.19 do resultado ideal. A Tabela 1 mostra o julgamento e o resultado esperado/ideal sem aproximação.
Resultados fornecidos diretamente pela variável rede.

Tabela 2 – Dados de entrada e saída para os testes

Sexo 0 0 1 1 1 0 0 1

Idade 86 52 82 82 20 11 84 78

Hematócrito 35 36 28 37 37 36 27 43

Hemoglobina 11,6 12 9,3 12,3 12,3 12 9 14,2

Hemácias 3,9 4 3,2 4,1 4,1 4 3,1 4,7

Resultado do programa 1.00 0.19 1.00 1.00 0.99 0.00 1.00 0.06

Resultado ideal/real 1.00 0.00 1.00 1.00 1.00 0.00 1.00 0.00

É importante notar que o exame que apresenta a maior imprecisão ao diagnóstico, o segundo
exame da tabela acima, mostrando 19% de possibilidade de anemia, é um exame de difícil diagnóstico,
por ter a Hemoglobina, por exemplo, no limite da definição da doença, que é a concentração de 12g/dl.

Conclusão
Neste trabalho usamos o programa Matlab, versão R2018a (9.4.0.813654) 64bits, sendo
executado em um notebook Dell Vostro 5470, com sistema operacional Windows 10 (build 1809), 8gb
de memória RAM e processador Intel Core i5-4210U com clock entre 1.7GHz a 2.4GHz.
Os resultados observados no item Resultados e Discussões mostram a viabilidade de analisar
um exame de sangue quanto a anemia por meio de redes neurais. Mostram ainda que, apesar de
dispormos de um pequeno banco de dados, nosso programa se mostrou eficiente e que em casos como
a segunda coluna da Tabela 2, fica ilustrado uma situação que justifica o uso de redes neurais no
diagnóstico de anemia. Fica agora o desejo pessoal e a recomendação para que seja testado com um
banco de dados maior e com ainda mais variedades em tipos de anemia, para que possamos
implementar a mesma rede e adicionarmos recursos que permitam, além de julgar um paciente como
anêmico ou saudável, possamos também identificar que tipo de anemia esse paciente sofre.
Essas informações, sendo prontamente disponíveis ao paciente, aplicarão a ansiedade quanto
ao intervalo entre a coleta do exame e um diagnóstico médico, podendo ainda mostrar certa urgência
em buscar assistência médica especializada ou/e constituir uma ferramenta de auxílio aos médicos na
avaliação de casos que necessitam um diagnóstico mais complexo.

6
ERMAC UFES 2018 Semana da Matemática 2018

Agradecimentos

Agradecemos a clínica do Hospital Pio XII por acolher nosso projeto, principalmente às
funcionárias Cinthya Alves e Gleicy Kellen Arante por seu auxílio no fornecimento dos exames.
Agradecemos ao mestrando em medicina da Universidade Estácio, Helder Figueira, por ter se
interessado no projeto e disponibilizado seu tempo e dedicação para fornecer os diagnósticos para os
exames utilizados e ao apoio da Coordenação de Aperfeiçoamento de Pessoal de Nível Superior -
Brasil (CAPES).

Referências
ALEGRE, S.;CARVALHO, O. Como diagnosticar e tratar Anemias. [S.I.]: Virtual Books, 2009.
Disponível em: <www.moreirajr.com.br>. Acesso em: 06 out. 2018, 16:47.
JUNIOR, C. Docente da UFERJ: Utilização de Redes neurais Artificiais no Auxílio à Detecção do
Câncer de Pele. 2008. Dissertação (Mestrado) - Instituto Politécnico, Universidade do Estado do Rio
de Janeiro, Nova Friburgo, 2008.
MATSUNAGA, V. Curso de Redes Neurais utilizando o Matlab. [S.I.]: Virtual Books, 2012.
Disponível em: <www.mathworks.com>. Acessado em: 07 set. 2018, 17:00.
ROCHA, M.. Discentes da Universidade de Lisboa: Anemias: Caracterização e implicações em
medicina dentária. 2011. Dissertação (Mestrado integrado) - Faculdade de Medicina Dentária,
Universidade de Lisboa, Lisboa, 1997.

Вам также может понравиться