• Sonuç bulunamadı

İDEALAR KURAMININ FELSEFİ YÖNDEN SAĞLADIĞI TASARRUFA)

Os trabalhos relacionados utilizaram diferentes metodologias para tratar os problemas de classificação hierárquica. Eles podem ser agrupados de acordo com as quatro abordagens discutidas na Seção 3.2.

Tabela 4.3: Níveis de predição.

Nível de Predição Trabalho

Não foram feitas predições para os nós-folha

(Jensen et al.,2002),(Weinert & Lopes,2004) Problema de predição opcional em

nós-folha

(Jensen et al., 2003), (Laegreid et al., 2003), (Tu et al., 2004), (Barutcuoglu et al., 2006), (Clare & King, 2001), (Clare & King, 2003),

Blockeel et al.(2002) Problema de predição obrigatória

em nós-folha

(Holden & Freitas, 2005), (Holden & Freitas,

2006), (Secker et al.,2007)

4.3.1 Transformação de um Problema de Classificação Hierár-

quica em um Problema de Classificação Plana

(Jensen et al.,2002) e (Weinert & Lopes, 2004) são dois exemplos da abor- dagem que transforma um problema hierárquico em um problema de classifi- cação plana.

Jensen et al. (2002) descreveram um método, denominado ProtFun, que utiliza um comitê de ANNs simples, com uma única camada intermediária totalmente conectada, para realizar predições de categorias protéicas.

A abordagem utilizada selecionou algumas categorias dos níveis mais altos do esquema de Riley e utilizou como entrada do método 14 atributos forneci- dos por diferentes métodos que fazem inferências sobre características de um gene a partir de sua seqüência.

Primeiramente, para cada categoria funcional foram treinadas ANNs, uma para cada atributo, para fazer a predição se uma determinada seqüência per- tencia à categoria em questão. Foram avaliados quais atributos foram capa- zes de prover informação para a predição de no mínimo uma categoria. Esses atributos selecionados foram então combinados dois a dois e utilizados para treinar outras ANNs. Depois, muitas redes foram treinadas, incrementando o número de atributos utilizados como entrada, e então as cinco melhores redes foram selecionadas para compor o comitê de ANNs.

Weinert & Lopes (2004) descreveram um modelo de classificação baseado em ANNs Perceptron Multicamadas, que foi aplicado para classificação de en- zimas encontradas no PDB (Bernstein et al.,1977), de modo a fazer inferências sobre suas características funcionais e estruturais. A idéia básica do traba- lho consistiu em utilizar um conjunto de ANNs para processar informações a respeito das estruturas primárias das proteínas codificadas para um formato apropriado para as redes. A estrutura primária de uma proteína é formada por uma seqüência de letras, que representam os aminoácidos.

todo. Apenas algumas classes dos primeiros níveis foram consideradas. Tais classes foram utilizadas em um processo de classificação plana convencional. Dessa forma, não foram necessárias modificações nas técnicas de classifica- ção utilizadas.

4.3.2 Predição Hierárquica de Classes utilizando Algoritmos de

Classificação Plana

Como exemplos da abordagem que divide um problema de classificação hierárquica em um conjunto de problemas de classificação plana, os seguin- tes trabalhos podem ser citados: (Clare & King, 2001), (Jensen et al., 2003), (Laegreid et al.,2003), (Tu et al., 2004) e (Barutcuoglu et al., 2006).

Clare & King (2001) propuseram um método de classificação que utiliza o algoritmo C4.5 (Quinlan, 1993), que induz ADs. Esse método foi aplicado a dados de experimentos de fenótipos. Tais experimentos consideraram a possibilidade de um gene poder pertencer a mais de uma classe funcional. Dessa forma, além das propriedades hierárquicas do problema de classifica- ção, esse método também considerou o aspecto multirótulos. Para tratar o aspecto multirótulos, alguns ajustes foram necessários no cálculo da entropia e para nomear os nós-folha das ADs, bem como na execução da poda.

Para realizar a classificação, foram criados classificadores separados para cada nível da hierarquia. Como o número de genes com funções conhecidas não eram suficientes para realizar o treinamento dos classificadores, princi- palmente nas camadas mais profundas, foi utilizado o método de reamostra- gem bootstrap, de modo a gerar mais conjuntos de treinamentos.

