casos clínicos: análise de dataset e seu possível uso para geração · lu´ıs l. ribeiro, que...

92
Casos Clínicos: Análise de dataset e seu possível uso para geração Aquilino Abreu da Silva Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Orientador(es): Prof. Pedro Alexandre Simões dos Santos Eng. Luís Landeiro Ribeiro Júri Presidente: Prof. Daniel Jorge Viegas Gonçalves Orientador: Prof. Pedro Alexandre Simões dos Santos Vogal: Prof. Francisco António Chaves Saraiva de Melo Maio 2019

Upload: others

Post on 03-Nov-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Casos Clínicos: Análise de dataset e seu possível uso parageração

Aquilino Abreu da Silva

Dissertação para obtenção do Grau de Mestre em

Engenharia Informática e de Computadores

Orientador(es): Prof. Pedro Alexandre Simões dos SantosEng. Luís Landeiro Ribeiro

Júri

Presidente: Prof. Daniel Jorge Viegas GonçalvesOrientador: Prof. Pedro Alexandre Simões dos SantosVogal: Prof. Francisco António Chaves Saraiva de Melo

Maio 2019

Page 2: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

ii

Page 3: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Aos meus pais, irma e avo..

iii

Page 4: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

iv

Page 5: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Agradecimentos

Aos meus pais, agradeco por tudo o que fizeram por mim, pelo incansavel suporte e ajuda financeira

que contribuıram a fim de garantir a melhor educacao, pelas palavras e pela educacao que me deram

desde o meu nascimento, e por serem os pilares da minha vida..

A minha famılia, agradeco por todo o apoio que me tem dado..

Um agradecimento a todos os professores com os quais tive o prazer de aprender, por todo conhe-

cimento que me transmitiram e me fizeram procurar saber, a todos os meus colegas com os quais tive

a oportunidade de conhecer e de aprender, e aos meus orientadores, Professor Pedro Santos e Engo

Luıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento..

A minha avo, agradeco por ter tomado conta de mim, por ter feito parte da minha vida desde o

momento que nasci ate ao ultimo adeus..

v

Page 6: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

vi

Page 7: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Resumo

A medicina e uma area de estudo e labor em constante desenvolvimento, onde novas tecnicas e tra-

tamentos sao prosseguidos com o proposito de contribuırem para a prevencao de doencas e para

a resolucao de casos clınicos. Contributo seminal e relevante para a aquisicao de experiencia do

clınico, a resolucao de casos clınicos auxilia a expansao do conhecimento e o contınuo complemento

da informacao medica. Nao obstante, a existencia de elevada quantidade de informacao nao contribui

diametralmente para a eficiencia na averiguacao dos diagnosticos clınicos do pessoal medico. A apren-

dizagem automatica tem vindo a desempenhar um papel notavel no campo da medicina, sobretudo no

que concerne a analise e tratamento de quantidades consideraveis de informacao. Na presente tese e

feito um estudo de um dataset de casos clınicos com o proposito de se verificar a possibilidade de um

modelo, treinado atraves de redes neuronais, realizar a previsao de casos clınicos que possam vir a ter,

ou nao, hipertensao como diagnostico.

Palavras-chave: Aprendizagem Automatica, Rede Adversarial Generativa, Diagnosticos,

Sintomas, Treino profissional medico, Hipertensao

vii

Page 8: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

viii

Page 9: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Abstract

Medicine is a field of study and work in constant development, where new techniques and treatments

are pursued with the purpose of contributing to disease prevention and to the resolution of clinical cases.

Seminal and relevant contribution to the acquisition of clinical experience, the resolution of clinical cases

helps the expansion of knowledge and the continuous complement of medical information. Nevertheless,

the existence of a large amount of information does not contribute diametrically to the efficiency in the

investigation of the medical diagnoses of medical personnel. Machine learning has been playing a

significant role in the field of medicine, particularly as regards the analysis and treatment of considerable

amounts of information. In this thesis a study of clinical case dataset is carried out in order to verify the

possibility of a model, trained through neural networks, to predict clinical cases that may or may not have

hypertension as a diagnosis.

Keywords: Machine Learning, Generative Adversarial Network, Diagnosis, Symptoms, Profes-

sional Medical Training, Hypertension

ix

Page 10: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

x

Page 11: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Conteudo

Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Lista de Sımbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Glossario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 Introducao 1

1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Background 5

2.1 Diagnostico Clınico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Processo de Raciocınio Clınico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.2 Erros nos diagnosticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.3 Ensino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.4 Discussao/Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Trabalho Relacionado 9

3.1 Aprendizagem Automatica aplicada a Diagnosticos Clınicos . . . . . . . . . . . . . . . . . 9

3.1.1 Accuracy, Precision, Recall e F1-Score . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.2 Requisitos dos algoritmos de Aprendizagem Automatica em Casos Clınicos . . . . 19

3.1.3 Algoritmos de Aprendizagem Automatica . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.4 Discussao dos algoritmos utilizados nos casos de estudo anteriores . . . . . . . . 25

3.1.5 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 Redes Neuronais Artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2.1 Estrutura das Redes Neuronais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2.2 Single-Layer Feed-Forward Neural Networks (Perceptron) . . . . . . . . . . . . . . 28

3.2.3 Multi-Layer Feedforward Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

xi

Page 12: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

3.2.4 Funcao de Ativacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2.5 A escolha da funcao de ativacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.6 Funcao de Custo - Redes Neuronais . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.7 Algoritmo Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4 Exemplo de Geracao Procedimental usando Redes Neuronais 37

4.1 Redes Adversariais Generativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.1.1 Algoritmos Generativos e Discriminativos . . . . . . . . . . . . . . . . . . . . . . . 37

4.1.2 Funcionamento das Redes Adversariais Generativas . . . . . . . . . . . . . . . . 38

4.1.3 Treino de Modelo para reconhecimento de dıgitos escritos a mao . . . . . . . . . . 40

4.2 Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Analise do Dataset 47

5.1 Base de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1.1 Escolha da Base de Dados e o respetivo acesso . . . . . . . . . . . . . . . . . . . 47

5.1.2 Construcao do Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.1.3 Treino e Teste do Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.2.1 Dataset com eventos de laboratorio . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2.2 Dataset com eventos graficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.2.3 Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6 Conclusoes 65

6.1 Achievements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Bibliografia 67

A Appendix A 73

xii

Page 13: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Lista de Tabelas

3.1 Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2 Metodos utilizados nos casos de estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3 Classificacao dos varios metodos nos diferentes casos clınicos (retirado de [27]) . . . . . 27

4.1 Performance dos modelos de dıgitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1 Informacao relativa ao dataset com eventos de laboratorio . . . . . . . . . . . . . . . . . 55

5.2 Informacao relativa ao dataset com eventos graficos . . . . . . . . . . . . . . . . . . . . . 55

5.3 Precisao de treino e teste dos datasets com eventos de laboratorio . . . . . . . . . . . . . 56

5.4 Precisao de treino e teste dos datasets com eventos graficos . . . . . . . . . . . . . . . . 56

xiii

Page 14: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

xiv

Page 15: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Lista de Figuras

3.1 Formulacao de hipoteses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Problemas na formulacao de hipoteses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Exemplo de Funcao de Custo (re-

tirado do material cedido por Andrew Ng) . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4 Grafico com representacao de Gradient Descent (re-

tirado do material cedido por Andrew Ng) . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.5 Funcionamento do classificador k-vizinhos mais proximos . . . . . . . . . . . . . . . . . 21

3.6 Funcionamento do classificador Maquina de Vetores de Suporte . . . . . . . . . . . . . . 24

3.7 Representacao grafica da funcao hard threshold (baseado em [42]) . . . . . . . . . . . . 29

3.8 Representacao grafica da funcao Sigmoid (baseado em [42]) . . . . . . . . . . . . . . . 31

3.9 Representacao grafica da funcao Tanh (baseado em [44]) . . . . . . . . . . . . . . . . . . 31

3.10 Representacao grafica da funcao ReLu (baseado em [44]) . . . . . . . . . . . . . . . . . 32

3.11 Representacao grafica de uma rede neuronal feedforward (baseado em [24]) . . . . . . . 35

4.1 Passos tomados nas Redes Adversariais Generativas (baseado em [46]) . . . . . . . . . 38

4.2 Dıgitos gerado pelas GAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3 Precisao dos modelos utilizando Adam como metodo de otimizacao . . . . . . . . . . . . 40

4.4 Precisao dos modelos utilizando SGD como metodo de otimizacao . . . . . . . . . . . . . 41

4.5 Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, variando os

valores da taxa inicial de aprendizagem e o valor de alpha . . . . . . . . . . . . . . . . . . 42

4.6 Relatorio de Classificacao de dıgitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.8 Relatorio de Classificacao de dıgitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.7 Precisao dos modelos com funcao de ativacao Tanh, otimizado com Adam, variando os

valores da taxa inicial de aprendizagem e o valor de alpha . . . . . . . . . . . . . . . . . . 44

5.1 Diagnosticos mais comuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2 Formas de lidar com os valores em falta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.3 Metricas (precision, recall e f1-score) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.4 Metricas (precision, recall e f1-score) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.5 Medicao da precisao utilizando diferentes funcoes de ativacao, e diferentes metodos de

otimizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

xv

Page 16: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

5.6 Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam . . . . . . . . 59

5.7 Precisao dos modelos com funcao de ativacao Tanh, otimizado com Adam . . . . . . . . 60

5.8 Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, utilizando PCA 61

5.9 Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, utilizando

PCA e K-Fold Cross Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.10 Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, utilizando

PCA e variando os valores da taxa inicial de aprendizagem e o valor de alpha . . . . . . 63

xvi

Page 17: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Capıtulo 1

Introducao

Os diagnosticos clınicos sao um processo de analise efetuado as diversas caraterısticas e sintomas que

um determinado paciente demonstra, sendo este tipo de processo realizado por especialistas clınicos.

Tal processo permite a formulacao de hipoteses, dado a informacao disponıvel por parte do paciente,

permitindo assim concluir qual o problema com o qual o especialista clınico se encontra a lidar.

No entanto, o processo de aprendizagem pelo qual os alunos de medicina passam durante o perıodo

de faculdade nao permite experienciar o avultado numero de doencas existentes, desenvolver a sua

forma de raciocınio clınico e construir uma vasta rede de conhecimento organizada. Este tipo de pro-

cesso e desenvolvido ao longo dos anos, atraves da pratica e resolucao de problemas clınicos reais,

devido ao seu fator de imprevisibilidade e grau de dificuldade. A ausencia de feedback por parte do

paciente levanta varios constrangimentos, pois impossibilita ao clınico o reconhecimento da certeza do

diagnostico e da consequente eficacia da terapeutica. Pode ainda acarretar a formulacao de hipoteses

e consequentes diagnosticos incorretos, o que pode suceder, alem da nao resolucao da condicao ex-

posta, no agravamento dos sintomas e no surgimento de novos problemas de saude.

Qualquer avaliacao e diagnostico depende cabalmente do conhecimento do historico do paciente,

de uma cuidada anamnese. Contudo, e assaz difıcil para os clınicos relembrarem o extenso volume

de dados caraterısticos de sintomas de uma especıfica doenca e daqueles que afetaram um particular

paciente. Se por um lado a reducao da informacao recolhida permite rapida formulacao de hipoteses

e consequentes diagnosticos por outro o auxılio informatico a realizacao de um particular diagnostico

garante ainda um maior grau de eficacia no tratamento do paciente.

Pelo moroso processo de aprendizagem dos estudantes de medicina bem como por fatores subja-

centes aos diagnosticos realizados por clınicos menos experientes, torna-se imprescindıvel o desen-

volvimento de um sistema que possibilite a sua aprendizagem de uma forma mais flexıvel, eficiente,

descartando assim a possibilidade de evolucao dos riscos associados a tomada de decisoes por eles

tomados.

O presente documento focar-se-a na investigacao de trabalhos e estudos anteriormente realizados a

fim de contribuir para o desenvolvimento de um sistema que permite auxiliar no processo de aprendiza-

gem dos clınicos e aprendizes de medicina, atraves da analise de um dataset composto de resultados

1

Page 18: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

e observacoes de casos clınicos. Atraves da analise e consequente tratamento do dataset, e procurado

treinar um modelo, com redes neuronais, capaz de realizar a previsao acertada de um caso clınico cujo

diagnostico seja de hipertensao, tal como tambem a proposta de um modelo generativo que permita

assim a Geracao Procedimental de Casos Clınicos.

1.1 Motivacao

A medicina e uma area que se encontra em contınuo desenvolvimento, sendo que, quando em sincronia

com os avancos tecnologicos, resulta nos mais variados benefıcios, tal como maior longevidade, melhor

qualidade de vida e menor tempo de recuperacao por parte do paciente [1]. A utilizacao de tecnologia na

medicina, como e o caso dos equipamentos tecnologicos que sao utilizados na detecao das possıveis

causas de doenca, encontra-se cada vez mais presente, tornando assim possıvel a resolucao de um

caso clınico de uma forma mais eficiente e precisa.

Com o avanco tecnologico torna-se cada vez mais possıvel obter um maior numero de informacao

do paciente, informacao esta que contem dados relevantes para a obtencao de um diagnostico clınico.

Esta informacao, por sua vez, encontra-se disponıvel e acessıvel para as mais diversas instituicoes e

departamentos medicos, proporcionando assim um vasto conhecimento a todos os clınicos. No entanto,

o excesso de informacao torna a capacidade de assimilacao de um clınico bastante complexa, sendo

assim refletida na eficiencia e capacidade que um clınico possui em alcancar um diagnostico clınico.

Pela indiscutıvel importancia da medicina e da saude publica e pela crescente utilizacao da apren-

dizagem automatica em tecnologias de uso quotidiano, consubstancia-se como auspiciosa a criacao

de um sistema que contribua para o desenvolvimento dos metodos de aprendizagem utilizados pe-

los clınicos a fim de tornar mais eficiente o diagnostico clınico por eles realizado. Sendo melhoradas

as capacidades de analise dos dados clınicos que os medicos possuem, contribui para uma melhor

eficacia no diagnostico clınico, tornando-se assim menos provavel o agravamento da situacao clınica

de um paciente, diminuicao dos erros cometidos por parte dos medicos e identificacao mais precisa

dos problemas que o paciente apresenta.

1.2 Problema

A area da medicina e composta por uma extensa rede de conhecimentos que evolui continuamente a

medida que sao analisados e resolvidos casos clınicos. Apesar da elevada quantidade de informacao

disponıvel, esta nao contribui para a eficiencia dos clınicos durante o diagnostico clınico pois este e

um processo de aprendizagem que e desenvolvido atraves do ganho de experiencia proveniente da

resolucao de casos reais [2]. No entanto, a resolucao de casos clınicos com pacientes reais com

escassa experiencia, pode resultar na formulacao de hipoteses e diagnosticos clınicos incorretos, o

que nos leva a questao: e possıvel criar um modelo capaz de realizar a classificacao de casos clınicos

de hipertensao e a consequente geracao de casos com essa mesma base?

2

Page 19: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

1.3 Objetivos

Esta tese tem como principais objetivos:

1. Pesquisa sobre o processo de ensino/aprendizagem pelo qual os clınicos passam;

2. Escolha e utilizacao de algoritmo(s) de aprendizagem automatica que permita a analise de um

elevado numero de casos clınicos anotados, a fim de associar sintomas a um dado diagnostico;

3. Aquisicao de registos medicos eletronicos a fim de ser utilizado por um sistema responsavel

pela geracao procedimental de casos clınicos tendo em consideracao o anonimato dos dados

e protecao de privacidade dos pacientes (base de dados escolhida omite informacao por parte

dos pacientes por padrao);

4. Criacao de um modelo que seja capaz de classificar, com elevado grau de confianca, os ca-

sos clınicos pertencentes a pacientes que deram a entrada hospitalar nos Cuidados Intensivos

do Centro Medico Beth Israel Deaconess, em Boston, Massachusetts [3, 4], com maior foco na

hipertensao;

5. Analise dos resultados obtidos do treino e teste do modelo construıdo com redes neuronais;

6. Proposta de um modelo generativo a ser utilizado em casos clınicos.

1.4 Estrutura

O presente documento encontra-se organizado da seguinte forma:

No Capıtulo 2 temos o Background, onde e relatado o Diagnostico Clınico. No Capıtulo 3 temos

o Trabalho Relacionado, onde e falado sobre a Aprendizagem Automatica aplicada a diagnosticos

clınicos e dado o exemplo de varios algoritmos de aprendizagem automatica aplicados a diferentes

casos clınicos. Neste mesmo capıtulo e dado a conhecer as redes neuronais, como estas funcionam, a

estrutura que apresentam, as diferentes funcoes utilizadas e o algoritmo backpropagation. No Capıtulo

4 e falado sobre as Redes Adversariais Generativas, o seu potencial nas mais diversas areas e e dado

um exemplo de Geracao Procedimental usando Redes Neuronais para um caso de dıgitos escritos

a mao. No Capıtulo 5 temos a analise de um dataset de casos clınicos, os passos tomados para a

obtencao de acesso a base de dados e construcao do dataset, construcao de um modelo que permita a

classificacao de casos clınicos e os eventuais resultados obtidos dos modelos em questao. No Capıtulo

6 encontram-se as Conclusoes obtidas do desenvolvimento do presente projeto.

3

Page 20: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

4

Page 21: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Capıtulo 2

Background

2.1 Diagnostico Clınico

A medicina e uma das inumeras areas do conhecimento cientıfico, ou seja, uma ciencia que representa

todo o conhecimento adquirido atraves da manutencao e restauracao da saude. Nesta perspetiva, a

saude humana e tambem objeto de estudo por parte do medico que pesquisa, faz diagnosticos, requer

exames, prescreve medicamentos e realiza cirurgias a fim de tratar disfuncoes e enfermidades. Para

que a sua intervencao seja bem-sucedida, devera estar bem informado e atualizado sobre os novos

farmacos, tecnicas e tecnologias. Neste sentido, ciencia e tecnologia podem envolver um conjunto de

ferramentas, metodos e tecnicas capazes de desenvolver grandes avancos na resolucao de problemas

complexos que podem vir a alterar por completo o estilo de vida de uma pessoa.

A tecnologia, que e definida como uma colecao de tecnicas, metodos e processos que sao utilizados

no fabrico de bens ou servicos para resolver problemas, ou mesmo para facilitar a solucao, esta cada

vez mais presente na medicina. No entanto, nem tudo depende dos avancos tecnologicos, mas sim da

capacidade de um medico perceber quais os sintomas relevantes no caso clınico, avaliar as possıveis

hipoteses, verificar os sinais e sintomas que podem ou nao descartar as hipoteses em questao e utilizar

os conhecimentos relacionados para orientar investigacoes e tratamentos adequados quando confron-

tados com um paciente.

2.1.1 Processo de Raciocınio Clınico

O raciocınio clınico e um processo utilizado por clınicos que permite a realizacao de diagnosticos.

Trata-se de um processo que e desenvolvido durante anos, atraves da aquisicao de conhecimento

e experiencias obtidas dos varios anos de estudo e resolucao de casos clınicos, que por sua vez

resulta na construcao de redes de conhecimento organizadas por doenca. Os scripts de doencas sao

compostos por caraterısticas que se apresentaram com o surgir da doenca, uma descricao daquilo

que se encontra a falhar, e os sinais e sintomas que originaram devido a falha, permitindo assim o

desenvolvimento do raciocınio e de reconhecimento de padroes [5].

Um dos passos mais importantes no raciocınio clınico encontra-se na descricao dos sintomas

5

Page 22: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

que o paciente faz durante a entrevista medica. Embora os sintomas descritos estejam sujeitos a

interpretacao do proprio paciente, compete ao profissional recolher informacoes necessarias ao pleno

