Aplicações | Carcinoma Hepatocelular

Como a Inteligência Artificial pode ajudar na área da saúde, predizendo resultados e escolhendo o melhor tratamento.

Felipe Augusto de Moraes Machado
Turing Talks
5 min readMay 12, 2019

--

Uma imagem de ressonância magnética

Imagine a seguinte situação: você possui carcinoma hepatocelular (um tipo de câncer que ocorre no fígado) e quer tratá-lo. Um dos tratamentos é por Radiofrequência, no qual colocam em você uma agulha (que custa em torno de 5 mil reais) que emite algumas ondas em certas frequências, destruindo todas as células do carcinoma (e outras que estiverem no caminho). E, depois de toda essa dor e esse custo, o câncer volta. Como podemos prevenir isso? Como podemos predizer o resultado desse tratamento?

Esse tipo de caso é bem comum, e é um problema bem complexo para tentarmos resolver de alguma forma convencional. Por isso, uma das saídas que alguns médicos estão escolhendo é usar Inteligência Artificial para ajudá-los. Nós possuímos um projeto do Carcinoma citado acima para predizer esse tratamento.

Inteligência Artificial

Uma das tarefas que uma IA consegue realizar é o reconhecimento de padrões. Com uma quantidade grande de imagens de ressonância magnética, por exemplo, podemos criar um modelo de IA que seja capaz de predizer qual o resultado de algum tratamento. Infelizmente, na prática, não é tão simples assim.

Um exame de ressonância magnética é composto por diversas imagens, por exemplo, 100 imagens de 512 x 512 pixeis (imagens são matrizes com valores da intensidade luminosa em cada pixel), contendo assim 26.214.400 pixeis. Se o modelo possuir apenas um parâmetro para cada pixel, teremos 26.214.400 parâmetros, um modelo muito complexo que precisa de muitos dados para funcionar, e normalmente não temos essa quantidade de casos necessários. Como proceder?

Joey está triste por não saber como proceder. Não se preocupe, Joey! Vamos te ajudar!

Features e Feature Selection

Bom, se não podemos usar as imagens diretas em algum modelo, que tal utilizarmos outra abordagem? Um outro método bem conhecido é procurar características da imagem, por exemplo: tirar a média dos valores da imagem, o desvio padrão, contraste, correlação, entre outros. Essas características são chamadas de features e elas ajudam a explicar a imagem usando poucos números (lembre que um exame de 100 x 512 x 512 tem ao todo 26.214.400 números). No nosso projeto Carcinoma, calculamos 4455 features usando uma Biblioteca da linguagem R chamada RIA. Reduzir de 26.214.400 para 4455 reduz o número de parâmetros e a complexidade do nosso modelo, mas ainda assim é um número alto.

Após calcular os features da imagem, devemos selecionar os features que explicam melhor o problema: essa etapa chamamos de Feature Selection. Há diversas formas de selecionar, mas o mais comum é usando AUC (“area under the ROC curve”). Esse AUC é um valor entre 0 e 1, e ele indica o quão importante é um feature para o problema (quanto mais próximo de 1, mais importante ele é, 0.5 indica que o feature não é relevante). Selecionando os features com maior importância (com AUC > 0.85, por exemplo), reduzimos a quantidade de features para 20, 10 ou até menos.

Depois desses processos, obteremos um conjunto de dados com dimensão bem menor, formado apenas por features relevantes ao problema. Agora que possuímos dados pequenos, vamos para a parte final da nossa tarefa: criar um modelo.

Estamos animados para finalizar nosso estudo!

Modelo Preditivo

Agora temos que decidir o que queremos fazer: um modelo que classifique se o tratamento vai funcionar ou um modelo que retorne a probabilidade do tratamento funcionar. São dois tipos de modelo diferente para análises diferentes, o primeiro é de classificação enquanto o segundo é de regressão. Embora existam diversos modelos para ambas tarefas, vamos falar sobre os mais comuns nessa área: Regressão Logística e Random Forest (esse funciona tanto para regressão quanto pra classificação).

A Regressão Logística é uma regressão que nos retorna a probabilidade de um evento ocorrer baseado nos dados de entrada. Ele é muito usado em artigos médicos pois seus parâmetros podem ser usados para entender a importância dos features entre eles (a média pode ser 10x mais importante que o desvio padrão, por exemplo).

Random Forest é outra ferramenta muito utilizada, pois ela possui um funcionamento não-linear, embora seja um pouco mais complexa (possui mais parâmetros) comparado à regressão logística. Ela utiliza diversas árvores de decisão (uma para cada feature) para classificar um caso ou para retornar um valor contínuo (regressão). As árvores informam também qual a importância de cada feature no problema.

Uma Random Forest com 4 Árvores de Decisão

Após criar o modelo, é necessário testá-lo e verificar se o seu funcionamento cumpre suas necessidades.

Métricas

Quando estamos trabalhando com classificador, podemos analisar o seu desempenho baseado em algumas métricas: recall/sensitivity, specificity e precision.

  • Recall/Sensitivity: Capacidade do modelo de detectar positivos.
  • Specificity: Capacidade do modelo de detectar negativos.
  • Precision: Taxa de acerto do modelo nos dados classificados como positivo.

Essas métricas são calculadas a partir da quantidade de Falsos Positivos (casos negativos classificados como positivos), Falsos Negativos (casos positivos classificados como negativos), Verdadeiros Positivos e Verdadeiros Negativos. No nosso problema, queremos saber se o tratamento vai funcionar (caso positivo) ou se ele não vai destruir o carcinoma permanentemente (caso negativo), sendo fornecido outro tipo de tratamento nesse segundo caso. Então o nosso modelo pode apresentar alguns Falsos Negativos (o paciente só mudará de tratamento), mas ele não deve apresentar Falsos Positivos (o modelo falar que o tratamento vai funcionar sendo que na verdade não vai). Em outras palavras, para esse problema, devemos ter um Precision alto.

Bom, acabou?

Nesse texto, abordamos uma forma convencional de como usar IA nessa área médica. Ela é a única? Claro que não, mas é a mais utilizada. É uma área interdisciplinar nova, então existe muito ainda a ser explorado, muito a ser criado. Cada vez mais se encontra artigos utilizando IA para ajudar em tratamento ou para entender mais sobre um certo problema. Então, temos que continuar a pesquisar, testar e aprender mais sobre para conseguirmos ter resultados melhores!

E esse foi o Turing Talks dessa semana. Se você achou interessante o tema dessa semana, siga a nossa página no facebook e acompanhe nossas publicações, vai encontrar só eventos/projetos legais.

Isso é tudo por hoje pessoal, um grande abraço!

--

--