Platform Independent and Open Tool for Probabilistic Networks © SBC 2003

Page 1

Ferramenta Aberta e Independente de Plataforma para Redes Probabilísticas Marcelo Ladeira, Danilo Custódio da Silva, Mário Henrique Paes Vieira, Michael Shigeki Onishi, Rommel Novaes Carvalho, Wagner Teixeira da Silva UnB - Departamento de Ciência da Computação Caixa Postal 4466, Campus Universitário Darcy Ribeiro Asa Norte, 70919-970 Brasília – DF, Brasil danilocustodio@yahoo.com.br, mladeira@unb.br, mariohpv@bol.com.br, mso.bsb@ig.com.br, rommelnc@cidadeinternet.com.br, wagner@cic.unb.br

Abstract. This paper describes the UnBBayes. This software supports the graphical edition of Bayesian network, influence diagram, and multiple sectioned Bayesian network. The learning of either the structure (topology) or the parameters (probabilities) of Bayesian networks, based on search and measures algorithms (K2 or B) or conditional independence (Cheng-Bell-Liu) can be done from a dataset of historic cases. An interesting feature of UnBBayes is the building of Bayesian network based intelligent applications with medical-metaphor interface and explanation capacity to support the diagnosis process. The UnBBayes is free software that is available under a GNU General Public License (GPL). Resumo. Este artigo descreve o UnBBayes. Esse software permite o uso de um editor gráfico para construir rede bayesiana, diagrama de influências e rede bayesiana múltipla secionada. O aprendizado da estrutura (topologia) ou parâmetros (probabilidades) de rede bayesiana pode ser realizado, a partir de um arquivo de dados reais, com base em algoritmos de busca e pontuação (K2 ou B) ou independência condicional (Cheng-Bell-Liu). Uma característica interessante do UnBBayes é a construção de aplicações inteligentes baseadas em redes bayesianas, segundo a interface metáfora médica (com explanação), para apoio ao processo de diagnóstico médico. O UnBBayes é um software aberto disponível sob licença GNU General Public License (GPL).

1. Introdução Uma rede bayesiana (BN) é um grafo acíclico orientado que representa a distribuição de probabilidades conjunta das variáveis que modelam o domínio do conhecimento. Os nós representam as variáveis do domínio e os arcos as relações de dependência probabilística direta entre as variáveis que conectam. A intensidade da dependência é representada pela função de probabilidade da variável condicionada aos seus pais [Pearl 1986]. Um diagrama de influências (ID) representa a formalização de um problema de tomada de decisão em um ambiente com incerta, onde o decisor é racional, no sentido de que toma a decisão que maximiza a utilidade esperada. Um ID estende uma BN no sentido de que os nós, além de variáveis aleatórias, podem ser variáveis de decisão ou função de utilidade [Shachter 1986]. Uma rede bayesiana múltipla secionada é um conjunto de subredes bayesianas interrelacionadas, onde cada subrede representa


dependências entre variáveis em um subdomínio de um grande domínio de problema ou universo total. Esse formalismo permite explorar a existência de subdomínios naturais do domínio. O propósito de se organizar um modelo baseado em BN, ID ou MSBN para suporte a decisão em ambiente com incerteza é obter estimativas de certeza para eventos aleatórios que não são observáveis ou somente o são a custos inaceitáveis. Diversas aplicações reais são citadas na literatura em sistemas de apoio a tomada de decisão em áreas como: espacial, segurança, militar, engenharia, financeira, biológica, e-commerce e saúde1 [ACM 1995][AIM 1999][IEEE 1995, 2000]. Essas aplicações são desenvolvidas a partir de softwares especializados na construção de BN e/ou ID e na propagação de evidências, desenvolvidos por estrangeiros e normalmente comercializados. A literatura cita apenas um caso, o JavaBayes, um ambiente para construção de redes bayesianas desenvolvido por um brasileiro [Cozman 2001], durante doutorado na Universidade de Carnegie Mellon. Esse artigo descreve o UnBBayes, uma ferramenta para construção de aplicativos inteligentes baseados em raciocínio probabilístico que modelam o domínio através de redes bayesianas, diagramas de influências ou redes bayesianas múltiplas secionadas e que propagam evidencias através do método da árvore de junções [Jensen et al. 1990][Jensen et ali. 1994]. A Seção 2 descreve o UnBBayes e focaliza os algoritmos de aprendizagem dos parâmetros e da topologia de uma rede bayesiana. A seguir é discutida a interface metáfora médica para aplicações inteligentes para suporte a triagem e ao diagnóstico médico. Na Seção 3 são discutidos os problemas enfrentados, a solução proposta e os resultados obtidos. A Seção 4 apresenta as conclusões e os trabalhos futuros.