conhecimento das caracterısticas dos sintomas relatados, bem como do historial clınico, incluindo exa-

mes laboratoriais [6]. A razao pela qual e importante recolher todas as caraterısticas possıveis durante

a observacao deve-se ao facto de que caso as mesmas nao sejam obtidas na sua totalidade, pode

levar a uma completa mudanca do diagnostico. Apos a selecao dos dados relevantes para o caso,

pode ser criada uma abstracao mental, tambem conhecida como “representacao de problema”, na qual

factos explıcitos obtidos atraves da historia do paciente sao transformados em termos abstratos, simpli-

ficando a recuperacao de informacao pertinente da memoria e permitindo a interligacao com os scripts

de doenca [6].

A criacao de representacoes de situacoes clınicas desencadeara o reconhecimento de uma instancia

ou padrao, permitindo a contınua aprendizagem assente em previas experiencias [7] acessıveis para ra-

ciocınio, permitindo a formulacao de um conjunto inicial de hipoteses. Apos obtida informacao por parte

do paciente, ou ate mesmo do caso clınico, existem dois tipos de raciocınios que podem ser adotados,

o dedutivo e o indutivo. No raciocınio dedutivo, a informacao inicial obtida e utilizada na formulacao de

hipoteses preliminares, que leva a procura de informacao adicional de modo a corroborar as hipoteses

em questao [8]. Seguindo um raciocınio indutivo, a informacao obtida atraves da observacao do paci-

ente, ou dos casos clınicos, e comparada com padroes conhecidos (eventos passados) de modo a que

uma hipotese possa ser formulada, sendo depois adaptada ao caso.

A utilizacao do raciocınio indutivo e mais comum nos especialistas, visto terem mais experiencia e

devido ao facto de haver uma maior probabilidade de terem resolvido casos semelhantes em eventos

passados, recorrendo a identificacao de padroes para ajudar na resolucao do caso. No caso dos alunos

principiantes, devido a falta de experiencia, e utilizado com maior frequencia o raciocınio dedutivo.

No entanto, mesmo apos chegar a varias hipoteses atraves da utilizacao de estrategias e modelos

de raciocınio clınico, as decisoes tomadas devem ser reconsideradas atraves da revisao das cara-

terısticas que o paciente apresentava inicialmente, bem como das hipoteses que foram formuladas.

Este processo de revisao de hipoteses leva ao desenvolvimento do pensamento crıtico e tambem a

prevencao de erros cognitivos, visto que os clınicos sao instados a defender as suas decisoes, aspetos

positivos e negativos de todas as hipoteses que foram consideradas, podendo leva-los a repensar nas

abordagens relativas a um caso clınico, a uma melhor interpretacao da informacao encontrada durante

a analise do paciente, ou caso clınico, testes e verificacao de outros diagnosticos provaveis que se

enquadram dadas as caraterısticas obtidas, levando a formulacao de uma hipotese definitiva. Apesar

de levar a prevencao de erros cognitivos, existem outros tipos de erros que podem ocorrer [9, 10].

2.1.2 Erros nos diagnosticos

Os erros nos diagnosticos sao duas vezes mais provaveis de acontecer do que a prescricao de medicacao

errada, o que pode trazer graves consequencias para um paciente sem nenhum aparente problema,

mas que seja diagnosticado incorretamente de ter uma doenca [11]. Apesar de nao existir uma forma

6

Page 23: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

de registar os erros de diagnostico, os autores de [11] referem um trabalho cientıfico que mostra a im-

portancia de criar um sistema que possibilite a classificacao de erros, detecao das falhas no raciocınio

cognitivo, ou ate mesmo a medicao do efeito que a educacao, ou as ferramentas de apoio na decisao,

tem perante um caso clınico em termos de precisao no diagnostico. No entanto, os sistemas de apoio a

decisao de diagnostico nao sao utilizados clinicamente, embora sejam uma das solucoes para reduzir

a taxa de erros em diagnosticos. Isto deve-se ao facto de ser necessario o desenvolvimento de novas

abordagens, metodos para educacao diagnostica, sistemas de tecnologia da informacao de saude, e

investimento [11].

Durante o processo de diagnostico clınico ha sempre a probabilidade de o clınico falhar na identificacao

de informacao crucial, levando assim a uma incorreta interpretacao e consequente formulacao de

hipoteses e diagnosticos incorretos. Fatores como a experiencia que o clınico possui, ou ate mesmo a

complexidade do caso clınico, podem contribuir para esta situacao.

No entanto, a probabilidade de sucederem falhas durante o processo de diagnostico clınico dimi-

nuem a medida que o nıvel de conhecimento e experiencia aumenta, com a formulacao e revisao de

hipoteses, resolucao de casos clınicos, levando assim a criacao de uma estrutura organizada de co-

nhecimento.

2.1.3 Ensino

As funcoes e competencias do professor mudaram radicalmente nas ultimas decadas. Tais mudancas

suscitam varias questoes, entre elas: qual o papel atual do professor no processo de ensino?

O professor pode ser compreendido como facilitador no processo de ensino, cujo papel fundamental

sera proporcionar ao aluno experiencias unicas que estimulem a sua curiosidade, iniciativa propria e

espontaneidade, tornando-o progressivamente mais independente, motivado pelas descobertas reali-

zadas no dia a dia e preparado para enfrentar e resolver possıveis problemas.

Em relacao a area da medicina, um professor necessita de aprofundar o conhecimento cientıfico

sobre teoria clınica para perceber o problema em questao, ser capaz de diagnosticar a doenca a partir

dos sintomas, avaliar as capacidades do estudante enquanto raciocina sobre o caso clınico, saber

transmitir o seu conhecimento e estrategias de raciocınio, tal como a criacao de uma frase que melhor

descreva o caso clınico [2, 6].

Segundo Dewey, a aprendizagem de novos conhecimentos e aquisicao de novas habilidades tem

um maior impacto quando os casos apresentados se encontram inseridos no contexto de situacoes de

vida real, de modo a que seja inconsistente, com imperfeicoes, com um nıvel de complexidade variavel.

No artigo [2], o autor defende que a exposicao do raciocınio clınico aos alunos de medicina devera

ocorrer durante o primeiro ano de faculdade de modo a que sejam criados alguns habitos fundamentais

para o desenvolvimento das suas habilidades de raciocınio. Uma das abordagens recomendadas e o

uso de simulacao de casos clınicos reais, exposta em diferentes contextos e com o nıvel de dificuldade

mais adequado para o aluno, no qual o aluno analisa o historial do paciente, as caraterısticas que o

mesmo apresenta, e resultados dos testes efetuados. O professor tem como papel acompanhar o aluno

7

Page 24: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

durante a analise, avaliando quao pertinentes e explıcitas sao as questoes feitas e respostas dadas pelo

aluno. Um outro conceito que e colocado em pratica pelo professor e o do pensamento crıtico, onde

atraves de perguntas, que levam a respostas por parte dos alunos, e a mais perguntas do professor,

ajudam no processo de chegar a uma conclusao, ou ate mesmo hipoteses, do caso clınico em questao.

O conceito de pensamento crıtico existe ha milhares de anos e serve como processo de avaliar a

informacao que e gerada, recolhida, observada, para servir como uma fundacao de possıveis hipoteses

ou a rejeicao das mesmas [12], sendo crucial para alcancar o nıvel de especialista. De modo a que

haja a troca de ideias, argumentos a favor ou contra as ideias (opinioes e conviccoes) do professor, e

necessario que haja um ambiente descontraıdo, informal, flexıvel e propıcio para o desenvolvimento do

processo de raciocınio clınico [2].

2.1.4 Discussao/Conclusoes

Os especialistas clınicos tem maior facilidade em obter informacoes relevantes dos pacientes, pois

possuem experiencia de eventos passados, conseguindo melhor analise de informacao do paciente,

obtendo uma melhor representacao do problema e na sequencia da elaboracao de hipoteses mais

assertivas.

A construcao de uma estrutura de conhecimento bem organizado, que abranja a maioria das doencas

existentes, experiencias de eventos passados, bem como tecnicas e metodologias que garantam um

diagnostico fiavel, permite o auxılio aos especialistas de forma rapida e eficaz.

Os alunos principiantes apresentam maiores dificuldades no processo de raciocınio clınico devido ao

escasso conhecimento e falta de experiencia, dificultando assim a elaboracao de hipoteses e posterior

exclusao de hipoteses que nao estao de acordo com as informacoes adicionais adquiridas.

Uma vez que os alunos se encontram em fase de aquisicao de conhecimentos sobre inumeras

doencas, processos, modelos, tecnicas, quando confrontados com um caso clınico, o seu raciocınio

clınico acaba por ser retrogrado (backward), no qual hipoteses preliminares sao geradas, levando assim

a procura de informacao para atestar as hipoteses ou para descarta-las.

As discrepancias existentes entre os metodos usados pelos alunos principiantes e um especialista

clınico, sao expectaveis, dada a diferenca de experiencias entre ambas as partes. Por esse motivo, o

aluno principiante deve lidar com diversos casos clınicos que o enriquecam ao nıvel pratico e o condu-

zam ao desenvolvimento de habilidades que possibilitem o correto processo de raciocınio dedutivo.

8

Page 25: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Capıtulo 3

Trabalho Relacionado

3.1 Aprendizagem Automatica aplicada a Diagnosticos Clınicos

Nas ultimas decadas, a aprendizagem computacional tornou-se um dos pilares da tecnologia da informacao,

gerando um contributo muito importante na resolucao de problemas e tomada de decisoes por parte do

ser humano, devido ao crescente volume de dados adquiridos numa determinada area que necessitam

de estudo e aplicacao de tecnicas para analise de dados. Nesta perspetiva, a ligacao entre diagnostico

clınico e aprendizagem computacional podera proporcionar melhor exatidao e maior eficiencia nos re-

sultados obtidos.

A Aprendizagem Automatica, visto como um subconjunto da Inteligencia Artificial, consiste no uso

de modelos estatısticos e algoritmos por parte de sistemas computacionais com o proposito de realizar

uma determinada tarefa sem ser utilizado um conjunto de instrucoes. Baseia-se na deducao e no

reconhecimento de padroes.

Para alguem ser visto como um ser inteligente, deve primeiro ter o conhecimento que apenas e ob-

tido atraves da aprendizagem. A Aprendizagem Automatica e definida por Arthur Samuel, um pioneiro

americano no campo dos jogos de computador e Inteligencia Artificial, como: “the field of study that

gives computers the ability to learn without being explicitly programmed” [13]. Uma definicao moderna,

mais recente, expressa por Tom Mitchell, um cientista de computacao americana, define a Aprendiza-

gem Automatica desta forma [14]:

“A computer program is said to learn from experience E with respect to some class of tasks T and

performance measure P, if its performance at tasks in T, as measured by P, improves with experience

E.”

Por exemplo, um programa de computador que aprende a atingir o diagnostico correto pode me-

lhorar o seu desempenho como medido pela sua capacidade de analisar corretamente os sintomas e,

consequentemente, a geracao de hipoteses atraves da experiencia obtida a partir de casos clınicos

com a classificacao dos medicos responsaveis por atingir um diagnostico definitivo. A definicao de

cada uma das variaveis – tarefa T, medida de desempenho P, experiencia E – sao apresentadas abaixo,

considerando o exemplo fornecido:

9

Page 26: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

• Tarefa T: diagnostico atraves das hipoteses formuladas com os sintomas obtidos;

• Medida de Desempenho P: percentagem de diagnosticos corretamente classificados;

• Experiencia E: uma base de dados de casos clınicos com as suas respetivas classificacoes;

Dadas estas definicoes sobre a Aprendizagem Automatica, depreende-se que uma maquina nao

necessita ser explicitamente programada para cada tarefa. Porem, o conhecimento pode ser ensinado

ou transmitido para que o sistema possa aprender a resolver problemas, dada nova informacao, ou na

tomada de decisoes.

A Aprendizagem Automatica encontra-se presente nos mais diversos servicos, como por exemplo na

filtragem de correio eletronico com spam, na recomendacao de notıcias e livros que mais nos interessa,

entre outros [15]. No entanto, sera dado um maior foco na area da medicina, mais especificamente na

analise de casos clınicos, tambem conhecido por diagnostico assistido por computador.

Os algoritmos de Aprendizagem Automatica comecaram a ser desenvolvidos quando os computa-

dores surgiram pela primeira vez [16, 17]. Dentro Aprendizagem Automatica, mais concretamente na

Ciencia de Dados, existem muitos algoritmos que podem ser usados. Contudo, o seu uso depende

do tipo de dados de treino que e conferido ao programa de computador. Existem varias tecnicas de

aprendizagem que podem ser utilizadas para tratar um determinado tipo de informacao, nomeada-

mente Aprendizagem Supervisionada e Semi-Supervisionada, Aprendizagem Nao-Supervisionada e

Aprendizagem por Reforco:

• Aprendizagem Supervisionada e Semi-Supervisionada:

– Supervisionada: partindo do suposto que existe uma relacao entre os dados de entrada e os

dados de saıda, dado um conjunto de dados, os algoritmos de aprendizagem supervisionada

sao capazes de prever o seu correto output. A aprendizagem supervisionada encontra-se

organizada em dois tipos de problemas [18]:

∗ Regressao: dado variaveis de entrada e conhecidas as variaveis de saıda, e criado uma

funcao contınua que permite prever o output.

· Exemplo: dado varios atributos acerca de uma casa, tais como numero de quartos

e de casas de banho, numero de metros quadrados, e feito a previsao do preco da

casa;

∗ Classificacao: dado variaveis de entrada, a previsao das variaveis de saıda e represen-

tada por 0 ou 1.

· Exemplo: dado um paciente com tumor, e feito a previsao de se o tumor e benigno

(0) ou maligno (1).

– Semi-Supervisionada: dado um conjunto de dados de treino que possui dados identifica-

dos e nao-identificados, uma hipotese inicial e formulada tendo em conta os dados iden-

tificados, que depois e aperfeicoada com a utilizacao de dados nao-identificados atraves

de uma determinada estrategia de identificacao automatica, como por exemplo o algoritmo

Expectation-Maximization (EM) [19];

10

Page 27: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

• Aprendizagem Nao-Supervisionada: permite estruturar dados que nao se encontram categori-

zados [18];

– Exemplo: Dado varios numeros de camisolas, categorizar o numero das camisolas em tres

tamanhos (Pequeno, Medio, Grande);

• Aprendizagem por Reforco: tomada de decisoes por parte de um agente de reforco que visa em

completar uma determinada tarefa de melhor forma possıvel atraves da experiencia que adquire

ao longo do mesmo;

– Exemplo: Alpha Go [20]

De acordo com [16], desde o inıcio que os algoritmos de aprendizagem automatica foram desenha-

dos e aplicados no campo do diagnostico medico, tendo como base a analise de um avultado numero

de casos clınicos previamente classificados. Hoje em dia, a Aprendizagem Automatica disponibiliza um

conjunto de ferramentas que sao utilizadas na analise de informacao das mais diversas areas. Con-

tudo, a analise deste volume de informacao, na area da medicina, implica a existencia de organizacao

e facilidade de acesso aos casos clınicos de forma a poderem ser introduzidos no sistema que correra

os algoritmos de aprendizagem automatica, de forma eficiente.

Considerando que anteriormente a informacao se encontrava em formato papel com menor controlo

e organizacao, a evolucao tecnologica surge de modo a inovar e dar uma nova visao e mudanca de

conceitos. Com o desenvolvimento de unidades de armazenamento, tornou-se possıvel arquivar grande

quantidade de informacao digital, cuja capacidade tem vindo a evoluir cada vez mais.

Enquanto muitos dos hospitais possuem sistemas computacionais, outros ainda mantem informacao

medica em formato de papel em vez do formato digital, tambem conhecido como o sistema de registo

medico eletronico (EMR - Electronic Medical Record) [21], ou registo de saude eletronico (EHR - Elec-

tronic Health Record) [22]. No entanto, e possıvel observar que os hospitais mais recentes estao sendo

equipados com tecnologia que torna a recolha de dados e, posteriormente, o seu armazenamento

possıvel, sendo um dos pre-requisitos necessarios para garantir um armazenamento eficiente, facilitar

a distribuicao e o uso de dados de pacientes, dentro de hospitais ou ate mesmo noutras entidades e

instituicoes. Dado a facilidade com que este tipo de informacao e armazenado, torna-se possıvel, com

a devida autorizacao, a utilizacao de programas de computador para execucao de algoritmos de Apren-

dizagem Automatica em casos clınicos que tenham sido resolvidos no passado. Por sua vez, resulta

num modelo capaz de realizar a classificacao de casos clınicos nunca vistos [23].

O desenvolvimento de um sistema que visa auxiliar a tomada de decisoes por parte dos medicos,

quer tenham muita ou pouca experiencia, podera possibilitar a obtencao de um diagnosticos com maior

eficiencia, precisao e maior probabilidade de se encontrar correto [16]. No entanto, ha alguns aspetos

que devem ser tomados em conta ao desenvolver um classificador, sendo necessario tomar varios

passos [23]:

• Selecao do metodo a ser utilizado na analise;

• Selecao do conjunto de caraterısticas, ou atributos, que serao utilizados na classificacao;

11

Page 28: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

• Treino do classificador atraves da utilizacao de um conjunto de dados de treino;

• Validacao do classificador;

• Avaliacao de potenciais erros na classificacao;

Tendo a nocao dos varios passos que deverao ser seguidos a fim de contribuir para o desenvolvi-

mento de um modelo que classifique corretamente o problema ao qual e apresentado, passamos entao

a explicacao de como funciona a formulacao de hipoteses.

Representacao do Modelo

Figura 3.1: Formulacao de hipoteses

A Figura 3.1 apresenta um esquema de como e representado a formulacao de hipoteses. Um

conjunto de dados de treino e dado por dois tipos de variaveis, X e Y, no qual X representa diferentes

atributos, ou caraterısticas, e Y denota o output originado dado X. Pode acontecer que no conjunto de

treinos seja utilizado um elevado numero de atributos relativamente ao numero de eventos (pacientes) e

resulte na formulacao de uma hipotese que se ajuste aos dados de treino, mas falhar na generalizacao

de novos exemplos. O mesmo pode acontecer caso seja utilizado um numero baixo de atributos. Neste

caso pode levar a duas situacoes: underfitting e overfitting.

O Problema do Overfitting e Underfitting

O presente projeto encontra-se relacionado com a Aprendizagem Supervisionada, no qual existe um

conjunto de dados compostos por variaveis de entrada X (sintomas) e consequente variavel de saıda

Y (diagnostico) que sao ”alimentados” a um determinado algoritmo de aprendizagem. Atraves da

utilizacao de um algoritmo de aprendizagem e esperado que este consiga ”criar” uma funcao capaz

de encontrar a relacao entre as variaveis de entrada e de saıda, possibilitando assim a previsao de

dados nunca vistos, isto e, prever qual o diagnostico para um determinado conjuntos de sintomas.

Por outras palavras, a Aprendizagem Supervisionada e o processo de treinar um algoritmo de apren-

dizagem de modo a que iterativamente faca previsoes em relacao aos dados de treino e correcoes,

se necessario, sendo que a fase de aprendizagem e concluıda quando o algoritmo alcanca um nıvel

aceitavel de performance.

12

Page 29: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Quando lidamos com quaisquer tipos de algoritmos de aprendizagem, e tendo em conta que os

mesmos se adequam aos problemas aos quais sao expostos, os mesmos sao capazes de funcionar

para a maior parte dos casos. No entanto, existe uma possibilidade de estes mesmos algoritmos

ficarem sujeitos a problemas de performance, causados pelo overfitting, ou underfitting, que se encontra

relacionado com a capacidade com a qual a funcao criada possui para generalizar relativamente a novos