Em (Jensen et al., 2003), uma extensão do método proposto em (Jensen et al., 2002) foi descrita. Uma ANN feedfoward padrão com uma única ca- mada oculta de neurônios foi utilizada para treinar cada classe do GO (Gene Ontology). As ANNs foram treinadas com diferentes combinações de atributos, fornecendo como saída um valor booleano indicando se o exemplo pertencia à classe ou não. Os atributos utilizados como entrada da ANN foram os mesmos utilizados em (Jensen et al., 2002), com o acréscimo de mais dois atributos.

Para realizar o treinamento dos classificadores, combinações de cinco ANNs cada foram treinadas usando um único atributo como entrada. A partir desse procedimento, muitas categorias não se mostraram fortemente relacionadas com nenhum atributo e então foram descartadas, pois não seriam preditas com uma TA razoável. Para cada uma das classes restantes, consideradas passíveis de serem preditas, foram treinadas combinações de ANNs de modo semelhante ao descrito em (Jensen et al.,2002). Começou-se com um atributo como entrada para os classificadores e então descartou-se os piores atributos

e realizou-se combinações de atributos (variando o número e o tipo dos atri- butos), de modo a obter a melhor combinação de atributos para a arquitetura da rede. Ao final, foram descartadas mais classes (que eram muito similares a outras presentes no modelo), de modo a eliminar redundâncias na classifi- cação.

Aparentemente, o relacionamento hierárquico entre classes e suas respec- tivas subclasses foi virtualmente ignorado durante a fase de treinamento, já que cada execução da rede tratou a classe atual como positiva e as demais como negativas, independentemente de sua posição na hierarquia de classes (Freitas & Carvalho, 2007).

O trabalho descrito em (Laegreid et al., 2003) aborda a predição de clas- ses do GO utilizando uma combinação de um algoritmo de indução de regras baseado na teoria de rough-set (Pawlak, 1992) e um Algoritmo Genético - AG (Mitchell, 1996). O método descrito consiste em obter regras que modelem as relações entre expressão gênica em função do tempo e o envolvimento de um gene em processos biológicos, de modo a utilizar o modelo de classificação para predizer os papéis biológicos de genes desconhecidos.

O método de aprendizado supervisionado baseado na teoria de rough-set foi utilizado para gerar regras da forma “if-then” a partir de um conjunto de dados que descreve os níveis de transcrição de diferentes genes durante as primeiras 24 horas da resposta dos fibroblastos (célula constituinte das fibras estruturais e da substância fundamental dos tecidos conjuntivos) humanos ao fluido linfático (porção líquida do sangue separada das células) (Iyer et al.,

1999). O objetivo foi gerar um conjunto de regras para cada uma das 23 classes de processos metabólicos do GO consideradas na abordagem.

Antes da fase de treinamento, o método necessitou de um pré-processa- mento. Os genes utilizados no conjunto de treinamento foram agrupados nas 23 classes do GO, de acordo com conhecimento prévio. Se um gene perten- cesse a uma classe mais específica da hierarquia, ele era agrupado junto com os genes que pertenciam à classe ancestral, dentre as 23 classes consideradas pelo método, de sua classe original. Após esse processo de agrupamento dos genes, o algoritmo de aprendizado foi aplicado a cada classe, de modo a gerar um conjunto de regras.

A combinação dos perfis das propriedades observadas e dos intervalos de tempo gerou 55 atributos diferentes. Porém, na média, apenas três desses atributos foram utilizados para compor cada regra. Essa redução no número de atributos foi providenciada por meio da utilização de um AG.

Como pode ser notado, no método descrito os algoritmos para a geração de regras não trabalham diretamente com a hierarquia de classes DAG do GO. A hierarquia é utilizada apenas na fase de pré-processamento.

Embora os métodos propostos por Jensen et al. (2003) e Laegreid et al.