2. Descrição do UnBBayes O UnBBayes é um ambiente visual e interativo para a edição e compilação de BN, ID ou MSBN, entrada e propagação de evidências, realização de inferência probabilística e aprendizagem da topologia e/ou parâmetros de uma BN. Ele utiliza o método da árvore de junções (atual estado da arte a nível) para propagação de evidências e os algoritmos K2 [Cooper and Herskovits 1992] e B [Buntine 1991] (baseados em métodos de busca e pontuação) e CBL-A e CBL-B [Cheng, Bell, and Liu 1998] (baseados em independência condicional) para a aprendizagem de BN. O UnBBayes permite desenvolver aplicações para triagem e diagnósticos médico com interface gráfica baseada na metáfora dos procedimentos de diagnóstico médico [Flores et. al. 2001] e capacidade de explanação. 2.1. Visão Geral O UnBBayes é desenvolvido em Java e documentado com Javadoc e JavaHelp. Através da ajuda ao usuário é possível acessar toda a documentação da API e visualizar todas as funcionalidades. O sistema é distribuído gratuitamente para uso não comercial, sob a licença GNU GPL2. O seu desenvolvimento envolveu o uso de técnicas de Extreme Programming3 e refactorings visando obter qualidade de software.

1

Algumas estão relacionadas em http://www.cs.ualberta.ca/~greiner/bn.html General Public License (http://www.gnu.org/licenses/gpl.html) 3 http://www.extremeprogramming.org/rules.html 2


2.2 Aprendizagem de Redes Bayesianas De forma geral, de onde surgem a topologia e as probabilidades utilizadas na modelagem de uma rede bayesiana? A topologia surge do especialista do domínio, de modelos causais disponíveis na literatura do domínio em questão ou pode ser aprendida diretamente a partir de dados históricos. As probabilidades podem ser fornecidas pelo especialista do domínio, obtidas em estudos estatísticos publicados, obtidas analiticamente através da aplicação da análise combinatória para domínios específicos como a genética, ou ainda, aprendidas diretamente a partir de dados históricos. Aprendizagem de parâmetros Quando o especialista prover a estrutura da rede bayesiana é necessário apenas aprender os parâmetros, ou seja, a probabilidade associada a cada variável da rede, dados os pais e os estados da variável. Para o aprendizado de parâmetros é necessário um banco de dados reais históricos (um arquivo contendo as várias combinações de estados para cada variável da rede, observadas um determinado período). Para que a probabilidade de cada variável Xi da rede possa ser estimada é necessário definir a probabilidade à priori, isto é, a probabilidade não condicionada a nenhum evento. Quando não é possível defini-la, assume-se distribuição uniforme, dada por 1/ri onde ri é número de estados de Xi . A probabilidade à posteriori é uma probabilidade condicional. Judea Pearl provou que em uma BN as probabilidades condicionais de interesse são as de uma variável, condicionada aos seus pais. Como a topologia da rede é conhecida, os pais de qualquer variável também o são. Portanto pode-se estimar a distribuição condicional desta variável a partir das instâncias do banco de dados reais históricos. As distribuições de probabilidades utilizadas para estimar a probabilidade à posteriori das variáveis da rede são a multinomial e a Dirichlet [Bernardo and Smith 1994]. A expressão para o calculo da estimativa da distribuição de probabilidades à posteriori é dada por: P( X i = x ik | Pais = pais ij ) = (1 + N ijk ) /( ri + N ij ) , onde Xi x