dados.

Um modelo ”underfit”, representado na Figura 3.2a, e um modelo que nao e adequado para fazer a

previsao de dados nunca vistos, pois a sua performance e muito baixa no conjunto de treino.

Um modelo ”overfit”, representado na Figura 3.2c, e um modelo que tem em conta todos os detalhes

e ruıdo dos dados de treino, levando assim a consequente inabilidade de generalizar para novos dados,

ou seja, o modelo considera os ruıdos, ou ate mesmo pequenas flutuacoes aleatorias, como sendo

algo importante para a aprendizagem. O overfitting e detetado num modelo quando se verifica que a

precisao no conjunto de treino e consideravelmente superior a precisao do conjunto de teste, digamos

98% e 67% respetivamente. Este tipo de problema e bastante comum em modelos nao-lineares, como

e o caso das redes neuronais, daı serem utilizadas diversas tecnicas e diferentes valores para os mais

variados parametros que estes modelos possuem a fim de limitar a quantidade de detalhe que o modelo

aprende.

Um modelo e considerado como sendo ideal quando apresenta uma performance que mais se

aproxima dos 100%, apesar de este ser um valor bastante difıcil de ser alcancado, e que possua

”vestıgios mınimos” de underfitting e overfitting. De modo a verificar se o modelo se encontra neste

estado, uma das varias opcoes que temos a nosso dispor para o verificar e o desenho de graficos que

mostram a performance do modelo no conjunto de dados de treino e no conjunto de dados de teste.

A medida que um algoritmo aprende, o erro do modelo em questao tende a diminuir, tanto nos dados

de treino como nos de teste. No entanto, a performance do modelo pode vir a diminuir caso o modelo

seja treinado durante extensos perıodos de tempo, diminuindo assim a capacidade de generalizacao do

modelo e consequentemente o aumento do erro para um conjunto de dados de teste. Na Figura 3.2b

encontra-se representado um modelo considerado como ”ideal”.

Cada uma das imagens da Figura 3.2 e representada por uma funcao polinomial de diferentes graus,

em que a funcao 3.1 corresponde a Figura 3.2a, a funcao 3.2 a Figura 3.2b e a funcao 3.3 a Figura

3.2c. O grau de uma funcao polinomial e dado pelo numero de caraterısticas que um conjunto de dados

possui.

Seguindo o exemplo apresentado por Andrew Ng, da Universidade de Stanford, no curso de Apren-

dizagem Automatica, temos o caso da previsao do preco de uma casa dado os seguintes atributos:

numero de quartos, numero de andares, idade da casa, tamanho do jardim, capacidade da garagem,

entre outros. Cada um destes atributos e representado pela letra x e os parametros encontram-se

representados pela letra grega θ, como e possıvel observar na funcao 3.1, 3.2 e 3.3.

Θ0 + Θ1x (3.1)

13

Page 30: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Θ0 + Θ1x+ Θ2x2 (3.2)

n∑k=0

Θkxk, n > 2 (3.3)

(a) Underfit (b) Fit (c) Overfit

Figura 3.2: Problemas na formulacao de hipoteses

Existem varias tecnicas que sao utilizadas para limitar o overfitting, um dos problemas mais comuns

na Aprendizagem Automatica, sendo algumas delas apresentadas de seguida.

Exemplos de tecnicas para limitar o overfitting A fim de limitar o overfitting nos modelos, existem

varias tecnicas que podem ser utilizadas [24–26], tais como:

• Tecnicas de reamostragem, resampling, para estimativa da precisao de um modelo:

– K-Fold Cross-Validation - consiste num metodo utilizado para prevenir o overfitting. Um con-

junto de dados de treino e dividido em k diferentes subconjuntos (folds), sendo que k-1

desses subconjuntos sao utilizados para ”afinar”o modelo atraves dos hiperparametros. O

fold que sobra e utilizado para testar o modelo;

• Conjunto de dados de validacao (Validation Dataset) - Um conjunto de dados pode encontrar-se

dividido em 3 partes: treino, teste e validacao. Multiplos modelos sao treinados com a utilizacao

de diferentes hiperparametros, sendo estes depois testados utilizados o conjunto de dados de

validacao. Por sua vez sao escolhidos os hiperparametros que melhor performance ”entregam” no

conjunto de validacao e por fim testados no conjunto de dados de teste, dados estes nunca vistos

pelo modelo. Um conjunto de validacao serve para mostrar como se encontra a performance do

modelo durante a fase de treino, permitindo assim alterar os hiperparametros necessarios caso

se observe que o modelo se encontra a realizar previsoes erradas;

• Regularizacao e uma tecnica utilizada para reduzir o erro atraves do ajustamento adequado de

uma funcao num dado conjunto de treino. A medida que a complexidade de um modelo aumenta,

a regularizacao adiciona uma penalidade aos termos mais elevados, diminuindo a importancia

dada a esses mesmos termos e tornando a equacao do modelo menos complexa, simplificando

14

Page 31: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

assim as hipoteses geradas e tornando o modelo menos propenso a overfitting. Por outras pala-

vras, a regularizacao limita a preponderancia de determinadas features com valores desproporci-

onalmente altos/baixos.

Apos a escolha dos atributos e formulacao da hipotese, e medida a precisao da hipotese atraves da

utilizacao da funcao de custo (cost function).

Funcao de Custo

Na Aprendizagem Automatica, as funcoes de custo sao utilizadas na analise de modelos com o proposito

de medir quao errado se encontra o modelo em questao relativamente a sua habilidade em estimar a

relacao entre as variaveis de entrada X (inputs) e a variavel de saıda Y (output). A funcao de custo

e estimada atraves da iteracao contınua do modelo a fim de comparar os valores previstos com os

valores conhecidos de Y. Tem como principal objetivo ajudar o modelo em questao a corrigir o seu

funcionamento de modo a minimizar os erros.

Na funcao 3.4 encontra-se representada a funcao de custo utilizada em modelos lineares, como e o

caso de Regressao Linear (Linear Regression).

J(θ0, θ1) =1

2m

m∑i=1

(yi − yi)2 =1

2m

m∑i=1

(hθ(xi)− yi)2 (3.4)

onde

m→ tamanho do conjunto de treino;

hθ(xi)→ valor previsto;

(yi)→ valor real;1m

∑mi=1(hθ(xi)− yi)2 → Funcao de erro quadrada.

θ0 e θ1 sao os valores iniciais aleatorios;

A funcao de erro quadrada, ou erro quadratico medio, trata-se da media dos quadrados da diferenca

entre o valor previsto, hθ(xi), e o valor real, (yi). A funcao 3.4 encontra-se reduzida a metade como

uma conveniencia para o calculo do Gradient Descent, um algoritmo de otimizacao que sera falado

mais adiante.

Na Figura 3.3a temos representado cruzes a vermelho (que correspondem ao valor real), e a linha

reta corresponde a hipotese formulada, sendo que distancia entre a cruz vermelha e a reta corresponde

a diferenca entre o valor real e o valor previsto. Calculando a funcao de custo J(0.5), θ1 = 0.5 (inclinacao

da reta, tal como expressa pela equacao da reta y = mx+ b), obtemos o valor 0.58.

Na Figura 3.3b temos um exemplo semelhante ao da figura 3.3a, no entanto o valor de θ1 = 1. Como

e possıvel verificar, a funcao de custo J(1) = 0. Isto porque a previsao corresponde aos valores reais.

Na Figura 3.3c encontra-se representada a funcao de custo para os varios valores de θ1, onde se

verifica que a funcao de custo toma o valor de 0 quando θ1 = 1. No entanto o resultado da funcao de

custo tende a aumentar quando o valor de θ1 toma valores menores ou maiores que 1.

15

Page 32: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

(a) Funcao de Custo J(0.5) (b) Funcao de Custo J(1) (c) Funcao de Custo

Figura 3.3: Exemplo de Funcao de Custo(retirado do material cedido por Andrew Ng)

Como foi dito anteriormente, o principal objetivo da funcao de custo e ajudar o modelo na minimizacao

dos erros. No entanto, um modelo pode ter varios mınimos locais e globais (local minimum e global mini-

mum respetivamente). A fim de minimizar a funcao de custo, e necessario a utilizacao de um algoritmo

de otimizacao de entre os varios existentes. Apesar dos varios algoritmos de otimizacao existentes,

sera abordado, mais especificamente, o Gradient Descent.

Gradient Descent

Na Figura 3.4 temos representado o Θ0 no eixo do x, o Θ1 no eixo do y e a funcao de custo no eixo

z, obtendo-se assim um grafico com zonas a vermelho (pontos altos) e zonas a azul (pontos baixo).

O Gradient Descent permite que um modelo aprenda qual a direcao que devera ser tomada a fim

de reduzir os erros, isto e, obter a menor diferenca entre o valor previsto de Y e o valor atual de Y.

Como e possıvel verificar na Figura 3.4, ao ser utilizada um algoritmo de otimizacao (Gradient Descent

neste caso), obtemos um caminho (mero ilustrativo) composto por cruzes pretas, que eventualmente

converge para o seu valor mınimo, obtendo-se assim o seu mınimo local/global (local/global minimum).

Na funcao 3.5 temos representada o algoritmo Gradient Descent, cuja funcao deve ser repetida ate que

haja convergencia.

Θj := Θj − α∂

∂ΘjJ(Θ0,Θ1) (3.5)

onde

j = {0,1} → representa o numero do ındice da caraterıstica;

α→ parametro com valor variavel;

J(Θ0,Θ1)→ funcao de custo.

A fim de utilizar, corretamente, o algoritmo Gradient Descent, os parametros θ, como e possıvel

ver de seguida, deverao ser atualizados simultaneamente, de modo a que θ0 nao seja utilizado para

16

Page 33: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

computar o valor de θ1.

temp0 := θ0 − α ∂∂θ0

J(θ0, θ1)

temp1 := θ1 − α ∂∂θ1

J(θ0, θ1)

θ0 := temp0

θ1 := temp1

Figura 3.4: Grafico com representacao de Gradient Descent(retirado do material cedido por Andrew Ng)

A medida que um modelo e iterado, este converge em direcao a um mınimo, tomando pequenos ou

grandes passos que dependem do valor que a variavel α tem definida. Caso tenhamos um α (learning

rate) de reduzida dimensao, sao tomados passos bastante pequenos durante a procura do mınimo local

e global, podendo assim demorar mais tempo na convergencia. No caso de termos um α bastante ele-

vado, o Gradient Descent pode ”passar ao lado” do mınimo, isto e, falhar a convergir (nao se aproxima

da solucao desejada) ou ate mesmo divergir (independentemente do numero de iteracoes pelo qual um

model passa, o valor da funcao nunca sera estabelecido em um intervalo de qualquer valor ”final”).

Como e possıvel observar na funcao 3.5, o valor de θj , onde j = 0..1, resulta da diferenca entre o

valor de θj com o produto do valor de α e a derivada da funcao de custo. Se θj se encontrasse no

mınimo local, o seu valor manteria-se igual visto que a inclinacao (ponto de tangencia) seria igual a

0, e a derivada de 0 (valor constante) e 0. Por esta razao, quando um modelo atinge a convergencia,

alteracoes adicionais aos parametros passam a ter pouco ou nulo impacto na perda.

Validacao e Selecao do modelo

Para minimizar o underfitting/overfitting, um conjunto de dados e dividido em tres tipos: o de treino, o

de validacao e o de teste. O conjunto de dados de treino e usado para treinar o classificador, enquanto

que o de teste serve para validar o classificador. Caso tenhamos um vasto conjunto de dados, este

pode ser dividido em dois: o de treino (70%) e de teste (30%), utilizando o racio tıpico.

A formulacao de uma hipotese deriva do conjunto de dados de treino que, apesar de poder ser a

ideal para esse conjunto de dados pode nao ser para outros dados nunca vistos. A taxa de erro dessa

mesma hipotese sera sempre menor no conjunto de dados no qual foi treinado do que qualquer outra.

De forma a obtermos uma hipotese mais generalizada, a fim de obtermos uma menor taxa de erro dado

17

Page 34: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

novos exemplos, e necessario escolher qual o grau polinomial que devera ser utilizado para encaixar os

dados. Como tal, o conjunto de dados devera ser divido em tres conjuntos (exemplo de racio utilizado):

• Conjunto de Treino: 60%;

• Conjunto Cross-Validation: 20%;

• Conjunto de Teste: 20%;

A escolha do grau polinomial e dada pelo calculo do erro para cada um dos conjuntos de dados,

atraves dos seguintes passos:

1. Otimizar os parametros atraves da utilizacao do conjunto de dados de treino para cada uma das

funcoes com diferentes graus polinomiais;

2. Descobrir qual a funcao cujo grau polinomial tenha menor erro apos a utilizacao do conjunto de

dados Cross-Validation;

3. Estimar o erro de generalizacao atraves da utilizacao do conjunto de dados de teste;

3.1.1 Accuracy, Precision, Recall e F1-Score

Com o proposito de treinar e testar um modelo que apresente a melhor performance para a resolucao

de um determinado problema, existem algumas variaveis que deverao ser tomadas em conta e a sua

consequente analise.

Accuracy

Na Tabela 3.1 temos representada uma Confusion Matrix que nos mostra quao bem um modelo se

saiu, apresentando assim 99.9% de accuracy. No entanto, a classificacao incorreta de um caso pode

trazer graves consequencias, dependendo da situacao a que se encontra sujeita. Por exemplo, caso

estivessemos perante um caso em que um paciente tivesse sido ”classificado” como nao tendo o Vırus

da Imunodeficiencia Humana (VIH), poderia resultar na transmissao para outras pessoas. Como tal, a

accuracy nao pode ser vista como a principal metrica a ser tomada em conta durante a selecao de um

modelo, o que nos leva ao Precision e ao Recall.

Previsao/ClassificadoNegativo Positivo

Valor Atual Negativo 998(true negative)

0(false positive)

Positivo 1(false negative)

1(true positive)

Tabela 3.1: Confusion Matrix

18

Page 35: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Precision e Recall

Estas duas metricas, Precision e Recall, sao calculadas atraves das equacoes 3.6 e 3.7, respetiva-

mente.

precision =true positive

true positive + false positive(3.6)

Precision Como e possıvel verificar na equacao 3.6, conjuntamente com a Tabela 3.1, este nos mos-

tra quao preciso o modelo e relativamente aos casos positivos previstos, isto e, quantos casos sao

realmente positivos. Esta torna-se uma excelente metrica quando estamos perante um problema em

que o numero de casos False Positive possam ter um enorme custo.

recall =true positive

true positive + false negative(3.7)

Recall Aplicando a mesma logica ao Recall, e possıvel verificar na equacao 3.7, conjuntamente com

a Tabela 3.1, que esta metrica calcula quantos dos Positivos Atuais o modelo em questao classifica

como sendo True Positive.

F1-Score

F1 = 2× precision * recallprecision + recall

(3.8)

A metrica F1 Score, representada na equacao 3.8, e utilizada quando necessitamos de encontrar

um equilıbrio entre as metricas Precision e Recall, e quando a distribuicao de classes se encontram

desniveladas, ou seja, quando existe um elevado numero de casos cujo diagnostico real seja negativo,

por exemplo.

Ao serem utilizados classificadores de aprendizagem automatica para ajudar no diagnostico de pa-

cientes, deverao ser utilizados diferentes tipos de conjunto de dados, cujos diagnosticos clınicos fo-

ram realizados por diferentes medicos em diferentes centros clınicos [23]. Um outro aspeto a ter em

consideracao e a escolha do algoritmo que mais se adequa ao tipo de tarefa em que sera utilizada a

aprendizagem automatica, em que neste caso serao os casos clınicos.

3.1.2 Requisitos dos algoritmos de Aprendizagem Automatica em Casos Clınicos

As utilidades dos algoritmos de aprendizagem automatica tem aumentado ao longo dos anos e a sua

aplicabilidade nos casos clınicos nao e excecao, dada a grande capacidade de armazenar, processar

e analisar, possibilitando uma relacao de sucesso entre eventos passados e presentes. Os seres hu-

manos nao possuem esta capacidade de processamento e armazenamento de um elevado numero de

casos clınicos, daı a razao pela qual os esforcos para aplicar os algoritmos de aprendizagem automatica

19

Page 36: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

em saude tem aumentado, com o objetivo principal de ajudar os medicos a fazer e compreender as de-

cisoes tomadas, para serem capazes de lidar com possıveis erros detetados em dados de qualquer

paciente [16]. Para ter um olhar mais claro sobre a viabilidade desses requisitos, serao apresentadas

as discussoes de alguns [16]:

• Performance: a maioria dos algoritmos de aprendizagem podera proporcionar uma melhor pre-

cisao diagnostica em comparacao com a acao medica. Para tal, um algoritmo necessita ser

capaz de classificar casos clınicos tao bem quanto os profissionais de saude, ou melhor, bem

como ser capaz de selecionar informacoes relevantes a partir dos dados apresentados. Normal-

mente, abordagens diferentes tendem a obter valores de desempenho semelhantes em relacao

a precisao de classificacao. Como tal, varias abordagens deverao ser testadas a fim de verificar

qual a que apresenta melhor performance, levando assim a escolha da que sera aplicada durante

o desenvolvimento de aplicacoes;

• Falta de dados: os algoritmos de aprendizagem automatica deverao ser capazes de lidar com a

possibilidade de que a informacao de um determinado paciente se encontra em falta;

• Lidar com dados ruidosos: dado que os dados medicos sao propensos a erros e incerteza, os

algoritmos de aprendizagem automatica devem ser eficazes em manipular dados com ruıdo;

• Transparencia do conhecimento de diagnostico: o conhecimento gerado deve ser claro para

o medico, de modo a que uma conclusao possa ser obtida dela, permitindo assim perceber o

que falhou no seu diagnostico e corrigi-lo nos casos clınicos seguintes, ou ate mesmo investigar

determinadas decisoes tomadas pelo algoritmo que foram consideradas interessantes [27].

• Habilidade de explicacao: qualquer decisao tomada pelo sistema para um novo caso deve ser

fundamentada para que o medico possa considera-lo. Ha a possibilidade de o medico aceitar

uma decisao feita por um classificador black-box – abordagens que nao sao transparentes sobre

o conhecimento de diagnostico e que nao tem a capacidade de explicar, e que sao propensos a

descobertas falsas [23] – quando o nıvel de precisao e maior do que qualquer outra abordagem,

inclusive a do medico. No entanto, nao ocorrem com muita frequencia.

• Reducao do numero de testes: a aquisicao de dados de um paciente e um processo que pode

levar muito tempo, ser dispendioso, ou causar danos ao paciente. Como tal, e preferıvel escolher

uma abordagem que consiga ligar com pouca informacao sobre o paciente e que seja capaz de

selecionar um subconjunto de atributos relevantes durante o processo de aprendizagem para que

um melhor desempenho possa ser alcancado.

3.1.3 Algoritmos de Aprendizagem Automatica

Nesta Seccao serao apresentados varios algoritmos de aprendizagem automatica que foram utilizados

em alguns casos de estudo que envolvem casos clınicos.

20

Page 37: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

• k-vizinhos mais proximos (KNN): este classificador tem como principal objetivo determinar a

classificacao de uma amostra tendo como base o voto da maior parte dos vizinhos. Na Figura

3.5 temos dois rotulos (A e B) e k = 7, onde k representa o numero de vizinhos mais proximos

do ponto X (a vermelho) a classificar. O calculo da distancia e algo fundamental para o KNN

pois permite-nos ficar a conhecer quais as bolas que se encontram mais proximas do ponto X e

quais as classes que mais aparecem dentro desse cırculo. Seguindo o exemplo da Figura 3.5,

as distancias seriam calculadas entre as bolas (rotulos A e B) e o ponto X atraves da funcao