(2003) sejam diferentes e utilizem técnicas de AM distintas, eles são similares no que diz respeito à geração dos classificadores. Para os dois métodos, um modelo de classificação foi desenvolvido para cada classe individualmente e na classificação de um novo exemplo todos os modelos foram testados, sendo que aquele que apresenta uma melhor medida de confiança de que a classificação foi feita corretamente foi o utilizado para definir a classe a qual pertencia o exemplo.

Tu et al. (2004) propuseram um modelo de classificação para predição de funções de genes utilizando classes da hierarquia do GO. Este trabalho intro- duz o termo “predição baseado na capacidade de aprender” (learnability-based prediction), cujo conceito também foi utilizado na seleção de classes em (La- egreid et al., 2003) e (Jensen et al., 2003). Esse conceito baseia-se no pres- suposto de que nem todos os nós da hierarquia podem ser preditos com a TA necessária e que, portanto, deve-se focar naqueles para os quais os classifica- dores podem ser construídos com maior confiança de predição.

Esse modelo, que usa ANNs para classificação plana como algoritmo de aprendizado, foi desenvolvido com o objetivo de inferir anotações para classes mais específicas a partir das anotações conhecidas para suas superclasses. A motivação central para a construção desse modelo foi a de tentar fazer uma predição adicional, ou seja, classificar genes, que foram anotados para uma classe pai, em suas classes filhas. Como aplicação, foram utilizados os dados oriundos do banco de dados das respostas dos fibroblastos humanos ao fluido linfático.

De modo a garantir a TA de predição, foram feitas restrições no número de filhos da classe e no número de genes preditos para a mesma classe. A partir de tais restrições, houve uma redução no número de classes da onto- logia de processos do GO considerada pelo método. Cada uma das classes restantes foi utilizada para a geração de espaços de classificação, composto pela classe selecionada e por suas subclasses. Para cada um desses espa- ços de classificação, foram construídos classificadores candidatos, utilizando ANNs feedforward. Em seguida, a precisão das predições foi medida com base no valor do índice ATI (Averaged Tanimoto Index), que foi originalmente pro- posto para medir a similaridade entre vetores. Com base nos valores obtidos para o ATI de cada classe, aquelas classes que obtiveram valor menor que um certo limite foram eliminadas e as restantes foram utilizadas para realizar as predições adicionais para os espaços de classificação.

Diferentemente de Jensen et al.(2003),Tu et al. (2004) levaram em conta o relacionamento hierárquico entre as classes, por meio da criação dos espaços de classificação, de modo a representar a relação de uma classe com suas

subclasses.

Embora com uma abordagem diferente da utilizada em (Laegreid et al.,

2003), pode-se dizer que em (Tu et al., 2004), o modelo de classificação tam- bém só trabalha com a hierarquia de classes DAG do GO numa fase de pré- processamento, na qual são selecionados os espaços de classificação candi- datos. Após essa etapa, cada espaço de classificação se transforma em um problema de classificação plana.

Em (Barutcuoglu et al., 2006), são utilizadas SVMs para indução dos mo- delos de classificação. Inicialmente, são treinados classificadores indepen- dentemente para cada classe. Para permitir colaboração na correção de erros entre todos os nós, é projetado um esquema combinacional hierárquico Baye- siano. O framework Bayesiano combina os múltiplos classificadores baseados nos limites da hierarquia funcional, de modo a obter o mais provável conjunto consistente de predições.

4.3.3 Classificação Hierárquica Top-Down

(Holden & Freitas, 2005) e (Holden & Freitas, 2006) são exemplos de tra- balhos que utilizaram métodos Top-Down para classificação hierárquica. Em

Secker et al.(2007), foi proposta uma variação da abordagem Top-Down, além de terem sido implementados algoritmos seguindo a abordagem convencional. Em (Holden & Freitas,2005), foi proposto um algoritmo híbrido para tratar problemas de classificação hierárquica, por meio da combinação de caracte- rísticas dos algoritmos PSO (Particle Swarm Optimization) (Sousa et al., 2004) e ACO (Ant Colony Optimization) (Parpinelli et al., 2002). Embora os dois al- goritmos tenham sido desenvolvidos, individualmente, para tarefas de classi- ficação, o algoritmo híbrido foi desenvolvido com o intuito de tratar algumas de suas limitações.