k i

(Eq. 1)

é a i-ésima variável da rede bayesiana, é a k-ésima instância da variável X i ,

paisij é a j-ésima instância dos pais da variável X i , é a cardinalidade dos estados da variável X i , ri N ijk

é o número de ocorrências do k-ésimo estado da variável X i , dado pais ij ,

N ij

é o número de ocorrências de paisij , isto é a soma de todos os N ijk dado paisij .

Aprendizagem de Estrutura À medida que o número de variáveis em um determinado modelo cresce, mais difícil é a um especialista definir as relações de dependência entre elas. Então será necessário utilizar um banco de dados reais para inferir a estrutura da rede bayesiana e seus parâmetros. Os algoritmos para aprendizagem de estruturas podem ser divididos em dois grupos: “busca e pontuação” e “independência condicional”. Algoritmos baseados em métodos de busca e pontuação associam pontuação a grafo orientado definido sobre um conjunto de variáveis selecionadas para modelarem um domínio de conhecimento. As funções de pontuação devem ser decomponíveis para


permitir construir um grafo orientado de forma incremental, analisando a inclusão de arcos, variável a variável. Funções de pontuação decomponíveis em geral são baseadas em métricas de pontuação definidas sobre famílias, ou seja, sobre uma variável e seus pais no grafo orientado. A pontuação da rede é o somatório das pontuações das famílias. A construção da rede inicia com um grafo com um nó para cada variável do domínio e sem nenhum arco. Os arcos são adicionados à rede através de busca heurística. O método consiste em selecionar uma variável como candidata a pai para um certo nó e verificar se essa consideração, a função de pontuação do nó aumenta. Se a pontuação da variável aumentar com os seus candidatos a pais, então os arcos entre eles devem ser efetivados. Caso contrário, devem ser eliminados. Esse método se repete até que nenhuma estrutura nova seja melhor que a estrutura atual. O algoritmo K2 e B, utilizam esse método. São exemplos de funções de pontuação decomponíveis as métricas CH de Cooper e Herskovits (1992) (Eq. 2), GH de Geiger e Heckerman [Heckerman 1999] e MDL – Minimum Description Length [Castillo et al. 1997] (Eq 3). A métrica GH corresponde ao log(CH). K2 foi proposto para uso com a métrica CH e generalizado por Castillo et al. (1997) para uso de qualquer métrica de pontuação de família. Para reduzir esforço computacional, os algoritmos de busca e pontuação limitam os possíveis pais de uma variável através de uma lista ordenada, isto é, os potenciais pais da i-ésima variável são as variáveis que a precedem. Essa ordenação é em geral fornecida por especialista. qi

CH ( X i , pais i ) = ∏ j =1

ri ( ri − 1)! .∏ N ijk , onde ( ri + N ij − 1)! k =1

(Eq. 2)

é a cardinalidade dos estados dos pais da variável X i , qi paisi são os pais da variável X i e as demais variáveis são como em (Eq. 1).  qi ri Nijk  1  − qi ( ri − 1). log N MDL( X i , paisi ) =  ∑∑ Nijk log Nij  2  j =1 k =1

(Eq. 3)