Euclideana representada na funcao 3.9 [28, 29]. O valor de k e determinado experimentalmente,

comecando com k = 1 e utilizando um conjunto de validacao a fim de validar a taxa de erro do

classificador. O valor de k e incrementado duas unidades (k = k + 2), e devera ser escolhido o

valor de k cuja taxa de erro seja mınima [29].

D =

√√√√ n∑i=1

(pi − qi)2 (3.9)

onde

n→ dimensao do espaco em que os pontos se encontram (bidimensional).

Figura 3.5: Funcionamento do classificador k-vizinhos mais proximos

A decisao tomada pelo algoritmo e explicada, mostrando o numero de vizinhos mais proximos

para um determinado conjunto de treino, e segue uma abordagem identica a dos medicos [16];

• Classificadores Bayesianos Naıve e Semi-Naıve: Os classificadores bayesianos utilizam o te-

orema de Bayes a fim de prever qual a classificacao mais provavel de uma nova instancia consi-

derando o conjunto de dados de treino. O teorema de Bayes encontra-se representado na funcao

3.10.

P (A|B) =P (B|A) ∗ P (A)

P (B)(3.10)

21

Page 38: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

onde

A→ representa a hipotese;

B→ representa a evidencia;

Os modelos Naıve Bayes fornecem uma estimativa da probabilidade para uma determinada instancia

atraves da suposicao que as caraterısticas em questao ocorrem independentemente uma da ou-

tra tanto quando condicionadas, ou nao, por uma hipotese. No caso dos modelos Semi-Naıve

trata-se de um metodo identico ao Naıve Bayes, mas tem como vantagem nao assumir que as ca-

raterısticas sao incondicionalmente independentes. A desvantagem do Naıve-Bayes e o facto de

considerar as caraterısticas como sendo independentes, quando que na vida real as caraterısticas

dependem umas das outras.

Na funcao 3.11 temos o exemplo do calculo da probabilidade de um indivıduo ter cancro de mama

considerados os atributos idade e sexo. O conjunto de dados utilizado no treino do classificador

contribui para a variacao da probabilidade de uma hipotese ser correta, sendo que o conhecimento

a posteriori pode, e deve, ser tomado em conta durante o calculo das probabilidades [29].

P (A|B) =P (B|A) ∗ P (A)

P (B)(3.11)

onde

P (A) = P (ter cancro)

P (B) = P ((idade = 24) ∩ (sexo = M))

P (A|B) = P (ter cancro|(idade = 24) ∩ (sexo = M))

P (B|A) = P ((idade = 24) ∩ (sexo = M)|ter cancro)

Embora o medico deva saber, com antecedencia, o quao provavel e de um determinado di-

agnostico ocorrer, bem como a probabilidade condicional de um diagnostico acontecer dado os

sintomas, estes classificadores sao bem aceites uma vez que usam todos os atributos disponıveis,

sao capazes de fornecer evidencias que refutam ou aprovam um determinado diagnostico, resol-

vem o problema de forma identica a maneira como os medicos diagnosticam e lidam bem com

dados ausentes [30];

• Rede Neuronal Artificial: E um modelo computacional cuja sua inspiracao surgiu da estrutura

neuronal do cerebro humano, no entanto as semelhancas sao poucas. E composta por neuronios

artificiais (unidades), todos eles interligados ao longo de tres ou mais camadas: 1 camada de

input (entrada), 1 ou mais camadas hidden (ocultas) e 1 camada output (saıda). A informacao e

enviada da camada de entrada para a camada oculta, partindo dos nodos, e depois da camada

oculta para a camada de saıda. As conexoes entre os nodos e as camadas possuem um peso

que e ajustado durante a aprendizagem [31]. Existem varios tipos de redes neuronais artificiais,

22

Page 39: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

como e o caso das Multilayer Perceptron (MLP), Convolutional Neural Network (CNN), Recursive

Neural Network (RNN), Recurrent Neural Network (RNN), Long short-term Memory (LSTM), entre

outros;

• Multilayer Perceptron: Possui tres ou mais camadas, isto e, uma camada de entrada, uma ou

mais camadas ocultas e uma camada de saıda. Permite classificar dados que nao sao linear-

mente separaveis [31];

• Rede Neuronal Convolucional: e composta por uma ou mais camadas convolucionais que fun-

cionam como filtros dos dados de entrada a fim de o resultado ser passado para as proximas

camadas. Tem sido utilizado em aplicacoes de imagem e de reconhecimento de fala [32, 33];

• Rede Neuronal Recursiva: aplica um conjunto de pesos, recursivamente, a estrutura de dados

de entrada a fim de retornar uma previsao estruturada, onde a estrutura dos dados de entrada

tem um tamanho variavel, seguindo uma estrutura estipulada em ordem topologica [34];

• Rede Neuronal Recorrente: e uma variante da rede neuronal recursiva no qual os dados de

saıda dependem nao so dos nodos de entrada como tambem do estado do nodo no passo anterior

[35];

• Long short-term Memory: sao blocos utilizados nas camadas ocultas de uma Rede Neuronal

Recorrente. Sao chamados blocos de memoria e contem celulas de memoria que se encontram

ligadas a si mesma armazenando o estado temporal da rede. Cada bloco de memoria contem um

a porta de entrada – controla o fluxo das ativacoes de entrada para a celula de memoria - e uma

de saıda – controla o fluxo de saıda para o resto da rede [36];

• Maquina de Vetores de Suporte: Pode ser aplicado a problemas de classificacao e regressao

[31]. Trata-se de um metodo de classificacao linear responsavel por separar os dados de duas

classes. Tem como objetivo procurar o hiperplano otimo que maximiza a margem entre as duas

classes [29], isto e, encontrar a menor distancia entre a fronteira de decisao (hiperplano) e as

classes (representadas pelas bolas azuis e verdes) [31], como ilustrado na Figura 3.6. No entanto,

nao e ideal para um grande conjunto de dados pois o tempo que leva a treinar o classificador pode

ser demasiado alto;

• Arvore de decisao: As arvores de decisao podem ser aplicadas a problemas de regressao e de

classificacao [31]. As regras produzidas pelas arvores de decisao sao mais simples do que as

produzidas pelas redes neuronais, tornando assim esta abordagem menos informativa e incom-

pleta [16]. E composta pela raiz e pelas folhas. O caminho entre a raiz e as folhas corresponde

a explicacao da solucao para o problema ao qual e exposto, sendo a raiz o atributo de maior

importancia pois e responsavel por filtrar a informacao necessaria na classificacao de um novo

objeto [27].

Na Tabela 3.2 e possıvel verificar alguns dos metodos utilizados em alguns casos de estudo.

23

Page 40: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 3.6: Funcionamento do classificador Maquina de Vetores de Suporte

Tabela 3.2: Metodos utilizados nos casos de estudo

24

Page 41: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

3.1.4 Discussao dos algoritmos utilizados nos casos de estudo anteriores

Redes Neuronais com Backpropagation

No caso de estudo mencionado em [16], o algoritmo apresenta uma excelente performance e uma

capacidade aceitavel de lidar com a falta de dados. Em [37] este algoritmo foi utilizado em cinco casos

clınicos, tendo apresentado resultados de precisao semelhantes ao dos outros metodos utilizados,

como e possıvel verificar na Tabela 3.3.

Rede Neuronal Convolucional:

Este algoritmo foi utilizado no caso de estudo mencionado em [38], onde o modelo foi treinado utili-

zando um conjunto de dados que possuıa radiografias de pulsos fraturados, todos eles classificados

por dois cirurgioes experientes. Apos o treino da Rede Neuronal Convolucional, obteve 0.98 (de 0 a

1) no AUC (Area Under the Curve), 93% de especificidade e 95% de sensibilidade, o que mostrou ser

significativamente mais preciso que os aprendizes e medicos.

Rede Neuronal Recorrente:

No caso de estudo mencionado em [39] e proposto o Dipole, um modelo baseado nas Redes Neuronais

Recorrentes Bidirecionais, cujo objetivo e modelar os dados dos registos medicos eletronicos tempo-

rais e de alta dimensao, onde e comparado com RETAIN [40], Med2Vec [41] e com variantes de Redes

Neuronais Recorrentes e Dipole. A razao que levou a proposta do Dipole deveu-se ao facto das abor-

dagens que se baseiam nas Redes Neuronais Recorrentes tendem a ter problemas de performance

quando lidam com sequencias de registos medicos eletronicos muito grandes, levando assim a uma

previsao incorreta. Com a implementacao das Redes Neuronais Recorrentes Bidirecionais, o Dipole foi

capaz de se lembrar do conhecimento oculto que foi aprendido das visitas anteriores e futuras, tendo

tambem obtido melhores resultados que os outros modelos com os quais foi comparado.

Long short-term Memory:

A respeito do caso de estudo mencionado em [22] e utilizado o Long short-term Memory (LSTM) com o

proposito de classificar os diagnosticos que apresentam uma serie de tempos com elevada variacao nas

unidades de cuidado intensivo pediatrico. Foram utilizados exemplos de casos clınicos que apresenta-

vam 13 series temporais frequentemente medidas, mas de forma irregular, e algumas caraterısticas do

paciente. Foi realizada uma comparacao entre o LSTM e o Multilayer Perceptron (MLP), tendo o LSTM

obtido melhores resultados que o MLP – cujos recursos foram manipulados a mao – como pode ser

verificado na tabela 1 de [22]. Na tabela 2 de [22] encontram-se descritos a performance obtida com a

utilizacao do LSTM em seis diagnosticos diferentes.

25

Page 42: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Naıve e Semi-Naıve Bayes

Este algoritmo foi utilizado nos casos de estudo mencionados em [16, 27, 37]. No caso de estudo men-

cionado em [16], foram utilizados oito conjuntos de dados medicos, sendo que ambos os classificadores

bayesianos obteram excelentes resultados e tornaram-se a escolha ideal por parte dos medicos devido

ao facto de ambos os classificadores apresentarem os motivos pelo qual um determinado diagnostico

foi escolhido, por gerar conhecimento compreensıvel, permitindo assim a sua analise por parte dos

medicos, e tambem devido ao desempenho conferido.

Relativamente ao caso de estudo mencionado em [27], o classificador Naıve Bayes foi utilizado em

quatro casos clınicos, tendo obtido uma melhor classificacao, em termos de precisao, relativamente

aos especialistas. Esta comparacao pode ser verificada na Tabela 2 do artigo [27]. O conhecimento

gerado pelo classificador Naıve Bayes consiste numa tabela de probabilidades previas e condicionais

que sao obtidas do conjunto de dados de treino, que corresponde a 70% do conjunto de dados, sendo

os restantes 30% pertencentes ao conjunto de dados de teste. Apos a aprendizagem do classificador,

foi pedido aos medicos especialistas que avaliassem as decisoes feitas pelo sistema, a explicacao

e a sua compreensibilidade, onde foi verificado que a explicacao fornecida pelo sistema, alem de ser

compreensıvel era bastante semelhante na maneira como os medicos costumam classificar os casos. O

classificador Naıve Bayes, alem de todos os atributos disponıveis serem utilizados, possui a capacidade

de ignorar os valores em falta e e relativamente rapido. Um dos problemas deste classificador e o facto

de assumir a independencia entre atributos. No entanto, o classificador Semi-Naıve Bayes nao assume

independencia entre atributos, e um pouco mais lento que o Naıve Bayes e adota uma aprendizagem

nao incremental.

No caso de estudo mencionado em [37], ambos os classificadores Bayesianos foram utilizados

(Naıve e Semi-Naıve), tendo estes obtidos valores de classificacao elevados comparativamente aos

outros metodos utilizados. A comparacao entre os diferentes metodos utilizados neste caso de estudo

podem ser verificados na Tabela 3.3.

Maquina de Vetores de Suporte

Este algoritmo e muito utilizado em casos clınicos que se encontram dentro da area de analise de

eletrocardiograma. E um classificador que, ao ser aplicado a um conjunto de dados de treino demonstra

uma boa performance, mas acaba por ser inutil quando utilizada num conjunto de dados de treino.

3.1.5 Conclusao

Apos a analise dos varios casos de estudo, no qual foram utilizados alguns algoritmos de aprendizagem

automatica em diferentes casos clınicos, as variantes do classificador bayesiano mostraram ser a opcao

com que os medicos mais se identificavam para ser utilizada no apoio a decisao de casos clınicos. Esta

escolha deve-se a performance que o classificador bayesiano demonstra, a clareza com o qual e gerado

o conhecimento e a sua habilidade de explicacao perante a decisao tomada, a capacidade de lidar com

26

Page 43: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

MetodoDoencaArterial

Coronariana

Cancro demama Hepatite Diabetes

prima indians

Doencascardıacas(detrano)

Redes Neuronaiscom

Backpropagation50.4 96.7 82.1 76.4 81.3

NaıveBayes 58.1 96.4 86.3 75.5 83.4

Semi-NaıveBayes 59.7 96.6 86.3 75.4 83.1

Tabela 3.3: Classificacao dos varios metodos nos diferentes casos clınicos (retirado de [27])

a falta de dados e, a capacidade de lidar com a falta de dados e com dados propensos a erros e

incerteza.

A principal diferenca entre o Naıve Bayes e o Semi-Naıve Bayes e o facto de Naıve Bayes con-

siderar os atributos como sendo independentes, o que por vezes nao e o caso dependendo do caso

clınico ao qual e exposto. Apesar de ambas as variantes do classificador bayesiano possuırem as suas

semelhancas, o algoritmo Naıve Bayes apresenta uma boa performance e capacidade de explicacao

atraves da apresentacao de probabilidades, por se identificar com a maneira como os clınicos classifi-

cam os casos clınicos.

Contudo, varios modelos de Redes Neuronais Artificiais, especificamente as Redes Neuronais Con-

volucionais, Redes Neuronais Recorrentes e o Long short-term Memory, tem vindo a apresentar exce-

lentes resultados quando aplicados a diagnosticos clınicos. Tendo em conta os varios casos de estudo

analisados e a crescente utilizacao de modelos baseados em Redes Neuronais Artificiais, torna-se inte-

ressante que os mesmos sejam adotados. De tal modo, serao utilizados modelos de Redes Neuronais

Artificiais com Backpropagation como ponto de partida para o desenvolvimento desta tese.

3.2 Redes Neuronais Artificiais

Como foi possıvel observar na Seccao anterior, existem diversos algoritmos de aprendizagem em

Aprendizagem Automatica que podem ser utilizados no treino e teste de modelos a fim de que se-

jam reconhecidos os padroes dos dados que ”alimentam” o modelo em questao. De todos os algorit-

mos existentes, o presente projeto foca-se nas Redes Neuronais Artificiais (mais especificamente as

Multilayer Perceptron Neural Networks), com o principal objetivo de se verificar se e possıvel treinar

um modelo capaz de classificar casos de hipertensao de modo a que este possa ser utilizado para a

geracao procedimental de casos clınicos. Com este modelo pretende-se investigar a capacidade das

redes neuronais neste cenario e verificar se o mesmo e capaz de classificar, com elevado grau de

confianca, os casos clınicos pertencentes a pacientes que deram a entrada hospitalar nos Cuidados

Intensivos do Centro Medico Beth Israel Deaconess, em Boston, Massachusetts [3, 4].

27

Page 44: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

3.2.1 Estrutura das Redes Neuronais

As redes neuronais sao compostas por ”nos”ou unidades interligados, no qual a ligacao entre duas

unidades, i e j, permite a propagacao da ativacao ai. Cada ligacao possui um determinado peso wi,j

associado, a fim de ser definido a forca e o sinal dessa mesma ligacao. Cada unidade possui o chamado

”dummy input”(ou bias), a0 = 1, com o respetivo peso wi,j associado. Primeiramente, e calculada a

soma ponderada para cada unidade j, que se encontra representada na equacao 3.12. Apos o calculo

da soma ponderada da unidade j, e aplicada a funcao de ativacao, g, que se encontra representada na

equacao 3.13, a fim de definir o valor de saıda [42].

inputj =

n∑i=0

wi,jai (3.12)

activationj = g(inputj) = g(

n∑i=0

wi,jai) (3.13)

A mais simples rede neuronal e chamada Single-Layer Perceptron, um classificador binario cujas

unidades de entrada se encontram diretamente ligadas a uma unica unidade de saıda. Uma funcao de

ativacao pode ser um hard threshold, como representado na Figura 3.7, onde a unidade fica conhecida

como apenas perceptrao, ou uma funcao logıstica, como representado na Figura 3.8, em que a unidade

fica conhecida como um perceptrao ”sigmoidal”. Apos a decisao de qual a funcao de ativacao a ser utili-

zada, e necessario interligar as varias unidades a fim de formar uma rede. A rede neuronal feedforward

e uma rede cujas ligacoes sao feitas em apenas um sentido (unidades de entrada → unidade(s) de

saıda), formando assim um grafo direcionado acıclico. Por outras palavras, todas as unidades recebem

um valor das unidades da camada anterior, e devolvem o valor de saıda as unidades das camadas

seguintes. As redes neuronais utilizam algoritmos de backpropagation, um conjunto de metodos que

visa a tornar eficiente o treino das redes neuronais atraves da propagacao de informacao sobre o erro

atraves da rede a fim de que os parametros possam ser alterados, levando assim a consequente me-

lhoria da performance da rede [42]. As redes neuronais sao compostas por varias camadas, em que as

unidades presentes em cada camada recebem os valores de entrada das unidades das camadas pre-

cedentes. Na proxima subsecao, sera falado em mais detalhe sobre as redes neuronais que possuem

somente duas camadas (entrada e saıda), tal como outros tipos de redes que possuem mais que duas

camadas, sendo estas constituıdas por unidades ocultas (hidden units).

3.2.2 Single-Layer Feed-Forward Neural Networks (Perceptron)

O Single-Layer Feed-Forward Neural Network, tambem conhecida como perceptrons, e a rede neuronal

mais simples, consistindo em apenas uma camada de unidades de saıda. Este tipo de rede e acıclica,

sendo que as unidades de saıda sao alimentadas diretamente pelas unidades de entrada. E possıvel a

classificacao de multiplas classes com apenas uma camada, sendo apenas necessario ter um softmax

group a saıda.

28

Page 45: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 3.7: Representacao grafica da funcao hard threshold (baseado em [42])

3.2.3 Multi-Layer Feedforward Networks

As redes Multi-layer feedforward sao compostas por varias camadas: camada de entrada, intermedias,

e de saıda (input, hidden e output layers, respetivamente). As camadas intermedias possuem as cha-

madas ”hidden units” que, apesar dos valores nao serem observados nos conjuntos de teste e treino,

permitem que os dados sejam nao-linearmente separados. Nao existe uma ciencia exata sobre qual

o numero de camadas intermedias e de unidades ocultas que deverao ser utilizadas a fim de obter a

performance ideal de um determinado modelo. Aquilo que e conhecido e que independentemente do

modelo, existe somente uma camada de entrada (onde o numero de neuronios corresponde ao numero

das caraterısticas) e uma de saıda (onde pode ter um ou mais neuronios, dependendo do problema).

A excecao dos neuronios de entrada, todos os outros neuronios utilizam uma funcao de ativacao

nao-linear, permitindo assim o calculo da soma ponderada dos valores das unidades de entrada e a

propagacao dos respetivos resultados para os neuronios das seguintes camadas. Este tipo de rede

permite uma separacao nao-linear.

Apos esta pequena introducao sobre estes dois tipos de redes neuronais, passemos as funcoes de

ativacao.

3.2.4 Funcao de Ativacao

O valor de saıda de cada neuronio e definido pela funcao de ativacao, tendo em conta os neuronios

de entrada com o qual este possui ligacao [43]. Podemos entao dizer que um neuronio artificial e