O algoritmo ACO requer uma quantidade de computação extremamente grande quando são utilizadas grandes quantidades de classes e atributos. Além disso, para trabalhar com atributos contínuos, se faz necessário adicio- nar uma etapa de pré-processamento ao algoritmo. Nessa etapa, os atributos são convertidos para valores discretos, o que pode diminuir a TA e aumentar o tempo de processamento.

O algoritmo PSO lida com atributos categóricos de uma maneira menos natural que o ACO. Para permitir que o PSO tratasse atributos categóricos multivalorados, o algoritmo padrão foi estendido, recebendo o nome de PSO Discreto (Discrete PSO - DPSO). A idéia básica desse algoritmo é que cada valor possível para um atributo categórico é atribuído a um índice numérico, que então é convertido para uma cadeia binária. Em seguida, o PSO binário

padrão pode ser aplicado. Porém, a conversão em uma cadeia binária resulta em alguns inconvenientes para as características do PSO, como discutido em (Holden & Freitas, 2005).

Uma vez que tarefas de classificação usualmente envolvem valores de atri- butos contínuos e categóricos, as características dos algoritmos PSO e do ACO foram combinadas, de modo a resolver as limitações dos valores dos atributos. De uma maneira geral, a idéia básica da hibridização é criar uma “população de colônia de formigas” (Holden & Freitas, 2005).

O algoritmo usa uma abordagem seqüencial para descobrir as regras de classificação. Inicialmente, o conjunto de regras é vazio. Para cada nível hie- rárquico de classes e para cada classe do nível, o algoritmo PSO/ACO realiza o procedimento de produção de uma regra. Em outras palavras, a cada itera- ção, uma regra de classificação é obtida para uma determinada classe. Dessa forma, em essência, o algoritmo híbrido PSO/ACO é um algoritmo de classifi- cação plana em sua fase de treinamento, pois a cada iteração do algoritmo é produzida uma regra para apenas um nó, tratando-se assim de um problema de classificação plana (Freitas & Carvalho,2007). Porém, ao final da execução do algoritmo, tem-se como resultado um conjunto hierárquico de regras.

Na classificação de um novo exemplo no conjunto de teste, o exemplo é apresentado à raiz da hierarquia e é classificado com base no conjunto de regras associado aos nós pertencente ao primeiro nível da hierarquia. No próximo nível, o exemplo será classificado com base no conjunto de regras associado aos nós filhos da classe a qual o exemplo foi associado no nível anterior. E assim o procedimento é repetido até que se atinja a copa (nível mais profundo) da árvore.

Em (Holden & Freitas, 2006), foi utilizado o mesmo algoritmo híbrido pro- posto em (Holden & Freitas, 2005), apenas com algumas modificações na ma- neira como é calculada a qualidade de cada regra no processo de treinamento e no modo como é medida a TA, como é discutido na Seção 4.4.

Secker et al. (2007) propuseram uma variação da abordagem Top-Down, denominada Selective Top-Down, que utiliza múltiplas técnicas de AM na ge- ração do modelo de classificação. Para isso, a cada iteração do algoritmo, um procedimento seletivo é utilizado para decidir qual técnica deve ser utilizada na geração do classificador. Em (Secker et al., 2007), um algoritmo Selective Top-Down foi implementado baseado em dez técnicas: Naive Bayes (Mitchell,

1997); Redes Bayesianas (BayesNet) (Friedman et al., 1997); KNN (Cover & Hart, 1967), com K = 3; C4.5 (Quinlan, 1993); ANNs (Haykin, 1999b); SMO (Keerthi et al.,2001); PART (Frank & Witten,1998); Naive Bayes Tree (Kohavi,

1996); AIRS2 (um classificador baseado no paradigma de sistemas imunoló- gicos artificiais (Watkins et al., 2004)); e Conjunctive Rules Learner (Mitchell,

1997). No procedimento seletivo, para cada iteração, 20% dos dados de trei- namento foram reservados para validação e 80% dos dados foram utilizados para induzir um classificador para cada técnica, de forma a selecionar o clas- sificador com a maior TA. Além do algoritmo Selective Top-Down, foram im- plementados dez algoritmos Top-Down convencionais, cada um deles baseado em umas das técnicas utilizadas na implementação do Selective Top-Down.