Os algoritmos K2 e B foram implementados no UnBBayes, com as métricas GH e MDL. Também foi proposta e implementada a métrica GHS, uma variante de GH que usa a função de Stirling [Spiegel 1978] para aproximar fatorial. O banco de dados reais pode ser um arquivo texto convencional ou compactado, onde cada registro possui uma variável que informa a sua freqüência, com o intuito de evitar ocorrências múltiplas. São providas facilidades para selecionar subconjunto de variáveis, visualizar características delas, definir o máximo de pais que cada uma pode ter, fixar pais, editar arcos para refletir relações que o algoritmo de aprendizagem não conseguiu captar e, nesse caso, recalcular as probabilidades das variáveis, considerando a nova estrutura da rede. Os algoritmos baseados em independência condicional (IC) não requerem ordenação das variáveis do domínio. Eles assumem que uma estrutura da rede é um mapa perfeito das dependências e independências do domínio e que a validade de uma dependência pode ser verificada utilizando o banco de dados reais. Esses algoritmos utilizam o critério d-separation [Pearl 1986] para determinar a validade de uma determinada relação de independência condicional. Como exemplos, temos o CBL-A e o CBL-B de Cheng, Bell e Liu (1998) e o algoritmo de indução causal, proposto por Pearl (2000). Os algoritmos CBL foram implementados no UnBBayes. Os detalhamentos desses algoritmos e da implementação estão apresentados em [da Silva e Ladeira 2002].


2.3 Metáfora Médica A metáfora médica é uma interface proposta por [Flores et. al. 2001] para facilitar o desenvolvimento de aplicativos inteligentes (baseados em rede bayesiana) para uso no apoio à triagem e ao diagnóstico médico. Essa interface simula a reprodução de procedimentos utilizados durante o processo de diagnóstico e encapsula a estrutura e os parâmetros da BN. Desta forma, o médico tem acesso apenas a um aplicativo inteligente, cuja máquina de inferência é baseada no método da árvore de junções. O médico entra com os achados clínicos (queixa principal, sinais e sintomas) coletados. O aplicativo propaga essa evidência e indica as patologias compatíveis. O médico pode solicitar exames complementares e entrar com os achados laboratoriais no sistema. A propagação dessa nova evidência facilita a identificação da patologia mais provável. Para facilitar mais ainda a interação com o médico, o UnBBayes foi dotado de facilidade para construção de redes bayesianas com suporte a explanação, na forma de laudo médico construído dinamicamente, podendo apresentar justificativas para diagnósticos sugeridos e para os não recomendados. Além de justificar porque é sugerido um diagnóstico, o UnBBayes também pode justificar porque ele não recomenda um diagnóstico. Esse mecanismo é conhecido como “why not”. A justificativa que o sistema apresenta, são as evidências entradas pelo médico que influenciam negativamente o diagnóstico.

3. Discussão A contribuição dessa pesquisa, do ponto de vista de desenvolvimento tecnológico é o projeto de estruturas de dados e a implementação de algoritmos que permitiram o desenvolvimento da primeira versão nacional de um framework e API para raciocínio probabilístico baseado no método da árvore de junções, atual estado da arte, com a vantagem de ser distribuído gratuitamente, sob licença GNU GPL. O código Java gerado apresenta desempenho similar ao do Hugin4, software líder de mercado, mesmo para redes de porte significativo (mais de 30 variáveis). Esse desempenho foi obtido após a identificação dos pontos de gargalo e otimização do código. Do ponto de vista científico, a contribuição dessa pesquisa foi a proposição da métrica de pontuação GHS, de variação da métrica MDL e do algoritmo de explanação de redes bayesianas. As novas métricas de pontuação aproximam o fatorial pela função de Stirling e usam logaritmo para evitar erros numéricos devido à ocorrência de overflow. Uma outra contribuição foi a criação de estruturas de dados para representar na memória uma grande base de dados reais utilizando o mínimo de memória possível e algoritmos que aprendam as redes mais rapidamente, utilizando threads. Foram executados casos com até 5 milhões de registros.

