4.3 Aprendizagem Computorizada Classificação
4.3.3 Extra-Tree
A designaçãoExtra-Treecorresponde a árvores de decisão extremamente aleatórias, que se destacam devido à sua capacidade em lidar com espaços de previsão mais complexos, ou seja, múltiplas classes. O algoritmo por detrás daExtra-Treeé bastante semelhante ao de uma Floresta de Decisão, introduzido com o intuito de fornecer ainda mais aleatoriedade às funções de divisão dos nodos internos. Com esta alteração procura-se assegurar maior precisão na classificação, através da diminuição da variância dos dados (o que conduz a uma redução no tempo de treino). Relembrando a formulação matemática sobre a qual foi enunciado o comportamento de uma árvore de decisão, numa árvore de decisão extremamente aleatória é possível identificar 4 propriedades diferentes [122, 123]:
• Por defeito cada árvore é construída de forma independente das restantes, ou seja, a profundidade de cada árvore não se encontra limitada.
• Não existe qualquer fase de amostragem dos dados de treino, sendo que cada árvore recebe a totalidade dos dados de treino disponíveis.
• As funções de divisão presentes nos nodos internos são modelos assentes em divisões de eixos alinhados, o que em termos matemáticos resulta numa divisão binária descrita pela formula 4.15.
h(v, (i, τ ))[xi < τ ] (4.15) 48
CAPÍTULO 4. FUNDAMENTOS TE RICOS
Cada um das características xi, 1≤ i ≤ d apresenta assim umthresholdassociado definido em conformidade com a gama de valores da característica.
• A otimização da função de divisão é realizada, em cada nodo interno, através de uma seleção prévia de um conjunto aleatório de características, Tj, do espaço T . Dentro o conjunto definido são identificadas as que asseguram um melhor desempenho da função objetivo. Contrariamente ao que se realiza na árvore de decisão, os thresholdsdiscretos não são valores a otimizar, mas sim constantes, definidas em conformidade com a sua gama.
• O crescimento de uma árvore de decisão extremamente aleatória, para além do parâmetro de profundidade máxima definido para a fase de treino (tal como numa árvores de decisão) tem ainda dois critérios que controlam a sua profundidade. Um primeiro que condiciona o crescimento da árvore quando as amostras presentes num nodo são puras e um segundo parâmetro que impõe um número mínimo de amostras para se realizar a divisão do nodo em nodos filhos.
4.4 Sumário
Com este capítulo descreveram-se os conceitos teóricos que permitiram o desenvolvimento do algo- ritmo de segmentação de tumores cerebrais da presente dissertação. Tratando-se de um modelo que se recorre de classificadores supervisionados, a fase de pré-processamento é importante. O alinhamento das sequências de RM, a eliminação de artefactos como a falta de homogeneidade do campo magnético, bem como assegurar um significado às intensidades, através da normalização, são procedimentos chave. A primeira etapa de pré-processamento descrita encontra-se já aplicada pela base de dados utilizada. Na correção da falta de homogeneidade foi selecionado o método N4 [40], dado apresentar-se como a téc- nica atual mais robusta para a remoção deste artefacto. No caso da normalização das intensidades, o método de Nyúlet al.[39] foi escolhido, dado que foi desenvolvido especificamente para a RM. Neste al- goritmo são aplicadas transformações lineares aos histogramas de forma a coincidir com um histograma de referência. Os classificadores utilizados neste trabalho assentam nos conceitos da Floresta de Deci- são, que resultam da conjugação de classificadores fracos treinados de forma independente --- as árvores de decisão. A fase de treino é responsável pela otimização de uma função de divisão capaz de dividir os dados pelos nodos de cada árvore de decisão, tendo em conta a informação presente num conjunto de características. Assim, a otimização da função de divisão procura encontrar o melhor conjunto de thresholdsa aplicar ao respetivo conjunto de características. A classificação final resulta da combinação das contribuições de cada uma das árvores, pelo cálculo da média ou multiplicação das probabilidades posteriores dos nodos folha.
Cap´ıtulo
5
Implementação Prática
Neste capítulo encontra-se a descrição da metodologia implementada e as diversas abordagens estu- dadas no desenvolvimento do algoritmo de segmentação automática de tumores. O funcionamento dos algoritmos utilizados será também explicado, independentemente de resultarem da aplicação de propos- tas desenvolvidas por terceiros ou algoritmos criados de raiz.
O método de segmentação tumoral segue a linha de pensamento de um algoritmo assente numa classificação supervisionada. Por forma a ter uma visão geral dos diferentes estágios que definem o algoritmo de segmentação, na figura 5.1 apresenta-se a linha de processamento da informação das diversas imagens de RM.
Figura 5.1: Estruturação do algoritmo de segmentação tumoral de gliomas proposto.
Em conformidade com a estrutura da metodologia proposta, exposta na figura 5.1, será descrita a implementação prática de cada uma das fases constituintes.
Previamente serão descritas as linguagens de programação utilizadas na projeção da metodologia de segmentação.
5.1 Desenvolvimento do Método de Segmentação
As funções desenvolvidas para cumprir as diversas etapas da metodologia de segmentação assenta- ram na linguagem de programaçãoPython[124]. O projeto desenvolvido tem a capacidade de realizar a
CAPÍTULO 5. IMPLEMENTAÇÃO PRÁTICA
leitura das imagens da base de dados, criação de máscaras, normalização, extração de características, classificação, armazenamento dos resultados e pós-processamento.
Na linguagem de programação utilizada encontram-se disponíveis vários pacotes, como por exemplo o mahotas [125], numpy [126], scipy [127], pytables e sklearn [124]. O acesso a estes pacotes foi vantajoso na medida em que permitiram uma implementação mais otimizada e imediata da metodologia de segmentação.
Complementarmente, algumas funções foram desenvolvidas em C++ eCythondada a existência de etapas chave que necessitavam de uma otimização da sua eficiência. Daí que, os algoritmos como a etapa de normalização e extração de características tenham sido desenvolvidos em C++.
5.2 Pré-processamento
Em conformidade com os conceitos teóricos descritos em 4.2 são, de seguida, apresentadas as etapas de pré-processamento efetuadas ao longo da presente dissertação.