responsavel pelo calculo da soma dos pesos dos inputs que o mesmo recebe, sendo posteriormente

adicionado um bias e decidido se o valor devera ser ”disparado” ou nao, ou seja, qual o neuronio, da

camada que precede, que devera ser ativo. O valor de Y (neuronio de saıda) encontra-se compreendido

entre dois limites. No entanto, o neuronio nao tem conhecimento desses limites, e como tal nao sabe

quando deve ou nao ”disparar”. As funcoes de ativacao servem para verificar o valor de saıda calculado

por um neuronio e decidir quais as ligacoes que, oriundas deste neuronio, deverao ser ativas ou nao.

29

Page 46: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Funcao Step

A forma como as funcoes de ativacao decidem quais as ligacoes que sao ativas baseiam-se nos cha-

mados thresholds (valor predefinido que o resultado da funcao de ativacao devera exceder a fim de

ativar uma ligacao). Imaginemos um threshold cujo valor e 0. Caso o valor de Y ultrapasse esse

threshold, a funcao de ativacao ativara as ligacoes posteriores, caso contrario nao as ativara. Este

processo, conhecido como Binary Step Function, encontra-se representado na equacao 3.14 e repre-

sentado visualmente na Figura 3.7 e e utilizado em classificadores binarios (2 classes) em que os

possıveis resultados podem ser o valor 0 ou 1 (ativar ou nao ativar uma ligacao). No entanto e bastante

provavel que tenhamos que lidar com um classificador que possui mais que duas classes, resultando

na ativacao de multiplos neuronios, surgindo a questao ”A que classe corresponde?”.

f(x) =

0 for x < 0

1 for x >= 0(3.14)

A funcao de step dificulta o treino e convergencia de um modelo. Imaginemos que estamos perante

um classificador de dıgitos escritos a mao e que pretendemos classificar cada um destes dıgitos. Para a

classificacao de dıgitos o ideal seria que a ativacao fosse um pouco mais variavel, nao retornando ape-

nas se uma ligacao foi ativada (20% ativada, 40% ativada, etc.). Mesmo que multiplos neuronios fossem

ativos, somente era necessario procurar o neuronio com maior ativacao, e assim sucessivamente.

Funcao Linear

A funcao linear, representada matematicamente na equacao 3.15, e uma funcao em que a ativacao

e proporcional ao valor do neuronio de entrada, permitindo assim a interligacao de multiplos neuronio

e, caso haja mais que um neuronio que seja ativo possa ser escolhido aquele com maior ativacao.

No entanto, existe um problema e este encontra-se relacionado com o Gradient Descent [44]. Como

exemplificado anteriormente, na Seccao 3.1, a derivada desta funcao linear resulta numa constante,

ou seja, o Gradient Descent sera sempre constante. Mesmo que hajam erros na previsao do valor

de saıda, os valores resultantes do backpropagation serao sempre constantes. Um outro problema e

o facto de cada camada intermedia ser ativa por uma funcao linear, resultando assim, no final, numa

funcao linear. Como tal, este tipo de funcao de ativacao nao permite resolver problemas nao-lineares,

o que nos leva a funcao Sigmoid.

f(x) = constant ∗ x (3.15)

Funcao Sigmoid

A funcao sigmoid, que se encontra representada visualmente na Figura 3.8 e representada matemati-

camente na equacao 3.16, e uma funcao nao-linear, permitindo assim a resolucao de problemas com

multiplas classes e camadas intermedias. O seu intervalo e compreendido entre os valores 0 e 1. Ape-

sar de ser uma funcao bastante utilizada, como e possıvel observar na Figura 3.8, o valor de Y tem

30

Page 47: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

a tendencia para mudar muito pouco em relacao as mudancas realizadas em X, o que significa que a

rede chega ao limite da aprendizagem, ou a mesma demora mais tempo. Passamos entao ao exemplo

de uma outra funcao de ativacao, a funcao Tanh.

f(x) =1

1 + e−x(3.16)

Figura 3.8: Representacao grafica da funcao Sigmoid (baseado em [42])

Funcao Tanh (Hyperbolic Tangent)

A funcao de ativacao Tanh, como e possıvel observar na Figura 3.9, e semelhante a funcao sig-

moid e permite a resolucao de problemas nao-lineares. Se formos a comparar a equacao 3.17 com

a equacao 3.16, e possıvel verificar quao semelhantes sao. O seu intervalo, tal como o da funcao

simgoid, encontra-se compreendido entre os valores -1 e 1. Vale notar que em termos de gradiente,

as derivadas sao mais acentuadas. No entanto esta funcao possui o mesmo problema que a funcao

sigmoid, em que a partir de uma altura (inclinacao aproxima-se do zero), o desenvolvimento em termos

de aprendizagem nao e muito significante.

f(x) = tanh(x) =2

1 + e−2x− 1 = 2 sigmoid(2x)− 1 (3.17)

Figura 3.9: Representacao grafica da funcao Tanh (baseado em [44])

31

Page 48: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 3.10: Representacao grafica da funcao ReLu (baseado em [44])

Funcao ReLu

A funcao ReLu, representada matematicamente na equacao 3.18 e graficamente na Figura 3.10, e um

pouco diferente, onde devolve um valor de saıda igual ao valor de entrada, caso este seja positivo. Caso

contrario, devolve o valor 0. A funcao ReLu e nao-linear, e a utilizacao do ReLu nas varias camadas

intermedias resulta tambem numa funcao nao-linear. Relativamente as funcoes Sigmoid e Tanh, esta

difere nos intervalos, compreendidos entre 0 e infinito, o que significa que pode quebrar a ativacao.

A utilizacao das funcoes de ativacao Sigmoid e/ou Tanh faz com que a ativacao dos neuronios numa

rede seja mais densa e com elevado custo, pois maior parte de todas as ativacoes serao processadas

a fim de retornar o valor de saıda de uma rede. O ReLu, neste caso, acaba por ser benefico devido

a condicao que o mesmo apresenta: para valores negativos de X retorna o valor 0, o que significa

que havera menos unidades a serem ”ativas” (ativacao esparsa), o que torna a rede mais simples e

computacionalmente mais leve.

No entanto, devido a condicao do ReLu de os valores que sao negativos tomarem o valor 0, isto faz

com que os neuronios deixem de variar em funcao ao erro. Como tal, estes neuronios deixam de ter

um papel na aprendizagem da rede. O LeakyReLu, representada matematicamente na equacao 3.19,

surge como uma tentativa de resolver este mesmo problema, onde valores que sao negativos tomam

um pequeno valor negativo de modo a evitar aquilo a que chamamos ”dying ReLu”.

f(x) = maximum(x, 0) (3.18)

f(x) =

ax for x <= 0

x for x > 0(3.19)

onde a = 0.01, por exemplo.

3.2.5 A escolha da funcao de ativacao

Nas Seccoes anteriores foram mostradas algumas das funcoes de ativacao existentes, sendo estas as

funcoes que mais sao utilizadas durante o treino de redes. Foram identificadas algumas das suas cara-

32

Page 49: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

terısticas, alguns dos seus pontos fracos, e foram realizadas algumas comparacoes entre as mesmas.

A escolha da funcao de ativacao depende, maior parte das vezes, do tipo de problema para o qual se

treina uma rede e da performance que cada uma dessas funcoes e capaz de entregar. Como tal, e

necessario ter conhecimento de como cada uma das funcoes de ativacao funciona antes de as mes-

mas serem utilizadas [44]. Tendo em conta todos estes aspetos, serao utilizados neste projeto a funcao

de ativacao Sigmoid, por ser mais agil no processo de treino e de convergencia e por ser das funcoes

mais convenientes para classificadores, e a funcao ReLu, por ser uma das funcoes mais utilizadas na

aprendizagem profunda (Deep Learning). No entanto, a performance tera um grande peso na questao

de escolha. Como tal, sera tambem experimentada a funcao Tanh.

3.2.6 Funcao de Custo - Redes Neuronais

Como referido na Seccao 3.1, as funcoes de custo permitem a analise de modelos com o principal

objetivo de avaliar o quanto o valor previsto se afasta do valor real. Nas redes neuronais, e tambem

utilizada a funcao de custo a fim de verificar esta diferenca. Na equacao 3.21 temos representada a

funcao de custo que e utilizada nas redes neuronais, que e nada mais que uma generalizacao da funcao

de custo para a regressao logıstica regularizada (equacao 3.20), com alteracoes que possibilitam ter

em conta variaveis como as camadas, neuronios e os valores de saıda [24].

Na primeira parte da equacao 3.21 temos dois somatorios que percorrem o numero de neuronios

de saıda. Estes dois somatorios tratam por somar os custos de regressao logıstica calculados para

cada celula na camada de saıda. Na segunda parte da equacao (regularizacao), sao consideradas as

multiplas matrizes θ, onde o numero de colunas na atual matriz θ corresponde ao numero de unidades

na atual camada e o numero de linhas na atual matriz corresponde ao numero de unidades da proxima

camada. Os tres somatorios simplesmente somam os quadrados de todos os θ individuais em toda a

rede.

A fim de minimizar a funcao de custo, sao utilizados algoritmos de otimizacao, como por exemplo

o Gradient Descent, como referido na Seccao 3.1, que iteram sobre os dados de treino e ajustam

os parametros (pesos e bias) do modelo. No entanto, com o proposito de possibilitar a utilizacao do

Gradient Descent, ou qualquer outro algoritmo avancado de otimizacao, e necessario um algoritmo que

”pegue” no parametro Θ e que calcule a funcao de custo (equacao 3.21) e as derivadas parciais destes

termos, o que nos leva ao algoritmo Backpropagation.

J(Θ) = − 1

m

m∑i=1