4. Conclusões O UnBBayes suporta o raciocínio probabilístico em redes bayesianas, diagramas de influências e redes bayesianas múltiplas secionadas, e aprendizagem da topologia ou probabilidades de redes bayesianas com a aplicação de algoritmos de busca e pontuação ou independência condicional em grandes bases de dados. Esse software aberto, de fácil utilização e com suporte lingüístico para internacionalização, apresenta performance 4

http://www.hugin.com


comparável ao Hugin, líder mundial desse segmento. Os trabalhos futuros envolvem a criação de plugins para facilitar a inclusão de novos módulos e o desenvolvimento de uma versão web services com formato de representação das redes baseada em XML.

5. Agradecimentos Essa pesquisa foi realizada com apoio parcial do CNPq (processos ProTeM n° 68.0195701-7, Kit Recém Doutor n° 68.0054/01-4 e PIBIC-UnB editais 2001 e 2002) e CAPES (processos ICCTI nº 73/01 e PROCAD n° 0080/01-2).

References ACM (1995). “Real-World Applications of Bayesian Networks”. Communications of the ACM, v.38, n.3, Mar.1995 AIM (1999). “Uncertainty in AI”. AI Magazine, Summer 1999. Special Issue Bernardo, J.M. and Smith, A.F.M. (1994). Bayesian Theory. John Wiley. 586p. Buntine, W. (1991). “Theory Refinement on Bayesian Networks”. In: Conference on Uncertainty in Artificial Intelligence, 7. Proceedings … Morgan Kaufmann, p.52-60. Castillo, E., Gutiérrez, J.M, and Haid, A.S. (1997). Expert Systems and Probabilistic Network Models. Springer. Cheng, J., Bell, D., and Liu, W. (1998). Learning Bayesian Networks from Data: an Efficient Approach Based on Information Theory. (Technical report). Cooper, G. and Herskovitzs, E. (1992). “A Bayesian Method for the Induction of Probabilistic Networks from Data”. Machine Learning, n.9, p.309-347. Cozman, F.G (2001). “The JavaBayes System”. The ISBA Bulletin, v.7, n.4, p.16-21. da Silva, W.T. e Ladeira, M (2002). “Mineração de Dados em Redes Bayesianas”. In: Congresso da Sociedade Brasileira de Computação, 22. Anais ... SBC, v.2, p.235-286 Flores, C.D., Ladeira, M., Vicari, R.M., Höher, C.L (2001). “Uma Experiência do Uso de Redes Probabilísticas no Diagnóstico Médico”. In: Informática Médica, n.8, p.2529. Buenos Aires. Heckerman, David (1999). “A Tutorial on Learning with Bayesian Networks”. In: Learning in graphical models. MIT Press. IEEE (1993). “Probabilistic Reasoning”. IEEE Transactions on Pattern Analysis and Machine Intelligence, v.15, n.3, March 1993. Special Section. IEEE (2000). “Building Probabilistic Networks: Where do the Numbers Come From?”. IEEE Transactions on Knowledge and Data Engineering, v.12, n.4, July/August 2000. Jensen, F.V., Olsen, K.G., and Andersen, S.K. (1990). “An Algebra of Bayesian Belief Universes for Knowledge-Based Systems”. Networks, v.20, p.637-659. Jensen, F., Jensen, F.V., and Dittmer, S.L. (1994) “From Influence Diagrams to Junction Trees”. In: Conference on Uncertainty in Artificial Intelligence, UAI, 10., 1994, San Francisco. Proceedings … Morgan Kaufmann, p.367-373. Pearl, Judea (1986). "Fusion, Propagation, and Structuring in Belief Networks". Artificial Intelligence, v.29, p.241-288. Pearl, Judea (2000). Causality: Models, Reasoning, and Inference. University Press. Shachter, Ross (1986). “Evaluating Influence Diagrams”. Operations Research, v.34, n.6, p.871-882, Nov.-Dec. 1986. Spiegel, M. (1978). Probabilidade e Estatística. Alfredo Alves de Farias (tradutor). McGraw-Hill do Brasil, p.1-60.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.