Reduc¸˜ao de dimensionalidade utilizando entropia condicional m´edia: aplicac¸˜oes
em filtragem de imagens e em reconhecimento de texturas
David C. Martins-Jr, Roberto M. Cesar-Jr., Junior Barrera
USP–Universidade de S˜ao Paulo
IME–Instituto de Matem´atica e Estat´ıstica
Rua do Mat˜ao, 1010 - Cidade Universit´aria
CEP: 05508-090, S˜ao Paulo, SP, Brasil
{davidjr,cesar,jb}@ime.usp.br
Resumo
A reduc¸˜ao de dimensionalidade ´e um problema muito importante em reconhecimento de padr˜oes, podendo ser formulada como um problema de otimizac¸˜ao. Dentre as t´ecnicas de reduc¸˜ao de dimensionalidade, a de selec¸˜ao de caracter´ısticas foi nosso principal foco. Para tratar casos mais gen´ericos, este trabalho prop˜oe uma func¸˜ao crit´erio, baseada em princ´ıpios de teoria estat´ıstica como entro-pia e informac¸˜ao m´utua, a ser embutida nos algoritmos de selec¸˜ao de caracter´ısticas. A proposta dessa abordagem ´e possibilitar a classificac¸˜ao dos dados em duas ou mais classes, levando em conta um pequeno subespac¸o de carac-ter´ısticas. Resultados de filtragem de imagens e de reco-nhecimento de texturas corroboram a t´ecnica introduzida.
1. Introduc¸˜ao
A ´area de reconhecimento de padr˜oes visa resolver proble-mas de classificac¸˜ao de objetos ou padr˜oes em um n´umero de categorias ou classes [1]. Um sistema de reconhecimento de padr˜oes tem como finalidade associar um padr˜ao desco-nhecido a uma classe com base em medidas definidas so-bre um espac¸o de caracter´ısticas. Em diversas aplicac¸˜oes, a dimens˜ao do espac¸o de caracter´ısticas dos objetos tende a ser relativamente grande, tornando a tarefa de classificac¸˜ao bastante complexa e sujeita a erros. Deve-se a esse fato a importˆancia do estudo do problema de reduc¸˜ao de dimensi-onalidade em reconhecimento de padr˜oes.
A reduc¸˜ao de dimensionalidade ´e um problema gen´erico no qual se deseja identificar um subespac¸o suficientemente reduzido de caracter´ısticas que seja capaz de representar qualquer padr˜ao conhecido de acordo com um determinado crit´erio. Existem diversas abordagens para tratar este pro-blema, dentre as quais o enfoque foi sobre selec¸˜ao de carac-ter´ısticas.
A selec¸˜ao de caracter´ısticas pode ser aplicada em v´arias situac¸˜oes onde verifica-se um grande espac¸o de caracter´ısticas e deseja-se selecionar um subespac¸o
adequado. Aplicac¸˜oes em processamento de
ima-gens figuram entre elas, tendo sido os principais al-vos de nosso estudo. A dissertac¸˜ao de mestrado [2],
dispon´ıvel em http://www.vision.ime.usp.br/
˜davidjr/mestrado/dissertacao.pdf, prop˜oe
uma func¸˜ao crit´erio para selec¸˜ao de caracter´ısticas base-ada em conceitos de teoria da informac¸˜ao, tendo centrali-zado os esforc¸os sobre projeto de W-operadores em an´alise e processamento de imagens. O crit´erio desenvolvido foi aplicado com sucesso para selec¸˜ao de caracter´ısticas nesse problema.
Este artigo ´e dividido do seguinte modo. A Sec¸˜ao 2 apre-senta uma vis˜ao geral sobre a ´area de reconhecimento de padr˜oes, bem como a importˆancia da reduc¸˜ao de dimensi-onalidade nesse contexto. A Sec¸˜ao 3 formula o problema de selec¸˜ao de caracter´ısticas, fazendo uma s´ıntese dos prin-cipais algoritmos e func¸˜oes crit´erio que buscam resolvˆe-lo. A Sec¸˜ao 4 apresenta a noc¸˜ao de entropia condicional e a forma com que esse conceito foi utilizado neste trabalho como func¸˜ao crit´erio para selec¸˜ao de caracter´ısticas. Re-sultados dessa abordagem atrav´es de experimentos com da-dos simulada-dos e de processamento de imagens (filtragem de imagens ruidosas e reconhecimento de texturas) s˜ao discu-tidos na Sec¸˜ao 5. Este texto ´e finalizado com uma breve conclus˜ao encontrada na Sec¸˜ao 6.
2. Reconhecimento de padr˜oes
Atribuir um r´otulo a um determinado objeto ou padr˜ao ´e o objetivo final de reconhecimento de padr˜oes. Inicialmente, temos os objetos do mundo real, sendo desejado particion´a-los em classes com base em suas respectivas caracter´ısticas. Objetos que partilham alguma relac¸˜ao particular entre si s˜ao
pertencentes `a mesma classe, ou seja, possuem um mesmo
r´otulo.
H´a diversas abordagens para se realizar reconhecimento de padr˜oes. Dentre elas, este trabalho se encaixa justa-mente na abordagem estat´ıstica, em que cada padr˜ao ´e representado por um vetor aleat´orio de n caracter´ısticas
X = (X1, X2, ..., Xn) [1]. Cada padr˜ao observado xi =
(x1, x2, ..., xn) ´e uma amostra de X.
Um sistema de reconhecimento estat´ıstico de padr˜oes ´e composto principalmente pelos seguintes subsistemas [3, 4]:
• sistema de aquisic¸˜ao dos dados, atrav´es de sensores ou
cˆameras, por exemplo;
• sistema de pr´e-processamento, para eliminar ru´ıdos e
normalizar os dados;
• extrator de caracter´ısticas, que cria um vetor de
carac-ter´ısticas `a partir dos dados obtidos;
• sistema de reduc¸˜ao de dimensionalidade, onde se
ana-lisa o conjunto de caracter´ısticas e devolve um outro conjunto contendo apenas algumas das caracter´ısticas mais importantes, ou uma combinac¸˜ao de algumas de-las;
• classificador, que toma uma certa decis˜ao ap´os a
an´alise de um determinado padr˜ao.
Dado um conjunto de amostras de treinamento, o obje-tivo principal em reconhecimento de padr˜oes ´e o de projetar um classificador que infira um determindado r´otulo a um novo padr˜ao a partir desse conjunto com a menor margem de erro poss´ıvel. Se cada uma dessas amostras do conjunto de treinamento j´a possu´ır um r´otulo associado conhecido, trata-se de classificac¸˜ao supervisionada. Existe tamb´em a
classificac¸˜ao n˜ao-supervisionada na qual as amostras n˜ao
possuem r´otulo conhecido a priori [5]. Nossa pesquisa tem se concentrado no primeiro tipo de classificac¸˜ao.
Dimensionalidade ´e o termo atribu´ıdo ao n´umero de
ca-racter´ısticas utilizadas na representac¸˜ao de padr˜oes de ob-jetos, ou seja, `a dimens˜ao do vetor X. Reduzir a dimensi-onalidade significa selecionar um subespac¸o do espac¸o de caracter´ısticas para representar os padr˜oes. A reduc¸˜ao de dimensionalidade faz-se necess´aria para evitar o problema
da dimensionalidade [4].
O problema da dimensionalidade ou comportamento da “curva em U” [4] ´e um fenˆomeno em que o n´umero de amostras de treinamento exigido para que um classificador tenha um desempenho satisfat´orio ´e dado por uma func¸˜ao exponencial da dimens˜ao do espac¸o de caracter´ısticas. Este ´e o principal motivo pelo qual a realizac¸˜ao de reduc¸˜ao de dimensionalidade se faz importante em problemas de classificac¸˜ao nos quais os padr˜oes medidos possuem um
n´umero elevado de atributos e apenas um n´umero limitado de amostras de treinamento.
A Figura 1 ilustra o problema da “curva em U”. Con-sidere um n´umero de amostras de treinamento fixo. Para dimens˜oes entre zero e m1, adicionar caracter´ısticas
im-plica melhores resultados de classificac¸˜ao, pois o n´umero de caracter´ısticas nessa regi˜ao ´e insuficiente para separar as classes. Entre m1 e m2, a adic¸˜ao de caracter´ısticas n˜ao
diminui significativamente a taxa de erro do classificador, implicando que as caracter´ısticas mais importantes j´a foram inseridas at´e o ponto m1. O problema da dimensionalidade
ocorre de fato na regi˜ao posterior a m2onde a adic¸˜ao de
ca-racter´ısticas piora o desempenho do classificador devido ao n´umero insuficiente de amostras em relac¸˜ao ao n´umero de caracter´ısticas.
Figura 1. Gr ´afico da taxa de erro em func¸ ˜ao da dimen-sionalidade com n ´umero fixo de amostras ilustrando o pro-blema da “curva em U”.
Existem basicamente duas abordagens para se efetuar reduc¸˜ao de dimensionalidade: fus˜ao (ou extrac¸˜ao) de ca-racter´ısticas e selec¸˜ao de caca-racter´ısticas [6]. Os algoritmos de fus˜ao de caracter´ısticas criam novas caracter´ısticas a par-tir de transformac¸˜oes ou combinac¸˜oes do conjunto original. J´a os m´etodos de selec¸˜ao buscam selecionar o melhor sub-conjunto de caracter´ısticas de acordo com um algoritmo de busca orientado por uma func¸˜ao crit´erio.
3. Selec¸˜ao de caracter´ısticas
Seja X = (X1, X2, ..., Xn) um vetor aleat´orio denominado
vetor de caracter´ısticas. Seja Y uma vari´avel aleat´oria
de-nominada classe ou r´otulo. Classificar um padr˜ao x =
(x1, x2, ..., xn), isto ´e, uma amostra de X, ´e associar a ele um r´otulo y ∈ {0, 1, ..., c}. Em reconhecimento de padr˜oes por classificac¸˜ao supervisionada, dado um conjunto de amostras de treinamento T onde cada amostra ´e repre-sentada pelo par (x, y), deseja-se obter um bom classifica-dor representado por uma func¸˜ao ψ tal que ψ(x) = y.
Selecionar caracter´ısticas significa tentar descobrir um subconjunto Z do conjunto potˆencia P(I) (conjunto de to-dos os poss´ıveis subconjuntos de I = {1, 2, ..., n}), em que
I ´e o conjunto de ´ındices do espac¸o total de caracter´ısticas,
tal que XZ seja um bom subespac¸o representante de X. Por exemplo, se Z = {1, 3, 5}, ent˜ao XZ = X{1,3,5} =
{X1, X3, X5}.
Ap´os a selec¸˜ao de caracter´ısticas, projeta-se um classifi-cador ψ baseado em XZtal que ψ(xZ) = y.
Como se pode ver, selec¸˜ao de caracter´ısticas ´e um pro-blema de otimizac¸˜ao que, dado um conjunto de n carac-ter´ısticas, objetiva selecionar um subconjunto de tamanho d (d ≤ n) que otimiza uma determinada func¸˜ao crit´erio. Ou seja, este problema ´e resolvido selecionando-se Z∗⊆ I de
acordo com a seguinte equac¸˜ao (1).
Z∗: F(XZ∗) = minZ⊆I{F(XZ)}, (1)
na qual F (·) denota a func¸˜ao crit´erio. Dependendo da func¸˜ao crit´erio, pode ser conveniente maximiz´a-la ao inv´es de minimiz´a-la.
´
E importante notar que a explorac¸˜ao de todos os ele-mentos de P(I) solucionaria o problema, mas isto ´e im-pratic´avel em geral. Portanto, a selec¸˜ao de caracter´ısticas engloba duas partes fundamentais: um algoritmo de busca e uma func¸˜ao crit´erio.
Existem heur´ısticas de busca que tentam obter um con-junto sub-´otimo explorando um espac¸o de busca muito me-nor do que o espac¸o inteiro das combinac¸˜oes. As mais conhecidas e utilizadas s˜ao as seguintes (todas elas s˜ao heur´ısticas determin´ısticas de soluc¸˜ao ´unica):
• Melhores Caracter´ısticas Individuais [1, 7]: a mais
simples de todas;
• Busca Seq¨uencial para Frente (SFS - Sequential
Forward Search) [1, 7]: simples, eficiente e em
ge-ral apresenta resultados melhores que a heur´ıstica an-terior;
• Busca Seq¨uencial para Frente Generalizada (GSFS
-Generalized Sequential Forward Search) [1, 8]: como
a anterior, permitindo tamb´em adic¸˜ao de subconjuntos de caracter´ısticas de tamanho fixo;
• Mais l - menos r (PTA - Plus l - Take Away r): tenta
amenizar o efeito nesting1[1, 8];
• Busca Seq¨uencial Flutuante para Frente (SFFS -
Se-quential Floating Forward Search) [1, 9]: melhor
custo-benef´ıcio (eficiente com resultados muito bons);
• Busca Seq¨uencial Flutuante Adaptativa para Frente
(ASFFS - Adaptative Sequential Floating Forward
Se-arch) [8]: resultados um pouco melhores que o da
heur´ıstica anterior, por´em muito mais lentos.
1Efeito nesting: nem sempre as melhores caracter´ısticas individuais
formam bons subespac¸os de caracter´ısticas quando combinadas entre si. Al´em disso, ´e poss´ıvel que caracter´ısticas ruins isoladamente formem bons subespac¸os quando combinadas.
Todos os algoritmos com a denominac¸˜ao “Forward” ou “para frente” possuem uma vers˜ao an´aloga que retira ao inv´es de adicionar elementos (“Backward” - para tr´as).
Com relac¸˜ao `as func¸˜oes crit´erio, uma bastante utilizada ´e o erro do classificador. Quando n˜ao se sabe a distribuic¸˜ao dos dados, utiliza-se os padr˜oes de treinamento e de teste no espac¸o determinado pelo conjunto de caracter´ısticas para avaliar o desempenho de um classificador [6]. Quanto me-nor o erro, melhor ´e o conjunto de caracter´ısticas. Mas deve-se tomar o cuidado de n˜ao estimar a probabilidade do erro do classificador ap´os a selec¸˜ao de caracter´ısticas com base no conjunto de treinamento e de testes utilizado no pro-cesso de selec¸˜ao. Caso contr´ario, o classificador ser´a ajus-tado especificamente para o conjunto de padr˜oes utilizado em seu projeto, e a estimativa da probabilidade de erro ser´a muito otimista.
Existe tamb´em uma classe de func¸˜oes crit´erio baseada em distˆancia entre classes. Dentre as principais, temos [1, 6]:
• Distˆancia entre os centr´oides das classes: para
cal-cular essa medida, basta determinar os centr´oides das classes e medir a distˆancia entre eles.
• Distˆancia entre vizinhos mais pr´oximos, mais
distan-tes e m´edia: no c´alculo dessas distˆancias, devemos
considerar, respectivamente, o m´ınimo, o m´aximo ou a m´edia das distˆancias entre os padr˜oes de treinamento de duas classes diferentes.
• Distˆancia baseada em matrizes de espalhamento:
uti-lizam medidas de separabilidade baseadas em an´alise de discriminantes.
• Distˆancia de Mahalanobis: utilizada para medir a
distˆancia entre classes de padr˜oes.
• Distˆancia de Bhattacharyya e divergˆencia: baseia-se
nas func¸˜oes densidade de probabilidade das classes, de forma que a distˆancia espacial entre os conjuntos n˜ao seja considerada, mas sim a diferenc¸a entre a forma deles.
• Distˆancias nebulosas: medidas que utilizam informac¸˜oes obtidas a partir da fuzzyficac¸˜ao en-tre conjuntos (transformac¸˜ao dos conjuntos de treinamento em conjuntos nebulosos), como os supor-tes dos conjuntos e os coeficiensupor-tes de pertinˆencia dos padr˜oes [10, 11].
A maior parte das func¸˜oes crit´erio baseadas em distˆancia tendem a privilegiar caracter´ısticas que deixem as classes linearmente separ´aveis (Figura 2-a). Por´em, existem ca-sos nos quais um subespac¸o de caracter´ısticas ´e conside-rado um bom sepaconside-rador, mesmo que ele n˜ao deixe as clas-ses linearmente separ´aveis. Exemplos disso est˜ao ilustra-dos nas Figuras 2-b e 2-c. Um outro problema ´e que tais
crit´erios ficam restritos apenas a encontrar subespac¸os de caracter´ısticas que separam duas classes, embora na maior parte dos problemas de reconhecimento de padr˜oes, existam mais de duas classes poss´ıveis.
(a) (b) (c)
Figura 2. (a) classes linearmente separ ´aveis; (b) classes c ˆoncavas entre si; (c) classes envolventes.
Para contornar esses problemas, propomos um crit´erio para selec¸˜ao de caracter´ısticas que n˜ao se baseia na geo-metria dos pontos formados pelos padr˜oes no espac¸o, mas sim no grau de informac¸˜ao que um determinado subespac¸o de caracter´ısticas fornece com relac¸˜ao ao comportamento da vari´avel de classe, independente do n´umero de valores distintos que esta vari´avel possa assumir. Esse crit´erio ´e baseado em princ´ıpios de teoria estat´ıstica como entropia e
informac¸˜ao m´utua. Tal crit´erio distingue bons subespac¸os
de caracter´ısticas de acordo com a distribuic¸˜ao de probabili-dades condicionais entre suas instˆancias e as classes, sendo independente do erro do classificador.
4. Selec¸˜ao de caracter´ısticas por an´alise da
en-tropia condicional
Seja xZ uma amostra de XZ e Y uma vari´avel aleat´oria representando o conjunto de r´otulos. O interesse est´a em descobrir alguma maneira de medir quantitativamente a predic¸˜ao do comportamento de Y com base em xZ. Se Y for fortemente predito por xZent˜ao, dado xZ, pode-se in-ferir o valor de Y com alta probabilidade de acerto. A res-posta a esta quest˜ao ´e encontrada na teoria da informac¸˜ao formulada por Claude Shannon [12].
O conceito de entropia (entropia de Shannon) ´e o de uma medida de informac¸˜ao calculada pelas probabilidades de ocorrˆencia de eventos individuais ou combinados [13]. Sejam X e Y vari´aveis aleat´orias e P a func¸˜ao probabili-dade. Formalmente, a entropia de X ´e definida como:
H(X) = −X
x∈X
P (x)logP (x) (2) A entropia conjunta de X e Y ´e definida como:
H(X, Y ) = −X
x∈X
X
y∈Y
P (x, y)logP (x, y) (3) E a entropia condicional de Y dado X:
H(Y |X) = −X
x∈X
X
y∈Y
P (y|x)logP (y|x) (4) Observac¸˜ao 1: caso a probabilidade P (·) seja nula, por convenc¸˜ao adota-se log0 = 0 para o c´alculo da entropia H. Observac¸˜ao 2: todas as definic¸˜oes de entropia (Equac¸˜oes 2, 3 e 4) aplicam-se tamb´em para X sendo um vetor aleat´orio (X).
Informac¸˜ao m´utua, M , (tamb´em conhecida como ganho de informac¸˜ao [14]) ´e definida como uma soma das
entro-pias individuais menos a entropia conjunta, sendo uma me-dida de correlac¸˜ao entre duas vari´aveis X e Y [13]. A entro-pia condicional H(Y |X) ´e a diferenc¸a da entroentro-pia conjunta
H(X, Y ) com relac¸˜ao `a entropia individual H(X). Ent˜ao: M (X, Y ) = H(X)+H(Y )−H(X, Y ) = H(Y )−H(Y |X)
(5) pois H(Y |X) = H(X, Y ) − H(X) [14].
A id´eia central ´e encontrar o subespac¸o XZ de carac-ter´ısticas que maximiza a informac¸˜ao m´utua m´edia de to-das as poss´ıveis instˆancias xZi, 1 ≤ i ≤ m com relac¸˜ao
a Y , sendo m o n´umero de instˆancias poss´ıveis de XZ. Em outras palavras, maximizar a informac¸˜ao m´utua m´edia neste caso ´e equivalente a encontrar o subespac¸o de carac-ter´ısticas que realiza a melhor predic¸˜ao do r´otulo ou classe de um determinado padr˜ao pertencente `as amostras de trei-namento. Isto porque a Equac¸˜ao 5 pode ser interpretada do seguinte modo. Caso X consiga organizar adequadamente a informac¸˜ao sobre Y (H(Y |X) baixo), mesmo que Y te-nha um comportamento muito ca´otico (H(Y ) alto), ent˜ao a informac¸˜ao obtida de Y atrav´es de X ser´a bastante valiosa (M (X, Y ) alto).
Como os valores de Y s˜ao fixos para um determinado conjunto de treinamento, H(Y ) ter´a sempre o mesmo valor para qualquer conjunto XZ. Portanto, dada esta constatac¸˜ao e a Equac¸˜ao 5, quanto menor a informac¸˜ao m´utua, maior a entropia condicional. Isto implica que a entropia condici-onal H(Y |XZ = xZi) ´e suficiente para avaliar
quantitati-vamente a informac¸˜ao de Y condicionada a uma poss´ıvel instˆancia xZi de XZ. Com base na Equac¸˜ao 4, temos que a
f´ormula de H(Y |XZ= xZi) ´e dada pela seguinte equac¸˜ao:
H(Y |XZ= xZi) = −
c
X
y=1
P (y|xZi)logP (y|xZi) (6)
em que c ´e o n´umero de classes de Y .
A motivac¸˜ao para o estudo da entropia como func¸˜ao crit´erio para selec¸˜ao de caracter´ısticas surge da capacidade que esse conceito estat´ıstico possui de medir o grau de aleatoriedade (ou de incerteza) de vari´aveis individuais ou combinadas. Dada a distribuic¸˜ao de XZ, quanto menor o
grau de aleatoriedade de Y condicionado aos valores de
XZ, mais informac¸˜ao teremos sobre o comportamento de
Y quando tomamos como referˆencia os valores de XZ. Um caso extremo ´e quando Y for totalmente determinado por
XZ, tendo grau de aleatoriedade nula, ou seja, a entropia condicional H(Y |XZ) neste caso ´e nula.
Para dar uma id´eia sobre o potencial da entropia como crit´erio para selec¸˜ao de caracter´ısticas, considere o gr´afico onde os r´otulos Y s˜ao representados pela abscissa e a pro-babilidade de um padr˜ao ser rotulado como Y = y dada a ocorrˆencia da instˆancia xZi representada pela ordenada
(Figura 3). Se ele apresentar um pico saliente (massa de probabilidades bem concentrada), isso significa que a entro-pia condicional H(Y |xZi) ´e pequena, isto ´e, xZi prediz os
r´otulos de Y com boa confianc¸a. Por outro lado, se o gr´afico apresenta-se achatado (massa de probabilidades bem dis-tribu´ıda), a entropia H(Y |xZi) ´e alta, significando que xZi
n˜ao prediz Y . Portanto, a entropia condicional pode ser usada como um crit´erio bastante apropriado para realizar selec¸˜ao de caracter´ısticas.
Figura 3.(a) Baixa entropia; (b) Alta entropia.
Enfim, para decidir se XZprediz Y , basta calcular a en-tropia condicional m´edia de todas as poss´ıveis instˆancias
xZ1, xZ2, ..., xZm ponderada pelo n´umero de ocorrˆencias
de cada uma das instˆancias no conjunto de treinamento. A isto, denominamos entropia condicional m´edia de Y dado
XZ(denotado E[H(Y |XZ)]) definida pela Equac¸˜ao 7:
E[H(Y |XZ)] = m X i=1 H(Y |xZi) · oi t (7)
em que oi ´e o n´umero de ocorrˆencias da instˆancia xZi no
conjunto de treinamento, t ´e o n´umero de amostras do con-junto de treinamento e m ´e o n´umero de instˆancias poss´ıveis de XZ. O valor de m ´e dado por pd, em que p ´e o n´umero de valores discretos que cada caracter´ıstica pode assumir, e
d ´e a dimens˜ao de XZ(n´umero de caracter´ısticas). A equac¸˜ao anterior funciona bem para os casos nos quais todas as poss´ıveis instˆancias de XZ s˜ao observadas
pelo menos uma vez no conjunto de treinamento. Para os casos em que nem todas as instˆancias s˜ao observa-das, ´e necess´ario um refinamento da f´ormula para adequ´a-los. Subespac¸os de caracter´ısticas que possuem muitas instˆancias n˜ao observadas no conjunto de treinamento s˜ao indesejados pois, caso essas instˆancias aparec¸am nas amos-tras do conjunto de teste, um classificador baseado em tal subespac¸o acaba sendo forc¸ado a inferir uma classe qual-quer a essas instˆancias sem nenhum conhecimento a priori. Com a finalidade de amenizar esse problema, supo-nha que XZi seja uma instˆancia n˜ao observada de XZ.
Como este ´e um caso indesejado, podemos atribuir en-tropia m´axima a H(Y |XZi). Para isso, basta fazer
com que P (Y |XZi) tenha distribuic¸˜ao uniforme, ou seja,
P (y|XZi) = 1/c para todo y ∈ Y = {1, 2, ..., c}. Como
espera-se que essas instˆancias sejam raras nas amostras de teste se o conjunto de treinamento for adequado, parece uma boa id´eia fazer com que suas entropias entrem com peso m´ınimo no cˆomputo da entropia condicional m´edia. So-mando uma constante α > 0 ao n´umero de ocorrˆencias de cada uma das poss´ıveis instˆancias, garante-se que o menor peso ser´a dado a essas instˆancias n˜ao observadas. Assim, a f´ormula da entropia condicional m´edia, que tamb´em leva em conta as instˆancias n˜ao observadas, pode ser definida pela Equac¸˜ao 8. Utilizamos α = 1 em todos os experimen-tos realizados. E[H(Y |XZ)] = m X i=1 H(Y |xZi) · (oi+ α) αm + t (8)
em que H(Y |xZi) = −log(1/c) caso xZi n˜ao tenha sido
observado no conjunto de treinamento (entropia m´axima). Ent˜ao o problema ´e resolvido selecionando-se Z∗ ⊆ I
de acordo com a seguinte equac¸˜ao (9):
Z∗: H(Y |X
Z∗) = minZ⊆I{E[H(Y |XZ)]} (9)
em que I = {1, 2, ..., n} (conjunto de ´ındices do espac¸o to-tal de n caracter´ısticas) e E[H(Y |XZ)] ´e dada pela equac¸˜ao 8.
Portanto, a explorac¸˜ao de todos os poss´ıveis subconjun-tos de I solucionaria o problema, mas isto ´e impratic´avel em geral. Para uma s´ıntese dos algoritmos determin´ısticos de soluc¸˜ao ´unica mais conhecidos e utilizados, e que podem ser aplicados na pr´atica, ver Sec¸˜ao 3.
5. Experimentos e resultados
Realizamos experimentos utilizando entropia condicional m´edia para selec¸˜ao de caracter´ısticas em dados sint´eticos e dois problemas de processamento de imagens: filtragem de imagens ruidosas e reconhecimento de texturas. Ambos
os problemas de processamento de imagens foram tratados atrav´es de projeto autom´atico de W-operadores [15, 16, 17].
5.1. Dados sint´eticos
Com relac¸˜ao aos dados sint´eticos, estudamos o comporta-mento da curva formada pelo valor da entropia condicio-nal m´edia em func¸˜ao da dimens˜ao do subespac¸o de carac-ter´ısticas com um n´umero fixo de amostras de treinamento. Fixando-se α = 1, observamos empiricamente que essa func¸˜ao crit´erio forma uma “curva em U” (Figura 4) e que a dimens˜ao em que ocorre o menor valor da entropia condi-cional m´edia nunca supera o logaritmo do n´umero de amos-tras de treinamento (Dmin ≤ logpt). Portanto, o espac¸o de busca utilizando esse crit´erio fica bastante reduzido. Al´em disso, esse crit´erio reflete bem o problema da dimensionali-dade, j´a que n˜ao adianta percorrer subespac¸os de dimens˜ao muito grande devido ao n´umero insuficiente de amostras de treinamento para estimar corretamente as probabilidades condicionais para cada uma das instˆancias poss´ıveis desses subespac¸os. 1 2 3 4 5 6 7 8 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 d E[H(Y|X d )]
Figura 4. Gr ´afico t´ıpico deE[H(Y |XZ)]em func¸ ˜ao da di-mensionalidade deXZ. Neste exemplo, cada caracter´ıstica
pode assumir 3 valores poss´ıveis e foram usadas 81 (34)
amostras de treinamento, sendo que a dimens ˜ao 4 (log381)
foi o ponto de m´ınimo da curva em U.
Uma outra caracter´ıstica importante da entropia con-dicional m´edia ´e que ela n˜ao leva em conta a geome-tria do conjunto de pontos formada no espac¸o das carac-ter´ısticas. A entropia baseia-se apenas na informac¸˜ao que um subespac¸o considerado fornece sobre os r´otulos. Por exemplo, seja um espac¸o de duas caracter´ısticas (x1, x2)
em {0, 1, 2} × {0, 1, 2} e Y ∈ {0, 1} a vari´avel de clas-ses. A Figura 5 mostra trˆes exemplos nos quais a entropia condicional m´edia ´e zero ((x1, x2) cont´em informac¸˜ao
to-tal sobre Y ), embora apenas a Figura 5(a) seja linearmente separ´avel.
Mostramos atrav´es desses exemplos que a entropia n˜ao privilegia apenas subespac¸os linearmente separ´aveis, sendo um crit´erio mais geral para selec¸˜ao de caracter´ısticas.
(a) (b) (c)
Figura 5. Exemplos de espac¸os em queE[H(Y |X)] = 0. Os s´ımbolos “c´ırculo” e “×” indicam as amostras das suas respectivas classes. (a) grupos linearmente separ ´aveis; (b) grupos c ˆoncavos; (c) grupos envolventes.
5.2. Projeto de W-operadores
A metodologia proposta foi aplicada para estimar um W-operador de espac¸o restrito dos dados de treinamento [15, 16, 17]. Um W-operador ´e uma transformac¸˜ao de ima-gem localmente definida e invariante por translac¸˜ao [18]. A id´eia ´e estimar uma sub-janela ´otima W∗que maximiza a informac¸˜ao sobre a distribuic¸˜ao conjunta desconhecida de uma dada janela W e dos dados de treinamento dispon´ıveis das formas obtidas de W .
Para explorar o conceito de entropia, as posic¸˜oes da janela W que projetam a sua forma s˜ao tomadas como vari´aveis (caracter´ısticas) que comp˜oem um vetor aleat´orio
X. Ent˜ao, construir W pode ser visto como um problema
de selec¸˜ao de caracter´ısticas que usa E[H(Y |XZ)] como uma func¸˜ao crit´erio. A Figura 6 ilustra esse conceito, mos-trando duas formas poss´ıveis para W . Nesta figura, as ca-racter´ısticas selecionadas XZ s˜ao indicadas como c´elulas pretas, ou seja, 5 caracter´ısticas foram selecionadas em 6-a enquanto 13 foram selecionadas em 6-b.
Figura 6.Janelas com (a) 5 caracter´ısticas e (b) 13 carac-ter´ısticas.
O conjunto de treinamento ´e obtido atrav´es de pares de imagens ideal/observada, nas quais os vetores de carac-ter´ısticas (padr˜oes) s˜ao obtidos atrav´es de translac¸˜oes de uma janela de dimens˜oes fixas sobre as imagens observadas e seus respectivos r´otulos s˜ao obtidos atrav´es do pixel cen-tral da janela na imagem ideal correspondente. A Figura 7 ilustra o processo de obtenc¸˜ao de uma amostra.
Aplicamos nossa abordagem para construc¸˜ao de W-operadores em dois problemas de processamento de ima-gens: filtragem de imagens ruidosas bin´arias e reconheci-mento de texturas em imagens n´ıveis de cinza.
Figura 7. Obtenc¸ ˜ao de uma amostra de treinamento para construc¸ ˜ao de um W-operador.
5.2.1. Filtragem de imagens ruidosas
A aplicac¸˜ao da entropia condicional m´edia para projetar W-operadores foi cuidadosamente analisada em diversos expe-rimentos de filtragem de imagens bin´arias [15, 17]. Ru´ıdo sal e pimenta foi adicionado `as imagens bin´arias, e W-operadores para filtrar essas imagens ruidosas foram gera-dos usando a metodologia proposta.
O ru´ıdo sal e pimenta ´e usualmente tratado em proces-samento de imagens pelo filtro da mediana. Comparamos os resultados dessa t´ecnica tradicional com a t´ecnica de construc¸˜ao de W-operadores usando o algoritmo SFS de selec¸˜ao de caracter´ısticas com a func¸˜ao crit´erio proposta (entropia condicional m´edia) definida pela Equac¸˜ao 8. A performance da t´ecnica proposta se mostrou superior, prin-cipalmente nos casos em que as imagens apresentam formas bem finas. Considere as imagens das Figuras 8(a) e 8(b) como sendo a imagem ideal e um exemplo de imagem rui-dosa respectivamente. A Figura 8(c) mostra o resultado da aplicac¸˜ao da mediana, enquanto a Figura 8(d) mostra o re-sultado da aplicac¸˜ao da nossa t´ecnica (erro absoluto m´edio (MAE) 10 vezes inferior ao do filtro da mediana).
Para melhorar os resultados, pode-se aplicar a ima-gem resultado como entrada para o mesmo W-operador j´a constru´ıdo (retroalimentac¸˜ao). Ap´os a aplicac¸˜ao da retroalimentac¸˜ao, o resultado ´e melhorado, mesmo nos ca-sos em que as imagens apresentam muitas estruturas finas. J´a a aplicac¸˜ao da mediana com retroalimentac¸˜ao n˜ao me-lhora significativamente, chegando a piorar o resultado nos casos em que as imagens apresentam muitas estruturas fi-nas.
5.2.2. Reconhecimento de texturas
Aplicamos o nosso m´etodo proposto de construc¸˜ao de W-operadores tamb´em no contexto de reconhecimento de
tex-turas [16, 17]. A imagem da Figura 9 representa uma composic¸˜ao de 9 texturas com 256 n´ıveis de cinza (c = 9 e
k = 256). As texturas desta imagem serviram como entrada
para compor o conjunto de treinamento sobre o qual o W-operador ser´a constru´ıdo. Uma janela de dimens˜oes fixas ´e transladada em cada pixel selecionado, coletando o vetor de caracter´ısticas observado e seu respectivo r´otulo (textura). Cada um desses vetores ´e quantizado para evitar restric¸˜oes excessivas no espac¸o dos W-operadores que podem ser es-timados adequadamente. Dado um grau de quantizac¸˜ao
k0 < k, o menor e o maior n´ıvel de cinza observados no vetor de caracter´ısticas considerado formam um intervalo que ´e dividido em k0intervalos de mesmo tamanho. Esses intervalos s˜ao usados para fazer a quantizac¸˜ao do vetor de caracter´ısticas em quest˜ao. Assim, o vetor quantizado junto com seu r´otulo formam uma amostra de treinamento.
Figura 9.Imagem com 9 texturas e 256 n´ıveis de cinza;
O algoritmo de selec¸˜ao de caracter´ısticas usado para se-lecionar os pontos da janela foi o SFFS, sendo que a func¸˜ao crit´erio utilizada para orient´a-lo foi a entropia condicional m´edia como definida na Equac¸˜ao 7.
Analisamos o erro MAE obtido pela aplicac¸˜ao de nossa t´ecnica sobre a imagem da Figura 9 para diferentes graus de quantizac¸˜ao k0 (2, 4 e 8) e n´umero de amostras dis-tintos (10%, 20% e 40% dos pixels de cada textura esco-lhidos ao acaso). Em todos os casos, cada regi˜ao corres-pondente a uma das texturas recebeu o r´otulo correto com maioria significativa. A Figura 10 mostra um histograma de classificac¸˜ao dos pixels das nove regi˜oes consideradas, usando k0 = 8 e 40% da imagem para formar o conjunto
de treinamento. Esses histogramas n˜ao levam em conta os r´otulos indefinidos.
Para remover os r´otulos indefinidos e melhorar a segmentac¸˜ao final de texturas, propomos um passo de p´os-processamento que aplica um filtro de moda2 diversas ve-zes, uma vez para cada uma das seguintes dimens˜oes de
2classificador que translada uma janela sobre todos os pixels da imagem
(a) (b)
(c) (d)
Figura 8. (a) Imagem ideal; (b) Imagem com 3% de ru´ıdo sal e pimenta; (c) Resultado final ap ´os aplicac¸ ˜ao do filtro da mediana com uma janela3 × 3(janelas maiores levaram a resultados piores); (d) Resultado final ap ´os aplicac¸ ˜ao do nosso m ´etodo, utilizando uma imagem ruidosa para compor o conjunto de treinamento para definir a janela e treinar o W-operador sob a janela obtida. ´E importante reparar que o m ´etodo proposto preserva melhor as estruturas finas da imagem do que o filtro da mediana.
janela nessa mesma ordem: 15 × 15, 13 × 13, 11 × 11, 9
× 9, 7 × 7, 5 × 5 e 3 × 3. Assumindo que h´a mais r´otulos
corretos do que incorretos (ver Figura 10), este passo ajuda a eliminar erros.
A Figura 11 apresenta a segmentac¸˜ao final de texturas sobre a imagem da Figura 9 para quatro pares distintos (k0, amostras de treinamento em % de pixels). Resultados ob-tidos da aplicac¸˜ao desse m´etodo sobre as texturas da Fi-gura 9 ap´os 10 execuc¸˜oes para cada par considerado (k0, amostras de treinamento em % de pixels) s˜ao sumarizados na Tabela 1. Um resultado obtido sobre o mosaico da Fi-gura 12(a) usando 40% dos pixels das texturas da FiFi-gura 9 para projetar o W-operador ´e ilustrado na Figura 12(c), mos-trando que nosso m´etodo ´e adequado para segmentac¸˜ao de pequenas texturas. A Figura 12(b) mostra sua correspon-dente rotulac¸˜ao ideal.
6. Conclus˜ao
Neste texto, foi apresentada uma func¸˜ao crit´erio para selec¸˜ao de caracter´ısticas adequada para separar duas ou mais classes distintas e que n˜ao privilegia subespac¸os line-armente separ´aveis. Ela baseia-se nas entropias condicio-nais da vari´avel classe dadas as instˆancias de um subespac¸o de caracter´ısticas. O fator α na nossa formulac¸˜ao da equac¸˜ao da entropia condicional m´edia (Equac¸˜ao 8) como forma de atribuir pesos `as instˆancias n˜ao observadas ´e de fundamental importˆancia para evitar erros de estimac¸˜ao que se comete ao selecionar subespac¸os com dimens˜ao muito grande atrav´es de conjuntos de treinamento relativamente pequenos. Sem esse fator, o aumento da dimens˜ao sem-pre leva a menores entropias condicionais, dessem-prezando a “curva em U” t´ıpica do problema da dimensionalidade.
1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency 1 2 3 4 5 6 7 8 9 0 0.5 1 textures frequency
Figura 10. Histogramas de freq ¨u ˆencia dos r ´otulos ap ´os a classificac¸ ˜ao realizada pelo W-operador para cada regi ˜ao da Figura 9 (40% dos pixels usados para formar o conjunto de treinamento;k0= 8
). As texturas s ˜ao numeradas de 1 a 9 e os histogramas est ˜ao dispostos em ordem de varredura por esses n ´umeros.
(a) (b) (c) (d)
Figura 11. Resultados finais ap ´os a aplicac¸ ˜ao dos filtros de moda. (a)k0 = 2
, 10% dos pixels formando o conjunto de treinamento, MAE = 0.1005; (b)k0 = 2
, 20% dos pixels formando o conjunto de treinamento, MAE = 0.0375; (c)k0=
4, 20% dos pixels formando o conjunto de treinamento, MAE = 0.0092; (d)k0 = 8
, 40% dos pixels formando o conjunto de treinamento, MAE = 0.0036.
(a) (b) (c)
Figura 12.(a) Mosaico de texturas obtidas da Figura 9; (b) Rotulac¸ ˜ao ideal; (c) Resultado final usandok0 = 8
e 40% dos pixels das texturas da Figura 9 formando o conjunto de treinamento (MAE = 0.0213).
Um problema em aberto que se originou deste trabalho
Tabela 1. M´edia, desvio padr˜ao, m´ınimo e m´aximo para os erros MAE ap´os 10 execuc¸˜oes para crescente n´umero de amostras (% de pixels) e crescente n´ıvel de quantizac¸˜ao k0.
Amostras de treinamento 10% 20% 40% m´edia 0.0899 0.0345 0.0151 ±d. p. ±0.0099 ±0.0049 ±0.0019 k0= 2 min 0.0723 0.0281 0.0121 max 0.1020 0.0420 0.0182 m´edia 0.0711 0.0097 0.0087 ±d. p. ±0.0082 ±0.0008 ±0.0010 k0= 4 min 0.0628 0.0085 0.0071 max 0.0859 0.0110 0.0100 m´edia 0.0270 0.0176 0.0038 ±d. p. ±0.0033 ±0.0019 ±0.0003 k0= 8 min 0.0197 0.0157 0.0033 max 0.0308 0.0218 0.0043
´e como estimar corretamente o valor de α. Embora o valor
α = 1 tenha sido adotado pelos nossos experimentos com
resultados satisfat´orios, estimar o valor de α, talvez com base no tamanho do conjunto de treinamento, pode resultar em subespac¸os ainda melhores.
Estudar o valor da entropia condicional m´edia tamb´em ´e outro desafio para descobrir se um subespac¸o de carac-ter´ısticas selecionado realmente ´e um bom preditor dos r´otulos. E fato que, fixado α, o subespac¸o de carac-´ ter´ısticas selecionado ser´a o melhor preditor dentre todos os subespac¸os, caso o algoritmo de busca tenha testado todas as combinac¸˜oes poss´ıveis. O problema ´e que exis-tem situac¸˜oes nas quais n˜ao existe um subespac¸o de carac-ter´ısticas que seja um bom preditor dos r´otulos. No pro-blema de identificar redes de regulac¸˜ao gˆenica, por exem-plo, resolver esta quest˜ao ´e fundamental pois pode ser que existam genes cujas express˜oes n˜ao sejam influenciadas por nenhum outro gene (n´os disjuntos da rede).
As aplicac¸˜oes abordadas na dissertac¸˜ao de mestrado [2] foram bastante diversificadas, abrangendo duas ´areas da computac¸˜ao: bioinform´atica e processamento de imagens. A func¸˜ao crit´erio proposta para selec¸˜ao de caracter´ısticas vem atendendo satisfatoriamente as exigˆencias de cada ´area. Isto comprova a generalidade do m´etodo proposto. As pes-quisas que vinham sendo feitas utilizando a abordagem pro-posta tanto na ´area de bioinform´atica como em processa-mento de imagens est˜ao em andaprocessa-mento. Al´em disso, es-tamos desenvolvendo um algoritmo “branch and bound” de selec¸˜ao de caracter´ısticas que explora a propriedade da “curva em U” formada pelos valores das entropias condi-cionais m´edias em func¸˜ao da dimens˜ao das caracter´ısticas. O objetivo desse algoritmo ´e atingir o subespac¸o de ca-racter´ısticas com soluc¸˜ao ´otima utilizando muito menos
esforc¸o computacional do que a busca exaustiva.
Al´em das contribuic¸˜oes citadas aqui, dez publicac¸˜oes foram originadas deste trabalho, incluindo [15, 16, 17, 19, 20, 21], dois resumos submetidos para o Internatio-nal Conference on Bioinformatics and ComputatioInternatio-nal Bi-ology (ICoBiCoBi) 2003, e dois resumos submetidos para o AB3C X-meeting. Uma dessas publicac¸˜oes [20] rece-beu o prˆemio de melhor apresentac¸˜ao no Fifth Internatio-nal Conference for the Critical Assessment of Microarray
Data Analysis (CAMDA 2004 -http://www.camda.
duke.edu/camda04) levando `a publicac¸˜ao posterior de
um artigo completo [21].
Agradecimentos
Os autores agradecem `a FAPESP (99/12765-2, 01/ 09401-0, 02/04611-0 e 04/03967-0), CNPq (300722/98-2, 52.1097/01-0 e 468413/00-6) e CAPES pelo apoio finan-ceiro. Este trabalho foi parcialmente financiado pelo pro-cesso 1 D43 TW07015-01 do National Institutes of He-alth, USA. Agradecemos tamb´em a Daniel O. Dantas pela sua id´eia complementar com relac¸˜ao ao p´os-processamento usado no reconhecimento de texturas (filtro de moda apli-cado mais de uma vez).
7. Referˆencias
[1] S. Theodoridis and K. Koutroumbas. Pattern Recognition. Academic Press, NY, 1999.
[2] D. C. Martins-Jr. Reduc¸˜ao de dimensionalidade utilizando entropia condicional m´edia aplicada a problemas de bioin-form´atica e processamento de imagens. Master’s thesis, Instituto de Matem´atica e Estat´ıstica - Universidade de S˜ao Paulo, Rua do Mat˜ao, 1010, 2004.
[3] R. O. Duda, P. E. Hart, and D. Stork. Pattern Classification. John Wiley & Sons, NY, 2000.
[4] A. K. Jain, P. W. Duin, and J. Mao. Statistical pattern re-cognition: A review. IEEE Transactions on Pattern Analysis
and Machine Intelligence, 22(1):4–37, January 2000.
[5] S. Watanabe. Pattern Recognition: Human and Mechanical. Wiley, 1985.
[6] T. E. Campos. T´ecnicas de selec¸˜ao de caracter´ısticas com aplicac¸˜oes em reconhecimento de faces. Master’s thesis, Instituto de Matem´atica e Estat´ıstica - Universidade de S˜ao Paulo, Rua do Mat˜ao, 1010, May 2001.
[7] A. K. Jain and D. Zongker. Feature-selection: Evaluation, application, and small sample performance. IEEE Trans. on
Pattern Analysis and Machine Intelligence, 19(2):152–157,
February 1997.
[8] P. Somol, P. Pudil, J. Novovicov´a, and P. Pacl´ık. Adaptive floating search methods in feature selection. Pattern
Recog-nition Letters, 20:1157–1163, 1999.
[9] P. Pudil, J. Novovicov´a, and J. Kittler. Floating search methods in feature selection. Pattern Recognition Letters, 15:1119–1125, 1994.
[10] I. Bloch. On fuzzy distances and their use in image proces-sing under imprecision. Pattern Recognition, 11(32):1873– 1895, 1999.
[11] T. E. Campos, I. Bloch, and R. M. Cesar-Jr. Feature selection based on fuzzy distances between clusters: First results on simulated data. In Lecture Notes in Computer Science, Rio de Janeiro, Brasil, Mar. 2001. Springer-Verlag Press. [12] C. E. Shannon. A mathematical theory of communication.
Bell System Technical Journal, 27:379–423, 623–656, July,
October 1948.
[13] C. E. Shannon and Warren Weaver. The mathematical theory
of communication. Univ. of Illinois Press, 1963.
[14] M. A. Hall and L. A. Smith. Feature selection for machine learning: Comparing a correlation-based filter approach to the wrapper. In Proc. FLAIRS Conference, pages 235–239. AAAI Press, 1999.
[15] D. C. Martins-Jr, R. M. Cesar-Jr, and J. Barrera. W-operator window design by maximization of training data informa-tion. In Proceedings of XVII Brazilian Symposium on
Com-puter Graphics and Image Processing (SIBGRAPI), pages
162–169. IEEE Computer Society Press, October 2004. [16] D. C. Martins-Jr, R. M. Cesar-Jr, and J. Barrera. Automatic
window design for gray-scale image processing based on en-tropy minimization. In Manuel Lazo Cortes and Alberto San-feliu, editors, X Iberoamerican Congress on Pattern
Recog-nition, Lecture Notes in Computer Science. Springer-Verlag,
2005. (in press).
[17] D. C. Martins-Jr, R. M. Cesar-Jr, and J. Barrera. W-operator window design by minimization of mean conditional en-tropy. Pattern Analysis & Applications, 2005. submitted. [18] J. Barrera, R. Terada, R. Hirata-Jr., and N. S. T. Hirata.
Au-tomatic programming of morphological machines by PAC learning. Fundamenta Informaticae, pages 229–258, 2000. [19] J. Barrera, R. M. Cesar-Jr., D. O. Dantas, D. C. Martins Jr.,
and N. W. Trepode. From microarray images to biological knowledge. In Proceedings of the Second Brazilian
Sympo-sium on Mathematical and Computational Biology,http:
//www.biomat.org/sbbmc/index.html, 2002.
e-papers.
[20] J. Barrera, R. M. Cesar-Jr, D. C. Martins-Jr, R. Z. N. Vencio, E. F. Merino, M. M. Yamamoto, F. G. Leonardi, C. A. B. Pe-reira, and H. A. del Portillo. A new annotation tool for ma-laria based on inference of probabilistic genetic networks. In
Proc. Fifth International Conference for the Critical Assess-ment of Microarray Data Analysis, Durham, 2004.
[21] J. Barrera, R. M. Cesar-Jr, D. C. Martins-Jr, R. Z. N. Vencio, E. F. Merino, M. M. Yamamoto, F. G. Leonardi, C. A. B. Pereira, and H. A. del Portillo. Constructing probabilistic genetic networks of Plasmodium falciparum from dynami-cal expression signals of the intraerythrocytic development cycle. In J. S. Shoemaker and S. M. Lin, editors, Methods
of Microarray Data Analysis V. Simon, Springer, 2005. (in