[y(i)log(hΘ(x(i))) + (1− y(i))log(1− (hΘ(x(i)))]

2m

n∑j=1

Θ2j

(3.20)

onde

33

Page 50: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

λ2m

∑nj=1 Θ2

j → termo de regularizacao;

λ→ fator de regularizacao.

J(Θ) = − 1

m

m∑i=1

K∑k=1

[y(i)k log((hΘ(x(i)))k) + (1− y(i)

k )log(1− (hΘ(x(i)))k)]

2m

L−1∑l=1

sl∑i=1

sl+1∑j=1

(Θ(l)j,i)

2

(3.21)

onde

L→ representa o numero total de camadas na rede;

sl → numero de unidades (sem contar com o bias) na camada l;

K → numero de unidades de saıda;

i, j, l→ l e o numero da camada, i e o node da camada l − 1 e j e o node da camada l;

3.2.7 Algoritmo Backpropagation

Este algoritmo permite o calculo das derivadas parciais da funcao de custo para uma rede neuronal, que

sao posteriormente utilizadas nos algoritmos de otimizacao. Tem como principal objetivo a minimizacao

da funcao de custo atraves da utilizacao de um conjunto otimizado de parametros Θ. Visto ser um

processo bastante complexo encontrar os parametros ideais, e realizado um processo iterativo, onde

os parametros sao lentamente atualizados na direcao correta. Para tal, e necessario ter conhecimento

da direcao da inclinacao (slope), computado atraves da derivada parcial de J(Θ), isto e, ∂

∂Θ(l)i,j

J(Θ).

O termo backpropagation origina do facto de os termos δ serem calculados partindo da camada de

saıda para as camadas anteriores e calculando o valor δ. No core do backpropagation encontra-se

uma expressao para a derivada parcial, ∂

∂Θ(l)i,j

J(Θ), da funcao de custo J em relacao a qualquer peso

(weight) na rede neuronal que permite que nos seja indicada a rapidez com a qual o custo muda quando

alterados os valores dos pesos e bias. Por outras palavras, o algoritmo backpropagation oferece escla-

recimentos mais detalhados sobre como mudar os pesos e os bias a fim de alterar o comportamento

geral da rede.

Dado um conjunto de treino com m exemplos, sao inicializados a 0 os valores ∆(l)i,j para todos os

valores i,j,l, em que ∆, que corresponde ao erro dos neuronios presentes em cada camada. O ∆ sera

utilizado para calcular a derivada parcial com respeito a Θ(l)i,jJ(Θ).

Em primeiro lugar e feito o forward propagation de modo a calcular os valores de ativacao para cada

um dos neuronios presentes em cada uma das camadas que constitui a rede neuronal em questao,

como e possıvel observar na Figura 3.11.

Apos realizado o forward propagation, e seguindo o exemplo da rede neuronal representada na Fi-

gura 3.11, e calculado o erro de cada neuronio presente na camada 4 (camada de saıda), representado

34

Page 51: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 3.11: Representacao grafica de uma rede neuronal feedforward (baseado em [24])

por δ(L)j = a(L) − y(i), onde L e o numero total de camadas e a(L) o vetor dos valores de saıda das

unidades de ativacao da ultima camada (valores previstos) e y(i) o valor real (onde i corresponde ao

numero do exemplo presente no conjunto de treino, para i = 1 ate m).

Apos o calculo dos erros dos neuronios da ultima camada, e calculado o erro dos neuronios das

camadas anteriores, neste caso as camadas 3 e 2. As equacoes utilizadas para calcular os erros das

camadas 3 e 2 encontram-se representadas nas equacoes 3.22 e 3.23 respetivamente. Nao existe o

δ(1) pois a camada 1 corresponde a camada de entrada, ou seja, as caraterısticas (features) observadas

no conjunto de dados (neste caso, o conjunto de treino), nao existindo assim nenhum erro associado

a esses valores. Na funcao 3.24 temos uma generalizacao, em que os valores δ da camada l sao

calculados atraves da multiplicacao dos valores δ da camada seguinte com a matriz Θ da camada l.

Seguidamente e feito a multiplicacao (produto escalar) com uma funcao chamada g’, que e a derivada

da funcao de ativacao g avaliada com os valores de entrada dados por z(l).

δ(3) = (Θ(3))T δ(4). ∗ g′(z(3)) (3.22)

δ(2) = (Θ(2))T δ(3). ∗ g′(z(2)) (3.23)

δL−1, δL−2, ..., δ2, utilizando δl = ((Θ(l))T δl+1). ∗ a(l). ∗ (1 − a(l)) (3.24)

onde g′(z(l)) = a(l). ∗ (1− a(l)), como descrito por Andrew Ng.

Apos calculados os valores δ, como representado na equacao 3.24, os termos ∆ sao utilizados para

acumular os termos das derivadas parciais descritos anteriormente, a(l)j δ

l+1i , como pode ser visto na

35

Page 52: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

equacao 3.25.

∆lij := ∆

(l)ij + a

(l)j δi

(l+1) (3.25)

Seguidamente, ao serem calculados os valores de ∆ para todos os exemplos do conjunto de treino

(1,...,m), sao calculados os termos D, como e possıvel observar nas equacoes 3.26 e 3.27. Atraves dos

termos D, representados nas duas equacoes mencionadas anteriormente, torna-se possıvel calcular

a derivada parcial da funcao de custo, como e possıvel observar na equacao 3.28, que por sua vez

podem ser utilizados no Gradient Descent ou em qualquer outro algoritmo de otimizacao avancada.

D(l)i,j :=

1

m(∆

(l)i,j + λΘ

(l)i,j), if j 6= 0 (3.26)

D(l)i,j :=

1

m∆

(l)i,j , if j = 0 (3.27)

∂Θ(l)ij

J(Θ) = D(l)ij (3.28)

36

Page 53: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Capıtulo 4

Exemplo de Geracao Procedimental

usando Redes Neuronais

No presente capıtulo e dado a ilustrar uma tecnica que pode ser utilizada para gerar procedimental-

mente casos clınicos, atraves da explicacao das Redes Adversariais Generativas e sua aplicacao num

exemplo de dıgitos escritos a mao.

4.1 Redes Adversariais Generativas

Este projeto tem como finalidade o estudo e analise de um dataset de casos clınicos e consequente

proposta de um modelo capaz de gerar casos clınicos tendo como base casos clınicos reais. Para tal, e

necessaria a criacao de dois tipos de redes, generativas e discriminativas, conhecidas como Redes Ad-

versariais Generativas (Generative Adversarial Networks - GAN). Introduzidas por Ian Goodfellow et al.

[45], a fim de as compreender sera explicado o funcionamento das redes generativas e discriminativas.

4.1.1 Algoritmos Generativos e Discriminativos

Os algoritmos discriminativos sao responsaveis por realizar a previsao de uma categoria ao ser facul-

tado um conjunto de caraterısticas, isto e, modelos que aprendem a limitar as diferentes categorias,

enquanto que os algoritmos generativos tentam fazer a previsao de caraterısticas para uma determi-

nada categoria.

Estes algoritmos podem ser expressos matematicamente, de forma bastante simples. Seja y a

categoria, e x as caraterısticas. No caso dos algoritmos discriminativos, queremos saber qual a proba-

bilidade de y acontecer dado x, denotado por p(y | x), enquanto que no caso dos algoritmos generativos

queremos saber a probabilidade de x acontecer dado y, denotado por p(x | y) [46].

Dando um exemplo destes algoritmos dentro do contexto de casos clınicos, o objetivo dos modelos

discriminativos e aprender a classificar o diagnostico de um caso clınico real como sendo hipertensao

ou nao. No caso dos algoritmos generativos, estes tem como objetivo descobrir qual a probabilidade

37

Page 54: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

de um caso clınico possuir um determinado conjunto de caraterısticas visto que se trata de um caso de

hipertensao.

4.1.2 Funcionamento das Redes Adversariais Generativas

As Redes Adversariais Generativas, como o nome da a entender, consistem em duas redes neuronais:

uma chamada ”gerador”, que gera novos exemplos, e o ”discriminador”, que avaliara se um determinado

exemplo foi gerado ou se pertence a um conjunto de dados real.

Dentro do contexto dos casos clınicos, o papel do gerador e criar novos casos clınicos tendo em

conta casos clınicos reais, enquanto que o papel do discriminador e ser capaz de distinguir os casos

clınicos reais daqueles que foram gerados. Na Figura 4.1 encontra-se representado os passos que sao

tomados pelas GAN.

Figura 4.1: Passos tomados nas Redes Adversariais Generativas (baseado em [46])

Durante as pesquisas acerca das GAN foi encontrado um repositorio no GitHub que providenciava

o codigo que permitia a geracao de dıgitos escritos a mao [47], utilizando MNIST [48] para o treino dos

modelos. Apos a realizacao de algumas alteracoes ao codigo Python, foi possıvel verificar milhares

de exemplos de dıgitos escritos a mao gerados pela GAN que se assimilavam bastante com os dados

reais da MNIST. Na Figura 4.2 temos exemplos de alguns dıgitos gerados pelas GAN.

No exemplo das Redes Adversariais Generativas descrito em [47], sao utilizados dois tipos de mo-

delos: o Discriminador e o Gerador. Ambos os modelos utilizam a funcao de otimizacao Adam e como

funcao de custo o Binary Crossentropy. O Binary Crossentropy e uma funcao de custo utilizada na

classificacao de multiplas caraterısticas e e independente para cada classe, isto e, o conhecimento

de um elemento pertencente a uma determinada classe nao influencia a tomada de decisao de outra

classe. E chamado de binary crossentropy pois estabelece um problema de classificacao binaria entre

2 classes (0,1) para todas as classes existentes no problema (dıgitos compreendidos entre 0 e 9).

Modelo Discriminador A fim de discriminar as imagens de dıgitos escritos a mao, o autor deste

processo recorreu ao uso das redes neuronais. No total foram utilizadas 4 camadas, sendo que a

camada de input era composta por 784 neuronios (que corresponde aos 28x28 pixels de cada uma das

imagens), 2 camadas intermedias (512 e 256 neuronios, respetivamente) e a camada de output com

somente 1 neuronio. Nas primeiras camadas foram utilizadas, como funcao de ativacao, o LeakyReLU,

com α = 0.2, e na ultima camada foi utilizada a funcao de ativacao Sigmoid. A diferenca entre o ReLU

38

Page 55: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 4.2: Dıgitos gerado pelas GAN

e o LeakyReLU e que enquanto que a derivada do ReLU e 1 na parte positiva e 0 na parte negativa,

o LeakyReLU e 1 na parte positiva e uma pequena fraccao na parte negativa. Foi tambem utilizada

batch normalization, que tem como objetivo reduzir a quantidade pela qual o valor das unidades ocultas

variam.

Modelo Gerador A fim de possibilitar a geracao de dıgitos escritos a mao, o autor recorreu ao uso

das redes neuronais. No total foram utilizadas 5 camadas, sendo que a camada de input era composta

por 100 neuronios (correspondente ao array com o valor de cada um dos 100 pixels), 3 camadas

intermedias (256, 512, 1024 neuronios, respetivamente) e a camada de output com 784 neuronios,

que consequentemente e remodelada para a forma de 28x28. Nas primeiras camadas foram utilizadas,

como funcao de ativacao, o LeakyReLU, com α = 0.2, e na ultima camada foi utilizada a funcao de

ativacao Tanh.

Treino das Redes Adversariais Generativas Apos a construcao de ambos os modelos, Discrimina-

dor e Gerador, cada um deles foi treinado. Para o treino do modelo discriminador foram selecionadas,

aleatoriamente, algumas imagens reais de dıgitos escritos a mao do repositorio MNIST e gerado ruıdo.

Foi introduzido no modelo gerador esse ruıdo e obteve-se uma imagem gerada. Seguidamente, o mo-

delo discriminador treinava, simultaneamente, nas imagens reais e nas imagens geradas pelo modelo

gerador. O treino do modelo gerador foi realizado atraves da geracao de imagens atraves de ruıdo que

consequentemente sao classificadas pelo discriminador a fim de efetuar a validacao.

Foi tambem treinado um modelo que permitisse a classificacao de dıgitos escritos a mao, no entanto

seguindo uma abordagem um pouco diferente da mencionada em [47] e utilizando um outro dataset.

39

Page 56: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

4.1.3 Treino de Modelo para reconhecimento de dıgitos escritos a mao

O dataset utilizado para treinar o modelo em questao foi retirado de [49], sendo composto por 10

classes (0 a 9), em que cada uma das classes possui, aproximadamente, 180 exemplos de imagens,

perfazendo 1797 imagens e 64 caraterısticas (8x8 pixels).

A fim de ter uma ideia de qual o numero de camadas intermedias e o numero de neuronios que

cada uma dessas camadas poderia ter, foi adoptada a abordagem descrita em [50], onde o autor Huang

apresentou que o numero suficiente de neuronios para a primeira e segunda camada intermedia, na pior

das hipoteses, e calculado atraves das equacoes 5.5 e 5.6 respetivamente. Como tal, foram treinados

varios modelos, sendo estes constituıdos por uma camada de input composta por 64 neuronios, 2

camadas intermedias com 171 e 122 neuronios respetivamente, e uma camada de output composta

por 10 neuronios.

Inicialmente foram utilizados parametros default, tais como:

• alpha → 0.0001;

• Taxa de aprendizagem inicial→ 0.001;

• No maximo iteracoes→ 200;

Nas Figuras 4.3 e 4.4 temos representado a precisao de varios modelos, com diferentes funcoes de

ativacao, ao longo de varias iteracoes. Enquanto que na Figura 4.3 foi utilizado o metodo de otimizacao

Adam para cada um dos modelos, na Figura 4.4 foi utilizado o metodo de otimizacao SGD.

Figura 4.3: Precisao dos modelos utilizando Adam como metodo de otimizacao

40

Page 57: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 4.4: Precisao dos modelos utilizando SGD como metodo de otimizacao

Com base nas Figuras 4.3 e 4.4, foi construıda a Tabela 4.1 de modo a facilitar a tomada de decisoes.

Como e possıvel verificar na Tabela 4.1, obteve-se melhores resultados quando utilizada as funcoes de

ativacao ReLu e Tanh e metodo de otimizacao Adam. Como tal, procedeu-se a criacao de novos

modelos utilizando estas mesmas funcoes de ativacao e metodo de otimizacao que demonstraram ter

uma melhor performance, modificando somente os valores da taxa inicial da aprendizagem e o valor de

alpha.

Funcoes de ativacaoReLu Logistic Identity Tanh

treino teste treino teste treino teste treino testeMetodos deOtimizacao

sgd 100% 97% 91% 88% 100% 96% 100% 97%adam 100% 98% 100% 97% 100% 96% 100% 98%

Tabela 4.1: Performance dos modelos de dıgitos

41

Page 58: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 4.5: Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, variando osvalores da taxa inicial de aprendizagem e o valor de alpha

Como e possıvel observar na Figura 4.5, foram utilizados diferentes valores para a taxa inicial de

aprendizagem e para o valor de alpha, funcao de ativacao ReLu e metodo de otimizacao Adam. Em

termos de performance, os varios modelos apresentam resultados semelhantes quando a taxa inicial

de aprendizagem toma o mesmo valor e somente o valor de alpha varia. No entanto, verifica-se uma

performance um pouco mais elevada no modelo cuja taxa inicial de aprendizagem e valor de alpha sao

0.01 e 0.0001 respetivamente.

Na Figura 4.6 temos representado os varios valores de precision, recall e f1-score, obtidos do mo-

delo em que foi utilizada a funcao de ativacao ReLu, otimizado com Adam e cuja taxa inicial de apren-

dizagem e valor de alpha sao 0.01 e 0.0001 respetivamente.

Na Seccao 3.1.1 encontra-se explicado, em maior detalhe, o significado de Accuracy, Precision,

Recall e F1-Score. No entanto, aqui se encontra descrito de forma mais resumida:

42

Page 59: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

• precision→ eficacia do classificador nao classificar como positivo uma amostra que e negativa;

• recall → eficacia do classificador encontrar todas as amostras positivas;

• f1-score → media ponderada do precision e recall ;

• support → no de ocorrencias de cada classe em que o valor previsto corresponde ao numero

real;

Figura 4.6: Relatorio de Classificacao de dıgitos

Na Figura 4.7 temos representados varios modelos em que foram utilizados diferentes valores para

a taxa inicial de aprendizagem e para o valor de alpha, tendo sido utilizada a funcao de ativacao Tanh

e o metodo de otimizacao Adam. Apesar de se notar um ”pico” no modelo cuja taxa de aprendizagem

inicial e o valor de alpha tomam os valores 0.01 e 0.1 respetivamente, os modelos apresentam uma

performance semelhante, tal como no exemplo mostrado na Figura 4.5.

Na figura 4.8 encontra-se representada o relatorio de classificacao de dıgitos para o modelo cuja

taxa de aprendizagem inicial e valor de alpha tomam os valores 0.001 e 0.1 respetivamente, no qual foi

utilizada a funcao de ativacao Tanh e o metodo de otimizacao Adam.

Figura 4.8: Relatorio de Classificacao de dıgitos

Apesar de ter sido possıvel obter uma excelente performance utilizando somente os hiperparametros

default, foi decidido mostrar os resultados de varios modelos com diferentes hiperparametros, funcao

de ativacao e metodo de otimizacao, como e possıvel observar na Seccao 4.1.3. Em cada um dos

43

Page 60: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 4.7: Precisao dos modelos com funcao de ativacao Tanh, otimizado com Adam, variando osvalores da taxa inicial de aprendizagem e o valor de alpha

modelos apresentados foram utilizadas apenas duas camadas intermedias, cada uma dessas camadas

com um numero de neuronios calculado atraves da equacao apresentada no artigo [50].

Na tabela 4.1, como e possıvel observar, foram experimentados modelos com diferentes funcoes de

ativacao (ReLu,Logistic, Identity e Tanh), e diferentes metodos de otimizacao (SGD e Adam). Apesar

de maior parte dos modelos apresentarem excelentes resultados, tanto durante o treino como no teste

do dataset, a utilizacao da funcao de ativacao Logistic com o metodo de otimizacao SGD fez dimi-

nuir, consideravelmente, 9% e 10% (treino e teste respetivamente) em relacao ao modelo com melhor

performance.

Ao serem utilizados diferentes valores para a taxa inicial de aprendizagem e o valor de alpha nos

varios modelos, estes demonstraram uma performance semelhante, apesar da existencia de dois casos

em que se verificou um ”pico” na performance cuja razao pelo sucedido mostrou ser desconhecido.

44

Page 61: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

4.2 Conclusoes

As Redes Adversariais Generativas sao algo bastante promissor, tendo sido consideradas ”a ideia mais

interessante dos ultimos 10 anos no ramo da Aprendizagem Automatica” por Yann LeCun, Diretor de

pesquisa de inteligencia artificial do Facebook [51]. Posto isto, e gracas ao potencial ja demonstrado

com a utilizacao deste tipo de redes, tais como a geracao de arte [52], de paisagens atraves do de-

senho de rabiscos [53], existe um tremendo potencial na utilizacao das GAN para a geracao de casos

clınicos tendo como base um dataset composto de casos clınicos reais, com resultados e informacoes

pertinentes relativas ao paciente.

Atraves da geracao de casos clınicos, e atraves de um modelo capaz de realizar a classificacao

de diagnosticos destes mesmos casos, deixam de existir problemas relativos a confidencialidade dos

dados, permitindo, por outro lado, o treino do raciocınio clınico por parte dos clınicos e estudantes de

medicina, e a preparacao dos mesmos para a descodificacao e resolucao de casos clınicos reais sem

ter que colocar a vida de um paciente em risco.

A utilizacao das Redes Adversariais Generativas na area da medicina podera demonstrar ser bas-

tante benefica, tanto para os pacientes como para os clınicos, pois pode garantir uma melhor preparacao

dos estudantes de medicina e clınicos atraves da resolucao de casos clınicos gerados por modelos que

aprenderam atraves de casos clınicos reais. No entanto, o seguimento desta abordagem suscita al-

gumas questoes: serao estes tipos de redes capazes de respeitar a correlacao entre sintomas? Sera

necessario o envolvimento de uma entidade que tenha um conhecimento alargado sobre este assunto

(hipertensao) a fim de validar os sintomas gerados?

45

Page 62: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

46

Page 63: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Capıtulo 5

Analise do Dataset

5.1 Base de Dados

Na Seccao 3.2 foi falado sobre as Redes Neuronais, dos varios tipos de estrutura que as mesmas

podem ter, as funcoes de ativacao e de custo e os diferentes algoritmos aplicados as redes neuronais

de forma a obter melhor performance. Apesar de existir imenso conteudo acerca das redes neuronais e

diversas variantes, foram somente abordadas as que serao utilizadas ao longo do projeto em questao.

Posto isso, passamos a parte em que e abordado o conjunto de dados utilizado no projeto, isto e, a

base de dados escolhida, os varios passos tomados a fim de obter acesso a mesma, a sua constituicao

e os tipos de dados que foram utilizados ao longo do desenvolvimento.

5.1.1 Escolha da Base de Dados e o respetivo acesso

De modo a proceder a resolucao do problema exposto na proposta de projeto, surgiu, durante uma

das pesquisas iniciais, uma Base de Dados completa de resultados, informacoes e dados pertinentes

a casos clınicos relativos a pacientes que se encontraram internados nos cuidados intensivos do Beth

Israel Deaconess Medical Center, Boston, Massachusetts.

A escolha desta Base de Dados deveu-se ao facto de ter mostrado ser um repositorio completo

de casos clınicos, todos eles resolvidos por profissionais de saude, com relatorios pormenorizados

dos procedimentos realizados, resultados de exames e testes, medicacao administrada, sinais vitais,

codigos de procedimentos e diagnosticos, entre muitos outros.

A base de dados em questao, conhecida como MIMIC-III (Medical Information Mart for Intensive

Care) [3] e nada mais nada menos que um conjunto de varias tabelas, ligadas entre si e com algumas

dependencias, com registos medicos eletronicos (EMR - Electronic Medical Record). Um outro ponto

positivo e o facto de ser acessıvel a todos aqueles que demonstram interesse em utilizar o seu conteudo

em projetos academicos, pesquisas industriais, iniciativas cujo proposito seja melhorar a qualidade de

vida das pessoas, no ensino e/ou ate mesmo auxiliar na tomada de decisao num determinado caso

clınico.

A versao mais atual do MIMIC-III (v1.4), que foi utilizada para o desenvolvimento deste projeto,

47

Page 64: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

possui mais de 58,000 entradas no hospital entre junho de 2001 e outubro de 2012. Apesar de conter

alguns campos que foram alterados ou omitidos, nomeadamente nomes de pacientes, medicos e datas

de nascimento, contem na mesma uma enorme quantidade de informacao detalhada que devera ser

lidada com o maior cuidado e responsabilidade. Como tal, e de modo a permitir aos interessados o

acesso a este tipo de dados e informacoes ”pessoais”, e necessario o registo e conclusao no curso

”Data or Specimens Only Research” no website de ”CITI Program”, como descritos em [3, 54].

Apos a conclusao do curso mencionado anteriormente, devera ser enviado o relatorio de conclusao,

disponibilizado no Apendice A, que descreve todos os modulos completos, com a data de realizacao

e respetiva pontuacao, utilizando o endereco que se encontra em [55], preencher os campos que sao

solicitados, e esperar ate que a inscricao seja aprovada.

Tendo acesso a MIMIC, e necessario perceber a sua organizacao a fim de construir o conjunto de

dados a ser utilizado durante o desenvolvimento do projeto.

5.1.2 Construcao do Dataset

A fim de desenvolver um mecanismo de Aprendizagem Automatica que aprenda quais os sintomas,

acoes e tratamentos que devem ser ensinados, partindo da informacao de casos clınicos reais, e ne-

cessario perceber como se encontra organizada a base de dados, que tipos de informacao esta possui,

como e que as varias tabelas que a compoem se encontram interligadas, e quais os dados que deverao

ser tomados em conta de forma a que os varios objetivos delineados sejam alcancados.

Como ponto de partida, e de modo a perceber quais os tipos de problemas que a maior parte

dos pacientes apresentava ao dar entrada nos cuidados intensivos no centro medico em questao, foi

realizada uma pesquisa a base de dados com o proposito de obter os 10 diagnosticos mais comuns,

e o respetivo numero de pacientes. Como e possıvel verificar na Figura 5.1, a hipertensao e um dos

principais diagnosticos detetados. Um outro aspeto que vale a pena ser mencionado e o facto de

que cada paciente, apos a realizacao dos diversos testes e alta hospitalar, possa ter mais que um

diagnostico associado ao seu caso clınico, levando a hipotese de a hipertensao nao ser a principal

causa que levou a entrada nos cuidados intensivos. Nao obstante, foi decidido que o presente projeto

se centraria nos casos de hipertensao, pois o nao devido controlo podera levar a ocorrencia de serios

problemas, tais como os AVC’s (Acidente Vascular Cerebral), insuficiencia cardıaca, ataque cardıaco,

entre outros [56–58].

A Hipertensao Arterial e uma doenca que normalmente nao causa sintomas, sendo necessario que

haja uma monitorizacao ativa da saude das pessoas, a adopcao de um estilo de vida saudavel e ativo,

a fim de serem evitadas repercussoes. Segundo um estudo realizado pelo Professor Mario Espiga de

Macedo, denominado ”A Hipertensao Arterial em Portugal 2013”, existem varios fatores que deverao

ser tomados em conta, alem da pressao arterial, tais como [57, 59]:

• Peso;

• Altura;

48

Page 65: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 5.1: Diagnosticos mais comuns

• Medicao Abdominal;

• Diabetes;

• Nıvel de Colesterol;

• Consumo de alcool;

• Consumo excessivo de sal derivado da alimentacao;

• Sedentarismo;

• Stress.

Tendo em conta os diferentes fatores responsaveis pela hipertensao arterial, foram gerados varios

datasets (conjuntos de dados). Um dos primeiros datasets gerados continha os valores das analises

clınicas dos pacientes. Apesar de nao conter as caraterısticas (features) utilizadas na verificacao e/ou

controlo da hipertensao arterial, os dados foram utilizados com o objetivo de treinar um modelo e

verificar se tal era possıvel deduzir se o paciente tinha hipertensao ou nao. Partindo deste dataset,

foram criadas varias versoes com diferentes numeros de features, com o objetivo de se verificar se

melhores resultados eram obtidos.

Um outro dataset utilizado teve mais em conta os fatores descritos acima, isto e, os fatores de risco

que levam a hipertensao, tendo sido utilizadas features tais como:

• Sexo;

• Dores no peito;

49

Page 66: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

• Padrao de Respiracao do paciente;

• Doenca arterial coronaria;

• Doenca vascular cerebral;

• Insuficiencia cardıaca congestiva;

• Infarte no miocardio;

• Doenca vascular periferica;

• Utilizacao de pacemaker;

• Doencas detetadas atraves do eletrocardiograma;

• Historial consumo de tabaco;

• Medicao abdominal;

• Batimento cardıaco;

• Pressao arterial sistolica e distolica;

• Pressao arterial sistolica e distolica nao invasiva;

• Frequencia respiratoria.

Para a construcao do dataset a ser utilizado para treinar a rede neuronal, foram obtidos os dados,

resultados de exames, analises clınicas, medicoes do batimento cardıaco, pressao arterial sistolica e

distolica dos pacientes que apresentavam o sintoma de hipertensao, e dos pacientes que nao apre-

sentavam o sintoma de hipertensao. Apos obtidos os dados dos pacientes que seguiam os criterios

previamente mencionados, os mesmos compuseram uma tabela, onde cada linha dessa tabela corres-

pondia a um paciente, e cada coluna correspondia a uma determinada feature (i.e. batimento cardıaco,

peso, altura, etc). A fim de serem distinguidos quais os pacientes que tinham hipertensao e os que

nao tinham, foi criada uma nova coluna (posicionada no extremo direito da tabela) identificada como

”Class”. Para os pacientes com hipertensao eram atribuıdos o valor 1 na coluna ”Class”, e o valor 0

para os pacientes sem hipertensao.

Esta tabela, na area de Aprendizagem Automatica, denominada por dataset, permite que um mo-

delo seja treinado e testado a fim de que ao serem introduzidos novos dados este consiga prever o

resultados, isto e, tendo em conta os dados introduzidos prever se o paciente em questao apresenta

ter indıcios de hipertensao ou nao.

A construcao de um modelo preditivo de sucesso depende bastante dos dados selecionados e da

forma como os mesmos sao utilizados. No entanto, o dataset em questao nao se encontra preparado

para ser introduzido num modelo, pois existem varios fatores que deverao ser tomados em conta antes

de ser iniciado o treino e consequente teste do modelo.

50

Page 67: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Lidar com os valores em falta

Os valores em falta sao uma representacao do mundo real, pois representam a introducao erratica dos

dados no sistema devido a fatores humanos, leitura incorreta por parte dos sensores, bugs informaticos,

entre outros. Na Aprendizagem Automatica estes tipos de dados em falta podem ser separados em 3

partes:

• Missing completely at random (MCAR): os dados em falta sao independentes dos parametros

observados e nao observados. Ocorrem aleatoriamente;

• Missing at random (MAR): os valores em falta nao sao aleatorios, mas podem ser deduzidos por

variaveis onde a informacao se encontra completa;

• Missing not at radom (MNAR): os valores em falta estao relacionados com a relacao pela qual nao

existem.

Ao serem analisados estes 3 mecanismos que identificam as varias razoes pelo qual existem dados

em falta, conclui-se que os varios datasets utilizados neste projeto possuem dados do tipo MNAR.

Em virtude da natureza deste projeto, e perfeitamente normal a inexistencia de dados para muitas

das caraterısticas que este dataset apresenta, pois nem todos os pacientes apresentam os mesmos

sintomas e/ou diagnosticos. Existem varias formas de lidar com os valores em falta, como e possıvel

verificar na Figura 5.2, tais como:

• Remocao das colunas (caraterısticas) e/ou linhas (pacientes) cuja percentagem de dados em falta

ultrapasse um determinado valor;

• Imputacao de valores atraves de:

– Media;

– Mediana;

– Previsao dos valores em falta atraves do treino de uma rede neuronal [60].

Figura 5.2: Formas de lidar com os valores em falta

51

Page 68: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Contudo, nao existe uma forma ideal de lidar com os mesmos. Como tal, e dado a natureza do

projeto, foi tomada a abordagem de remocao de caraterısticas e de pacientes visto a necessidade de

treinar um modelo com base em valores reais.

Caraterısticas Categoricas

Ao serem escolhidas as caraterısticas pode acontecer que seja necessario lidar com valores categoricos.

Isto acaba por ser um obstaculo para alguns dos algoritmos de Aprendizagem Automatica, principal-

mente as redes neuronais, pois estes nao conseguem lidar (diretamente) com estes tipos de dados.

Para tal sao utilizados metodos que traduzem os valores categoricos em numeros. Neste projeto fo-

ram experimentadas diferentes versoes de datasets e, em alguns deles, foi necessario lidar com as

caraterısticas categoricas, como por exemplo no caso das caracterısticas arritmia sinusal, bradicardia

sinusal, ritmo sinusal, taquicardia sinusal.

Existem dois tipos de casos que, apesar de serem compostos por valores categoricos nao devem

ser vistos da mesma forma. Seguindo o exemplo dado em [61], os tamanhos das camisolas sao re-

presentados por letras (S,M,L,XL). Estes possuem uma relacao, ou seja, o tamanho S e menor que o

tamanho M, o XL e maior que todos os outros tamanhos. E correto traduzir o tamanho S para o valor 1,

o tamanho M para o valor 2, e assim sucessivamente, pois existe uma relacao entre eles. No entanto,

o mesmo nao se pode dizer para outros casos, como por exemplo a condicao climaterica (sol, chuva,

vento e neve). O vento nem sempre ocorre antes ou apos o nascer do sol, da mesma forma que nao

se pode afirmar que as nuvens nao sao maiores que a neve. Posto isto, nao e correto numerar cada

uma destas categorias. Perante estes casos, cada valor categorico e considerado como sendo uma

caraterıstica. Caso essa caraterıstica exista para um determinado vaso, a mesma toma o valor 1. Caso

contrario, toma o valor de 0. Por exemplo, caso tenhamos um dia em que o ceu se encontra com nuvens

e aguaceiros, a coluna das nuvens e da chuva deverao ter o valor 1, e as restantes o valor 0.

Dimensionamento das caraterısticas

Um dos aspetos que deverao ser tomados em conta e precisamente o facto de o dataset com o qual

estamos a lidar conter caraterısticas cujas unidades poderao variar consideravelmente entre uma e

outras. Estes valores, se nao tratados, podem comprometer a aprendizagem de um modelo. Uma das

outras razoes deve-se ao facto de que o dimensionamento das caraterısticas permite uma convergencia

mais rapida por parte do Gradient Descent. De tal modo, os valores que as caraterısticas adotam

deverao ser traduzidos ao mesmo nıvel de magnitude, garantindo assim uma representacao uniforme

dos dados [62]. Existem varias formas de dimensionar as caraterısticas, tais como atraves de:

• Dimensionamento Min-Max (Min-Max Scaling): converte os valores para um intervalo compre-

endido entre 0 e 1, ou -1 e 1 caso hajam valores negativos (equacao 5.1);

x′ =x−min(x)

max(x)−min(x)(5.1)

52

Page 69: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

• Normalizacao Media (Mean Normalisation): 5.2: semelhante ao dimensionamento Min-Max.

No entanto, em vez de ser feita a subtracao do valor mınimo de cada caraterıstica, e feita com a

media (equacao 5.2);

x′ =x− average(x)

max(x)−min(x)(5.2)

• Uniformizacao (Standardization): e calculada a media de distribuicao e o desvio padrao para

cada caraterıstica. Depois, e subtraıda a media de cada caraterıstica e de seguida os valores de

cada caraterıstica sao divididos pelo seu desvio padrao (equacao 5.3);

x′ =x− xσ

(5.3)

• Vetor Unitario (Unit Vector ): divisao de cada componente pelo comprimento euclidiano do vetor

(equacao 5.4);

x′ =x

‖x‖(5.4)

Para o desenvolvimento deste projeto, foi escolhido o dimensionamento Min-Max.

5.1.3 Treino e Teste do Modelo

Na Seccao 5.1.2 foram mostrados os varios passos que sao tomados para tratar do dataset antes

de o mesmo ser utilizado para treinar e testar um modelo. Tendo em conta os passos anteriormente

denotados, passamos ao dito treino e consequente teste do modelo, atraves da construcao e utilizacao

das redes neuronais.

A estrutura das redes neuronais varia consoante o problema ao qual e exposto, pois dependem

do numero de caraterısticas que o dataset possui, do numero de valores de saıda que sao esperados

no final, tal como do numero de camadas intermedias e do numero de neuronios que cada uma das

mesmas compoem.

Como tal, o processo de encontrar a combinacao ideal de camadas intermedias e numero de

neuronios, e a fim de ter um ponto de partida, foi baseado nos varios processos descritos em [50]. Ao

longo deste processo era verificado se existia alguma relacao entre o numero de camadas, neuronios

e hiperparametros com o proposito de chegar a uma conclusao sobre qual a melhor estrutura que,

alem de nao causar overfitting nem underfitting, apresentava melhores resultados em termos de perfor-

mance.

Dois dos grandes problemas das redes neuronais sao o facto de lidarem com funcoes nao-lineares,

levando assim ao acontecimento mais comum de overfitting nos modelos, e o facto de os modelos

que se baseiam nessas mesmas redes possuırem imensos parametros cujos valores podem, e devem,

ser modificados a fim de ser encontrada a combinacao que apresente os melhores resultados para a

situacao em que se encontra.

53

Page 70: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Para treinar e testar modelos foi utilizado o Scikit-Learn [63], uma biblioteca open-source de Apren-

dizagem Automatica utilizada na linguagem de programacao Python desenhada para ser utilizada con-

juntamente com bibliotecas cientıficas tais como o SciPy e NumPy [64, 65] e o Keras [66], uma API de

redes neuronais de alto nıvel escrita em Python capaz de correr em cima do TensorFlow [67] ou ate

mesmo no Theano [68].

Como mencionado na Seccao 5.1.2, foram criados diferentes datasets a fim de testar qual deles

apresentavam melhores resultados, resultados estes que serao mostrados na Seccao 5.2.

5.2 Resultados

Durante a pesquisa sobre hipertensao e desenvolvimento do presente projeto, este mesmo assunto foi

discutido com uma profissional de saude, Dra Ana Maria Ferreira (Medicina Interna, Lusıadas), e dois

estudantes de medicina, Daniela Abreu Silva e Bernardo Baptista, relativamente aos fatores predomi-

nantes responsaveis pelo aparecimento de doencas cardiovasculares tais como a hipertensao. Alem

dos varios fatores com as quais deverao ser tomadas as devidas precaucoes, referidos na Seccao

5.1.2, as doencas cardiovasculares sao diagnosticadas atraves dos electrocardiogramas, ”uma tecnica

de registo da corrente eletrica cardıaca” [69]. Deste exame e obtida uma representacao grafica dos

impulsos eletricos que sao gerados no coracao. Apesar de nao existirem os resultados destes exames

na base de dados MIMIC-III, encontravam-se registadas varias medicoes da pressao arterial, como

descrito na Seccao 5.1.2. Atendendo aos dados que foram possıveis obter da base de dados MIMIC-III,

foram construıdos 2 datasets:

• eventos de laboratorio: informacao sobre as medicoes baseadas no laboratorio, analise labora-

torial de fluidos (sangue, urina, etc);

• eventos graficos: dados cartografados, sinais vitais e informacao adicional sobre o cuidado do

paciente.

Como ponto de partida foi utilizada, para ambos os datasets, a abordagem descrita em [50], onde

o autor Huang apresentou que o numero suficiente de neuronios para a primeira e segunda camada

intermedia, na pior das hipoteses, e calculado atraves das equacoes 5.5 e 5.6 respetivamente.

√(m+ 2)N + 2

√N/(m+ 2) (5.5)

m√N/(m+ 2) (5.6)

onde

m→ numero de neuronios de saıda (classes);

N→ numero de exemplos;

Nas Tabelas 5.1 e 5.2 temos representado o numero de caraterısticas e exemplos, tal como o

54

Page 71: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

numero de neuronios nas camadas intermedias (primeira e segunda) que cada tipo de versao do data-

set (eventos de laboratorio e eventos graficos respetivamente) apresenta.

Tabela 5.1: Informacao relativa ao dataset com eventos de laboratorio

Tabela 5.2: Informacao relativa ao dataset com eventos graficos

Relativamente aos datasets descritos nas Tabelas 5.1 e 5.2, foram eliminados quaisquer tipos de

ruıdo e valores em falta que os mesmos apresentavam, como descrito na Seccao 5.1.2. Em termos de

caraterısticas categoricas foram realizadas as devidas alteracoes de modo a estas serem convertidas

em caraterısticas numericas, como descrito na Seccao 5.1.2. Posto isto, os valores dos datasets foram

normalizados, conforme descrito na Seccao 5.1.2.

5.2.1 Dataset com eventos de laboratorio

Na Tabela 5.3 temos representado os valores de precisao de treino e teste para as varias versoes do

dataset com eventos de laboratorio. Estes valores foram obtidos atraves de um modelo cujos hiper-

parametros tinham valor default. Alguns destes hiperparametros sao:

• Funcao de ativacao: ReLu;

• Alpha: 0.0001;

• Metodo de otimizacao: Adam;

• Taxa de aprendizagem inicial: 0.001;

• No maximo iteracoes: 200;

• Tolerancia: 0.0001;

Com base nos resultados obtidos, e visto serem pouco promissores, foi decidido explorar mais a

fundo o dataset com eventos graficos por este conter as caraterısticas que se encontram mais relacio-

nadas com a hipertensao.

55

Page 72: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Tabela 5.3: Precisao de treino e teste dos datasets com eventos de laboratorio

Figura 5.3: Metricas (precision, recall e f1-score)

5.2.2 Dataset com eventos graficos

Na Tabela 5.4 temos os valores de precisao de treino e teste para as varias versoes do dataset com

eventos graficos, onde foi seguida a mesma abordagem utilizada para com os datasets com eventos de

laboratorio.

Tabela 5.4: Precisao de treino e teste dos datasets com eventos graficos

Tendo em conta os resultados obtidos, foi escolhida a versao 4 devido a precisao obtida durante os

testes, e por ter uma media ponderada da precisao e da capacidade para recordar (f1-score) superior

a das outras versoes, como e possıvel observar na Figura 5.4.

Com o proposito de melhorar a precisao do modelo, foram experimentadas diferentes funcoes de

56

Page 73: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 5.4: Metricas (precision, recall e f1-score)

ativacao e metodos de otimizacao de modo a verificar com quais se obtinham melhores resultados. Os

graficos representados na Figura 5.5 ilustram a progressao de varios modelos, com diferentes funcoes

de ativacao nas camadas intermedias (ReLu, Sigmoid e Hyperbolic Tangent), que sao referidas na

Seccao 3.2.4, e diferentes metodos de otimizacao (Adam e Stochastic Gradient Descent), explicados

na Seccao 3.1. Como e possıvel observar na Figura 5.5, sao obtidos diferentes resultados para cada

uma das diferentes funcoes de ativacao e metodos de otimizacao. Enquanto que quando utilizado o

metodo de otimizacao SGD e alcancado um nıvel de performance a volta dos 70%, tanto no treino como

na validacao, a funcao de ativacao Sigmoid nao passa dos 60%. Relativamente ao modelo no qual e

utilizado o metodo de otimizacao Adam, observa-se uma performance superior durante a validacao,

comparativamente com a do treino. Novamente, a funcao de ativacao Sigmoid mantem-se constante

nos 65%.

Apos observados os resultados obtidos dos graficos da Figura 5.5, apos terem percorrido um valor

maximo de 200 epochs (1 epoch corresponde ao feedforward e backpropagation de um conjunto de

dados, na sua totalidade), foi decidido utilizar o metodo de otimizacao Adam e as funcoes de ativacao

ReLu e Tanh, devido a contınua melhoria observada durante a validacao dos modelos. Uma outra razao

pelo facto de a funcao de ativacao ReLu ter sido escolhida e por ser uma das funcoes mais utilizadas em

redes neuronais artificiais, e o Tanh devido aos resultados que apresentou e por este ser uma versao

melhorada da funcao Sigmoid, como explicado na Seccao 3.2.4.

Aplicacao de solucoes para evitar Overfitting

O dataset com eventos graficos (chartevents) foi construıdo tendo em conta as caraterısticas que mais

se relacionam com a hipertensao, de modo a reduzir o ruıdo que poderia ser causado pela utilizacao

de caraterısticas que nao se encontram relacionadas com o diagnostico de hipertensao. Como tal o

dataset inicial continha essas possıveis caraterısticas e casos clınicos, ate ao momento do tratamento

dos dados, o que originou as varias versoes do dataset, onde o numero de caraterısticas e de casos

clınicos foi variando. Uma das formas de evitar o overfitting e o treino dos modelos com mais dados,

no entanto o mesmo nao foi possıvel pois apos uma analise aos resultados dos varios modelos foi

escolhido aquele com melhor performance.

57

Page 74: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

(a) Optimizado com Adam

(b) Optimizado com SGD

Figura 5.5: Medicao da precisao utilizando diferentes funcoes de ativacao, e diferentes metodos deotimizacao

Ao longo do processo de evitar o overfitting, foram utilizados varios metodos:

• Reducao do numero de neuronios na primeira e segunda camada intermedia, conjuntamente com

a alteracao das funcoes de ativacao;

• Alteracao do valor de alpha;

• Alteracao da taxa inicial de aprendizagem - controla o tamanho dos ”passos” durante a atualizacao

dos pesos;

• K-Fold Cross-Validation, com k=5;

• Principal Component Analysis (PCA) - tecnica utilizada na reducao de caraterısticas atraves da

extracao das mesmas;

58

Page 75: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

No entanto, apesar da utilizacao dos varios metodos aqui descritos nao foi possıvel reduzir/evitar o

overfitting nos modelos.

Figura 5.6: Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam

Como e possıvel verificar nas Figuras 5.6 e 5.7, os resultados obtidos em termos de precisao de

treino e teste nao variam muito em relacao ao que foi observado na Figura 5.5, nao se verificando

assim um aumento da precisao durante o teste. Nas Figuras 5.6 e 5.7, verifica-se que os modelos

pouco variavam na precisao de teste durante a variacao dos numeros de neuronios em ambas as

camadas intermedias.

Dos resultados obtidos, foi decidido continuar a analise e experimentacao de outros metodos que

visam a reduzir/evitar o overfitting nos modelos que utilizavam a funcao de ativacao ReLu, otimizados

atraves de Adam.

Na Figura 5.8 temos varios graficos que mostram a precisao de varios modelos utilizando a funcao

de ativacao ReLu, otimizados com Adam, no qual foi feita uma reducao nas suas caraterısticas atraves

59

Page 76: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 5.7: Precisao dos modelos com funcao de ativacao Tanh, otimizado com Adam

da utilizacao do PCA, tendo sido variado o numero de neuronios na primeira e segunda camada in-

termedia.

Ao ser utilizado o PCA, o numero de caraterısticas no modelo passaram a ser 63 (face as 91 que ti-

nha anteriormente) que, apesar da precisao durante o treino ter alcancado os 100%, a precisao durante

o teste manteve-se inalteravel.

Na Figura 5.9 temos modelos que seguiram uma abordagem semelhante a dos modelos representa-

dos na Figura 5.8, com a excepcao de ter sido utilizado o K-Fold Cross-Validation (k=5). Os resultados

obtidos sao bastante semelhantes aos modelos representados na Figura 5.8, visto que o K-Fold Cross-

Validation trata-se de uma tecnica em que o dataset e dividido em k subconjuntos, onde um desses

subconjuntos e utilizado para teste e os restantes k-1 subconjuntos sao utilizados durante o treino com

os diferentes parametros, o chamado fit ao modelo.

Por ultimo, na Figura 5.10, alem de ter sido utilizado o PCA, foram variados os valores da taxa inicial

60

Page 77: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 5.8: Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, utilizando PCA

da aprendizagem e o valor de alpha. Vale a pena relembrar que os modelos representados nas Figuras

anteriores continham os valores default nos hiperparametros da taxa inicial da aprendizagem (0.001)

e alpha (0.0001). Como e possıvel observar, a medida que o valor de alpha aumenta, os valores de

precisao, tanto de treino como de teste, nao variam muito. No entanto, quando diminuımos o valor da

taxa de aprendizagem inicial, os valores de precisao variam consideravelmente durante o treino.

Apos a analise dos varios graficos que mostram a performance dos varios modelos aos quais foram

aplicados diferentes metodos e passos a fim de tentar evitar o overfitting, conclui-se que nao foi possıvel

treinar um modelo capaz de generalizar a fim de este realizar a previsao de se um determinado caso

clınico tem como diagnostico hipertensao ou nao.

61

Page 78: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 5.9: Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, utilizando PCAe K-Fold Cross Validation

5.2.3 Conclusoes

Apos terem sido aplicados varios metodos que tinham como objetivo a reducao do overfitting, reducao

do numero de exemplos, caraterısticas e remocao do ruıdo que o dataset apresentava, nao foi possıvel

aumentar a performance durante o teste do modelo de modo a que este se aproximasse da performance

obtida durante o treino.

62

Page 79: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Figura 5.10: Precisao dos modelos com funcao de ativacao ReLu, otimizado com Adam, utilizandoPCA e variando os valores da taxa inicial de aprendizagem e o valor de alpha

63

Page 80: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

64

Page 81: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Capıtulo 6

Conclusoes

O presente projeto tinha como principal objetivo a Geracao Procedimental de Casos Clınicos, que visava

a contribuir para o desenvolvimento do raciocınio clınico de estudantes de medicina e clınicos. No

entanto, ao longo do projeto foram encontradas dificuldades durante a criacao de um modelo que fosse

capaz de classificar casos clınicos cujos diagnosticos fossem de hipertensao ou nao. A performance

do modelo em questao nao alcancou um nıvel de performance aceitavel devido a sua incapacidade

de generalizar para casos clınicos nunca antes vistos. Apesar das varias tecnicas aplicadas, alteracao

dos hiperparametros, do numero de camadas intermedias e respetivo numero de neuronios das redes

neuronais, utilizacao de varias versoes de datasets tendo em consideracao os aspetos mais tomados

em conta durante o diagnostico de hipertensao, a performance nunca atingiu valores satisfatorios e

nunca se percebeu uma evolucao tendo em conta os hiperparametros.

A fim de demonstrar que os passos tomados durante o treino e teste dos modelos, e consequente

utilizacao das bibliotecas Scikit-Learn e Keras, tinham sido utilizadas corretamente, foi treinado e tes-

tado um modelo de classificacao de dıgitos escritos a mao seguindo esses mesmos passos. Dos

modelos de classificacao de dıgitos foram obtidas excelentes performances somente com a utilizacao

dos hiperparametros default que as funcoes da biblioteca Scikit-Learn disponibilizam. No entanto foram

tambem utilizadas diferentes funcoes de ativacao e metodos de otimizacao a fim de verificar os nıveis

de performance para os diferentes modelos.

As Redes Adversariais Generativas tratam-se de dois tipos de redes com funcoes completamente

distintas: os modelos generativos, que sao responsaveis por ”aprender” atraves de datasets reais e

gerar dados falsos, e os modelos discriminativos, que sao responsaveis por distinguir os dados reais

daqueles que foram gerados. Casos como a criacao de arte e geracao de ambientes paisagısticos

atraves de simples ”tracos” sao algumas das capacidades e potencial que as Redes Adversariais Ge-

nerativas tem vindo a mostrar. Alem da recorrente investigacao e desenvolvimento de ferramentas

utilizando estas redes, as mesmas demonstram um tremendo potencial na area da medicina, atraves

da geracao de casos clınicos e respetivos sintomas que podem vir a ser utilizados por estudantes de

medicina e clınicos com o principal objetivos de ajudar na preparacao da resolucao de casos clınicos e

desenvolvimento do proprio raciocınio clınico, evitando assim colocar a vida de um paciente em risco.

65

Page 82: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

6.1 Achievements

Atraves deste projeto foi possıvel demonstrar que a abordagem utilizada nao permitiu alcancar os ob-

jetivos delineados inicialmente. Apesar de ter sido aplicado esse mesmo metodo ao dataset de dıgitos

escritos a mao, nao foi possıvel replicar para a classificacao de casos clınicos cujo diagnostico era

hipertensao.

6.2 Future Work

Tendo em conta o potencial que as Redes Adversariais Generativas apresentam, como foi o exemplo

da geracao de pecas de arte e paisagens atraves de simples rabiscos, as GAN podem vir a ser o

futuro da Aprendizagem Automatica. A sua aplicabilidade na area da medicina podera beneficiar tanto

os medicos como os proprios pacientes caso seja utilizado para a geracao de casos clınicos e a sua

respetiva discriminacao. O estudo da Redes Adversariais Generativas, e a sua respetiva implementacao

na area da medicina, e algo que deve ser tomado em consideracao em trabalhos futuros. No entanto,

a necessidade em ter um dataset completo torna-se imprescindıvel de modo a dar seguimento a este

desafio.

66

Page 83: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Bibliografia

[1] D. M. Cutler and M. McClellan. Is technological change in medicine worth it? Health affairs, 20(5):

11–29, 2001.

[2] J. P. Kassirer. Teaching clinical reasoning: case-based and coached. Academic Medicine, 85(7):

1118–1124, 2010.

[3] J. AEW, P. TJ, S. L, L. L, F. M, G. M, M. B, S. P, C. LA, and M. RG. Mimic-iii, a freely accessible

critical care database. http://www.nature.com/articles/sdata201635, . Scientific Data (2016).

DOI: 10.1038/sdata.2016.35.

[4] Mimic-iii. https://mimic.physionet.org/.

[5] W. J. McMillan. Teaching for clinical reasoning–helping students make the conceptual links. Medical

Teacher, 32(10):e436–e442, 2010.

[6] J. L. Bowen. Educational strategies to promote clinical diagnostic reasoning. New England Journal

of Medicine, 355(21):2217–2225, 2006.

[7] B. Charlin, J. Tardif, and H. P. Boshuizen. Scripts and medical diagnostic knowledge: theory and

applications for clinical reasoning instruction and research. Academic Medicine, 75(2):182–190,

2000.

[8] B. Charlin, H. Boshuizen, E. J. Custers, and P. J. Feltovich. Scripts and clinical reasoning. Medical

education, 41(12):1178–1184, 2007.

[9] P. H. Harasym, T.-C. Tsai, and P. Hemmati. Current trends in developing medical students’ critical

thinking abilities. The Kaohsiung journal of medical sciences, 24(7):341–355, 2008.

[10] M. L. Graber, N. Franklin, and R. Gordon. Diagnostic error in internal medicine. Archives of Internal

Medicine, 165(13):1493–1499, 2005.

[11] D. E. Newman-Toker and P. J. Pronovost. Diagnostic errors—the next frontier for patient safety.

Jama, 301(10):1060–1062, 2009.

[12] E. M. Glaser. An experiment in the development of critical thinking. Number 843. Teachers College,

Columbia University, 1941.

67

Page 84: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

[13] A. Munoz. Machine learning and optimization. URL: https://www. cims. nyu. edu/˜ mu-

noz/files/ml optimization. pdf [accessed 2016-03-02][WebCite Cache ID 6fiLfZvnG], 2014.

[14] T. M. Mitchell. Machine Learning. McGraw-Hill, Inc., New York, NY, USA, 1 edition, 1997. ISBN

0070428077, 9780070428072.

[15] P. Domingos. The master algorithm: How the quest for the ultimate learning machine will remake

our world. Basic Books, 2015.

[16] I. Kononenko. Machine learning for medical diagnosis: history, state of the art and perspective.

Artificial Intelligence in medicine, 23(1):89–109, 2001.

[17] I. Kononenko and M. Kukar. Machine Learning and Data Mining: Introduction to Principles and

Algorithms. Horwood Publishing Limited, 2007. ISBN 1904275214, 9781904275213.

[18] M. Mohri, A. Rostamizadeh, and A. Talwalkar. Foundations of machine learning. MIT press, 2012.

[19] M. Li and Z.-H. Zhou. Improve computer-aided diagnosis with machine learning techniques using

undiagnosed samples. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and

Humans, 37(6):1088–1098, 2007.

[20] D. Silver, J. Schrittwieser, K. Simonyan, I. Antonoglou, A. Huang, A. Guez, T. Hubert, L. Baker,

M. Lai, A. Bolton, et al. Mastering the game of go without human knowledge. Nature, 550(7676):

354, 2017.

[21] H. Lærum, T. H. Karlsen, and A. Faxvaag. Effects of scanning and eliminating paper-based medical

records on hospital physicians’ clinical work practice. Journal of the American Medical Informatics

Association, 10(6):588–595, 2003.

[22] Z. C. Lipton, D. C. Kale, C. Elkan, and R. Wetzell. Learning to diagnose with lstm recurrent neural

networks. arXiv preprint arXiv:1511.03677, 2015.

[23] K. R. Foster, R. Koprowski, and J. D. Skufca. Machine learning, medical diagnosis, and biomedical

engineering research-commentary. Biomedical engineering online, 13(1):94, 2014.

[24] A. Ng. Machine learning course. https://www.coursera.org/learn/machine-learning. Acedido

a: 2018-08-25.

[25] J. Brownlee. Overfitting and underfitting with machine learning algorithms. https://

machinelearningmastery.com/overfitting-and-underfitting-with-machine-learning-algorithms/.

Acedido a: 2018-10-26.

[26] Overfitting vs. underfitting. https://scikit-learn.org/stable/auto_examples/model_

selection/plot_underfitting_overfitting.html. Acedido a: 2018-10-26.

[27] I. Kononenko. Inductive and bayesian learning in medical diagnosis. Applied Artificial Intelligence

an International Journal, 7(4):317–337, 1993.

68

Page 85: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

[28] K. Fukunaga and P. M. Narendra. A branch and bound algorithm for computing k-nearest neighbors.

IEEE transactions on computers, 100(7):750–753, 1975.

[29] M. J. Zaki, W. Meira Jr, and W. Meira. Data mining and analysis: fundamental concepts and

algorithms. Cambridge University Press, 2014.

[30] K. W. Eva. What every teacher needs to know about clinical reasoning. Medical education, 39(1):

98–106, 2005.

[31] C. M. Bishop. Pattern recognition and machine learning (information science and statistics)

springer-verlag new york. Inc. Secaucus, NJ, USA, 2006.

[32] Y. Kim. Convolutional neural networks for sentence classification. arXiv preprint arXiv:1408.5882,

2014.

[33] U. R. Acharya, S. L. Oh, Y. Hagiwara, J. H. Tan, and H. Adeli. Deep convolutional neural network

for the automated detection and diagnosis of seizure using eeg signals. Computers in biology and

medicine, 2017.

[34] C. Goller and A. Kuchler. Learning task-dependent distributed representations by backpropagation

through structure. In Neural Networks, 1996., IEEE International Conference on, volume 1, pages

347–352. IEEE, 1996.

[35] A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, and J. Schmidhuber. A novel connec-

tionist system for improved unconstrained handwriting. IEEE Transactions on Pattern Analysis and

Machine Intelligence, 31(5), 2009.

[36] H. Sak, A. Senior, and F. Beaufays. Long short-term memory recurrent neural network architectures

for large scale acoustic modeling. In Fifteenth Annual Conference of the International Speech

Communication Association, 2014.

[37] B. Ster and A. Dobnikar. Neural networks in medical diagnosis: Comparison with other methods.

In International Conference on Engineering Applications of Neural Networks, pages 427–30, 1996.

[38] A. Daluiski, R. N. Hotchkiss, D. Hanel, S. Chopra, and R. Lindsey. A convolutional neural network

automatically detects and localizes fractures of the distal radius with greater accuracy than inexpe-

rienced clinicians: Level 2 evidence. Journal of Hand Surgery, 42(9):S20–S21, 2017.

[39] F. Ma, R. Chitta, J. Zhou, Q. You, T. Sun, and J. Gao. Dipole: Diagnosis prediction in healthcare via

attention-based bidirectional recurrent neural networks. In Proceedings of the 23rd ACM SIGKDD

International Conference on Knowledge Discovery and Data Mining, KDD ’17, pages 1903–1911,

New York, NY, USA, 2017. ACM. ISBN 978-1-4503-4887-4. doi: 10.1145/3097983.3098088. URL

http://doi.acm.org/10.1145/3097983.3098088.

[40] E. Choi, M. T. Bahadori, J. Sun, J. Kulas, A. Schuetz, and W. Stewart. Retain: An interpretable

predictive model for healthcare using reverse time attention mechanism. In Advances in Neural

Information Processing Systems, pages 3504–3512, 2016.

69

Page 86: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

[41] E. Choi, M. T. Bahadori, E. Searles, C. Coffey, M. Thompson, J. Bost, J. Tejedor-Sojo, and J. Sun.

Multi-layer representation learning for medical concepts. In Proceedings of the 22nd ACM SIGKDD

International Conference on Knowledge Discovery and Data Mining, pages 1495–1504. ACM,

2016.

[42] S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, 3rd edition,

2010., 1994.

[43] What is an activation function? https://deepai.org/machine-learning-glossary-and-terms/

activation-function.

[44] A. Sharma. Understanding activation functions in neural networks. https://medium.com/

the-theory-of-everything/understanding-activation-functions-in-neural-networks-9491262884e0.

Acedido a: 2018-10-26.

[45] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and

Y. Bengio. Generative adversarial nets. In Advances in neural information processing systems,

pages 2672–2680, 2014.

[46] J. Bruner and A. Deshpande. Generative adversarial networks for beginners, 2017. URL https:

//www.oreilly.com/learning/generative-adversarial-networks-for-beginners.

[47] E. Linder-Noren. Keras implementations of generative adversarial networks., 2018. URL https:

//github.com/eriklindernoren/Keras-GAN/blob/master/gan/gan.py.

[48] Y. LeCun and C. Cortes. MNIST handwritten digit database. 2010. URL http://yann.lecun.com/

exdb/mnist/.

[49] D. Dua and C. Graff. UCI machine learning repository, 2017. URL http://archive.ics.uci.edu/

ml.

[50] D. Stathakis. How many hidden layers and nodes? International Journal of Remote Sensing, 30

(8):2133–2147, 2009.

[51] Y. LeCun. What are some recent and potentially upco-

ming breakthroughs in deep learning? https://www.quora.com/

What-are-some-recent-and-potentially-upcoming-breakthroughs-in-deep-learning.

Acedido a: 2019-04-14.

[52] J. Vincent. How three french students used borrowed code to put the first

ai portrait in christie’s. https://www.theverge.com/2018/10/23/18013190/

ai-art-portrait-auction-christies-belamy-obvious-robbie-barrat-gans. Acedido a:

2019-04-14.

[53] I. Salian. The ganfather: The man who’s given machines the gift of imagination. https://blogs.

nvidia.com/blog/2019/03/18/gaugan-photorealistic-landscapes-nvidia-research/. Ace-

dido a: 2019-04-14.

70

Page 87: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

[54] J. AEW, P. TJ, S. L, L. L, F. M, G. M, M. B, S. P, C. LA, and M. RG. Requesting access. https:

//mimic.physionet.org/gettingstarted/access/, . Acedido a: 2018-08-25.

[55] Login to physionetworks. https://physionet.org/pnw/login. Acedido a: 2018-08-25.

[56] Tensao e hipertensao arterial. http://www.fpcardiologia.pt/saude-do-coracao/

factores-de-risco/hipertensao/, . Acedido a: 2018-08-25.

[57] A hipertensao arterial em portugal. https://www.dgs.pt/em-destaque/

a-hipertensao-arterial-em-portugal-.aspx, . Acedido a: 2018-08-25.

[58] Hipertensao arterial. https://www.sns.gov.pt/noticias/2018/05/08/hipertensao-arterial/.

Acedido a: 2018-08-25.

[59] Qual e o risco de vir a ter hta. https://www.sphta.org.pt/pt/base8_detail/24/91. Acedido a:

2018-08-25.

[60] P. K. Sharpe and R. Solly. Dealing with missing values in neural network-based diagnostic systems.

Neural Computing & Applications, 3(2):73–77, 1995.

[61] D. Sarkar. Understanding feature engineering - categorical data. https://towardsdatascience.

com/understanding-feature-engineering-part-2-categorical-data-f54324193e63. Acedido

a: 2018-08-25.

[62] S. Asaithambi. Why, how and when to scale your features. https://medium.com/greyatom/

why-how-and-when-to-scale-your-features-4b30ab09db5e. Acedido a: 2018-08-25.

[63] O. Source. Scikit-learn. https://scikit-learn.org/stable/, .

[64] O. Source. Numpy. http://www.numpy.org/, .

[65] O. Source. Scipy. https://www.scipy.org/, .

[66] F. Chollet et al. Keras. https://keras.io, 2015.

[67] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis, J. Dean,

M. Devin, S. Ghemawat, I. Goodfellow, A. Harp, G. Irving, M. Isard, Y. Jia, R. Jozefowicz, L. Kaiser,

M. Kudlur, J. Levenberg, D. Mane, R. Monga, S. Moore, D. Murray, C. Olah, M. Schuster, J. Shlens,

B. Steiner, I. Sutskever, K. Talwar, P. Tucker, V. Vanhoucke, V. Vasudevan, F. Viegas, O. Vinyals,

P. Warden, M. Wattenberg, M. Wicke, Y. Yu, and X. Zheng. TensorFlow: Large-scale machine lear-

ning on heterogeneous systems, 2015. URL https://www.tensorflow.org/. Software available

from tensorflow.org.

[68] Theano Development Team. Theano: A Python framework for fast computation of mathematical ex-

pressions. arXiv e-prints, abs/1605.02688, May 2016. URL http://arxiv.org/abs/1605.02688.

[69] E. Mota, J. N. da Costa, and J. B. Nogueira. The electrocardiogram in arterial hypertension com-

pared with echocardiographic data. Acta medica portuguesa, 4(11-12):457–461, 1983.

71

Page 88: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

72

Page 89: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

Apendice A

Appendix A

73

Page 90: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

COLLABORATIVE INSTITUTIONAL TRAINING INITIATIVE (CITI PROGRAM)COMPLETION REPORT - PART 1 OF 2

COURSEWORK REQUIREMENTS*

* NOTE: Scores on this Requirements Report reflect quiz completions at the time all requirements for the course were met. See list below for details.See separate Transcript Report for more recent quiz scores, including those on optional (supplemental) course elements.

•  Name: Aquilino Silva (ID: 6815222)•  Institution Affiliation: Massachusetts Institute of Technology Affiliates (ID: 1912)•  Institution Email: [email protected]•  Institution Unit: Engineering Department

•  Curriculum Group: Human Research•  Course Learner Group: Data or Specimens Only Research•  Stage: Stage 1 - Basic Course

•  Record ID: 25474391•  Completion Date: 21-Feb-2018•  Expiration Date: 20-Feb-2021•  Minimum Passing: 90•  Reported Score*: 97

REQUIRED AND ELECTIVE MODULES ONLY DATE COMPLETED SCOREHistory and Ethics of Human Subjects Research (ID: 498)  21-Feb-2018 6/7 (86%) Basic Institutional Review Board (IRB) Regulations and Review Process (ID: 2)  21-Feb-2018 5/5 (100%) Records-Based Research (ID: 5)  21-Feb-2018 3/3 (100%) Genetic Research in Human Populations (ID: 6)  21-Feb-2018 5/5 (100%) Populations in Research Requiring Additional Considerations and/or Protections (ID: 16680)  21-Feb-2018 5/5 (100%) Research and HIPAA Privacy Protections (ID: 14)  21-Feb-2018 5/5 (100%) Conflicts of Interest in Human Subjects Research (ID: 17464)  21-Feb-2018 5/5 (100%) Massachusetts Institute of Technology (ID: 1290)  21-Feb-2018 No Quiz 

For this Report to be valid, the learner identified above must have had a valid affiliation with the CITI Program subscribing institutionidentified above or have been a paid Independent Learner.

Verify at: www.citiprogram.org/verify/?kae772a7d-5668-42b0-8690-d4335ef2ca63-25474391

Collaborative Institutional Training Initiative (CITI Program)Email: [email protected]: 888-529-5929Web: https://www.citiprogram.org

Page 91: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

COLLABORATIVE INSTITUTIONAL TRAINING INITIATIVE (CITI PROGRAM)COMPLETION REPORT - PART 2 OF 2

COURSEWORK TRANSCRIPT**

** NOTE: Scores on this Transcript Report reflect the most current quiz completions, including quizzes on optional (supplemental) elements of thecourse. See list below for details. See separate Requirements Report for the reported scores at the time all requirements for the course were met.

•  Name: Aquilino Silva (ID: 6815222)•  Institution Affiliation: Massachusetts Institute of Technology Affiliates (ID: 1912)•  Institution Email: [email protected]•  Institution Unit: Engineering Department

•  Curriculum Group: Human Research•  Course Learner Group: Data or Specimens Only Research•  Stage: Stage 1 - Basic Course

•  Record ID: 25474391•  Report Date: 21-Feb-2018•  Current Score**: 97

REQUIRED, ELECTIVE, AND SUPPLEMENTAL MODULES MOST RECENT SCOREHistory and Ethics of Human Subjects Research (ID: 498) 21-Feb-2018  6/7 (86%) Records-Based Research (ID: 5) 21-Feb-2018  3/3 (100%) Genetic Research in Human Populations (ID: 6) 21-Feb-2018  5/5 (100%) Research and HIPAA Privacy Protections (ID: 14) 21-Feb-2018  5/5 (100%) Basic Institutional Review Board (IRB) Regulations and Review Process (ID: 2) 21-Feb-2018  5/5 (100%) Populations in Research Requiring Additional Considerations and/or Protections (ID: 16680) 21-Feb-2018  5/5 (100%) Conflicts of Interest in Human Subjects Research (ID: 17464) 21-Feb-2018  5/5 (100%) Massachusetts Institute of Technology (ID: 1290) 21-Feb-2018  No Quiz 

For this Report to be valid, the learner identified above must have had a valid affiliation with the CITI Program subscribing institutionidentified above or have been a paid Independent Learner.

Verify at: www.citiprogram.org/verify/?kae772a7d-5668-42b0-8690-d4335ef2ca63-25474391

Collaborative Institutional Training Initiative (CITI Program)Email: [email protected]: 888-529-5929Web: https://www.citiprogram.org

Page 92: Casos Clínicos: Análise de dataset e seu possível uso para geração · Lu´ıs L. Ribeiro, que me guiaram durante o desenvolvimento deste projeto e documento.. A minha av` o,

76