4.3.4 Classificação Hierárquica Big-Bang

Dois exemplos da abordagem Big-Bang são: (Clare & King,2003) e (Blockeel et al.,2002).

Clare & King(2003) utilizaram o método DMP (Data Mining Prediction) (King et al., 2000), com algumas modificações, para predição de classes funcionais para ORFs de Saccharomyces cerevisiae (leveduras). A partir do banco de da- dos relacional contendo descrições de seqüências, o método DMP foi utilizado para gerar regras para predição das classes funcionais das proteínas.

Em sua forma padrão, o DMP utiliza o WARMR, um algoritmo de ILP - Inductive Logic Programimg (Muggleton, 1999), e os algoritmos de AM C4.5 e C5.0, como pode ser visto na Figura4.1.

O DMP utiliza o WARMR detectar padrões freqüentes nas descrições das seqüências. Os padrões são então utilizados na geração das regras com atri- butos booleanos, ou seja, o atributo tem valor 1 se o padrão está presente, e valor 0, caso contrário. A geração das regras de classificação é realizada pelos algoritmos C4.5 e C5.0. Após a geração das regras, aquelas mais significativas estatisticamente são selecionadas a partir da etapa de validação, na qual são utilizados dados gerados pelo WARMR que foram separados para essa etapa de seleção das melhores regras.

Porém, em (Clare & King, 2003), algumas modificações foram necessárias nos algoritmos utilizados no método original, que foi aplicado aos genomas da M.tuberculosis e da E.coli.

Devido ao fato de as leveduras possuírem um genoma maior que M.tu- berculosis e E.coli, o algoritmo WARMR não foi capaz de processar a grande quantidade de dados. Assim, foi desenvolvido um novo algoritmo baseado no WARMR, o PolyFARM. Este algoritmo foi desenvolvido especificamente para essa tarefa e pode ser executado de forma distribuída.

Além disso, o sistema de classificação funcional para leveduras permite que ORFs pertençam a mais de uma classe, consistindo assim em um pro- blema de classificação multirótulos. Esse requisito exigiu modificações no algoritmo C4.5 no que diz respeito à entropia, medida interna para escolha da melhor decisão a cada estágio. Estruturas de dados, métodos de poda e

Figura 4.1: Esquema Geral do DMP (King et al., 2000).

geração de regras também necessitaram ser modificados. Adicionalmente, a estrutura hierárquica do problema também exigiu modificações no algoritmo C4.5. Tais modificações levaram em consideração que classes em níveis mais gerais tendem a ter menor entropia que classes mais específicas, nos níveis mais próximos à copa da árvore.

Como a versão hierárquica do C4.5, denominada de HC4.5, considerou a hierarquia de classes inteira durante seu treinamento e produziu um modelo de classificação hierárquico em uma única execução do algoritmo, este tra- balho pode ser considerado um exemplo da abordagem “Big-Bang” (Freitas & Carvalho,2007).

Em (Blockeel et al., 2002), foi descrito um algoritmo para classificação hi- erárquica multirótulos, denominado de CLUS, que gera uma única AD para

toda a hierarquia. Esse algoritmo de indução da AD é baseado na noção de predictive clustering trees (Blockeel et al., 1998).

Um algoritmo para indução da árvore é essencialmente um TDIDT (Top- down induction of decision trees) padrão. Dessa forma, a idéia geral do CLUS consiste em particionar recursivamente o conjunto de dados de maneira que a variância intra-cluster seja minimizada. Esse cálculo é utilizado para selecio- nar os testes que serão inseridos como nós da AD. Em seguida, uma parte de dados é selecionada para treinamento e então busca-se no loop principal do algoritmo o teste valor-atributo que melhor pode ser escolhido. Se o teste for encontrado, então é criado um nó e o algoritmo é chamado recursivamente. Se o teste não puder ser encontrado, então é criada uma folha.

O CLUS possui uma série de opções como: definição de parte do conjunto de treinamento para ser utilizado na poda da AD, especificação de conjuntos de testes e especificação do número de partições para a realização de k-fold cross-validation.

Na Tabela 4.4, são resumidas as informações discutidas nesse tópico.