segunda-feira, 11 de abril de 2016

Modelo de Markov X Modelo Bayesiano



Resolvi escrever comparando os modelos de Markov e o Bayesiano, pois no meu processo de aprendizagem escrever amadurece as ideias aprendidas. Minha intenção não é falar o que é cada modelo, mas apenas falar sobre as diferenças entre os modelos.



Gostaria de começar com a seguinte frase,que talvez tenha sentido ao final da leitura desse artigo:


" Modelos gráficos são um casamento entre teoria da probabilidade e modelos gráficos. Eles fornecem uma ferramenta natural para lidar com dois problemas que ocorrem na matemática aplicada e engenharia -- incerteza e complexidade -- e em particular desempenham de modo crescente um papel importante no projeto e análise de algoritmos de machine learning. A ideia fundamental do modelo gráfico é a noção de modularidade -- um sistema complexo é construído pela combinação de partes simples. A teoria da probabilidade fornece pistas por meio de quais partes são combinadas, assegurando um sistema consistente, e fornecendo maneiras de modelar dados. A modelagem gráfica fornece tanto para uma interface intituitiva para o ser humano (a interação dos conjuntos de variáveis) , bem como uma estruturada de dados usada para projetar de forma eficiente algoritmos." (Kevin Murphy, 1998)


Modelos gráficos probabilísticos são grafos cujos nós representam variáveis aleatórias, e os vértices (a falta) representam hipóteses de independência condicional. Assim, fornecem um representação compacta das distribuições das probabilidades conjuntas(joint). Modelos gráficos não dirigidos cíclicos, chamados de rede de Markov, tem uma definição de independência: dois (conjuntos de) nós A e B são condicionalmente independentes dado um terceiro conjunto C, se todos os caminhos entre os nós em A e B são separados pelos nó C. Em contrate, modelos de grafos dirigidos também chamados de Bayesianos , tem uma noção mais complicada de independêcia, na qual leva em conta a direção dos vértices.


Embora modelos dirigidos tem uma noção mais complicada de indepêndencia que os modelos não dirigidos, os modelos dirigidos levam vantagens sobre o outro modelo. A mais importante é que um pode considerar um vértice de A para B como indicativo de que A causou B ( conceito de causalidade). Isso pode ser usado como um guia para construir grafos estruturados. Além disso, modelos dirigidos podem codificar relações determinísticas, e são mais facéis de aprender (ajustar dados).

Para um modelo dirigido, podemos especificar a distribuição condicional das probabilidades para cada nó, conforme Figura 1. Se as variáveis são discretas, isso pode ser representado em tabelas, com a lista de probablidade que cada nó e a combinação de possibilidades. Vamos considerar o seguinte exemplo, na qual todos os nós são binários, ou seja, temos dois valores possíveis: V (verdadeiro) e F (Falso).




Figura 1




A relação de indepência condicional é codificada na rede bayesiana e indica o seguinte: o nó é independente de seus ancentrais se seu pai é determinado.


Pela regra da probabilidade , então a probabilidade conjunta de todos nós no grafo acima é:
P(C, S, R, W) = P(C) * P(S|C) * P(R|C,S) * P(W|C,S,R)

Usando regra de indepêndencia condicional podemos reescrever como:
P(C, S, R, W) = P(C) * P(S|C) * P(R|C) * P(W|S,R)



A tarefa mais comum usando em redes bayesianas é inferência probabilística. Por exemplo, supomos que observamos o fato que a grama está molhada. Há duas possibilidades: ou choveu ou irrigador disparou. Qual é mais provável? Nós podemos usar a regra de Bayes para calcular as probabilidades:


P(irrigadoraAutomático = V/ gramaMolhada=V) = 0.2781/0.6471 = 0.430

P(choveu = V/gramaMolhada=V) = 0.4581/0.6471 =0.708


Assim é mais provável que a grama esteja molhada por causa da chuva. Com o modelo de Markov não é possível realizar esse tipo de inferência , pois o modelo é sem memória. O objetivo do modelo é: "dado o presente o futuro é independe do passado." Markov adiciona uma nova camada ao modelo que é não observável.





Figura 2


Agora podemos observar apenas os y's, que são relacionados aos não observáveis x's. Por exemplo, Se você está cego e não pode observar o céu ou sentir a chuva cair,os y's são " a grama está molhada em um especifico dia.", e os x's são "Está chovendo em um específico dia".


O processo de decisão Markoviano são fundamentalmente diferentes, porque envolve "controle". Você, o agente, tem poder de influenciar o sistemas. Por exemplo, Você está decidindo se liga o irrigador em determinado dia. Cada dia, você se baseia no estado do mundo observável. Então, você só pode ligar o irrigador se você observar se a grama está seca. Não permite ligar o irrigador baseado no estado da grama de ontem.


A seguir uma tabela relacionando as diferenças:




Esse artigo foi baseado no artigo: A Brief Introduction to Graphical Models and Bayesian Networks





Sugiro a leitura dos seguintes textos:

1) http://setosa.io/blog/2014/07/26/markov-chains/

2)Artigo An Introduction to Conditional Random Fields By Charles Sutton and Andrew McCallum Contents





terça-feira, 8 de outubro de 2013

TUTORIAL PROTÉGÉ - PARTE 7


TUTORIAL PROTÉGÉ - PARTE 7
baseado no guia prático para construir ontologias OWL usando Protégé dos autores Horridge & Knublauch et al

PARTE 7: RELAÇÕES (PROPRIEDADES) FUNCIONAIS INVERSAS

Olá pessoal,

Fiquei um tempo afastada, por causa do trabalho e também por encontar uma coisa que tem me fascinado. Eu andei nadando em outras águas. Descobri a linguagem R e o poder de data analysis. Daqui alguns dias publicarei alguma coisa sobre isso. Acredito que o data analysis possa nos ajudar nos experimentos. Mas vamos falar hoje sobre relações funcional inversa .

O que é propriedade funcional inversa? Primeiro, vamos nos lembrar da relação funcional olhando para os seguintes exemplos:

Relação 1) Jean temNasceudaMãe Peggy
Relação 2) Jean temNaceudaMãe Margaret

Se temNaceudaMãe é uma relação funcional isso indica que Peggy e Margaret são a mesma pessoa. Nesse contexto, Jean pode nascer de apenas 1 mãe. Na relação inversa funcional os exemplos são:

Relação 3) Peggy éMãeDe Jean
Relação 4) Margaret éMãeDe Jean

Perceba que para um único indivídio há dois associados. Esses 2 indivíduos continuam sendo a mesma pessoa neste contexto. Um relação inversa pode ser funcional,  mas o contrário não é válido.



sexta-feira, 15 de março de 2013

Wordnet - bibliotecas

Achei umas bibliotecas interessantes para acessar a Wordnet  por meio de programação Java:

1) http://projects.csail.mit.edu/jwi/

2) http://sourceforge.net/apps/mediawiki/jwordnet/index.php?title=Main_Page

3) http://yawni.sourceforge.net/wiki/index.php

terça-feira, 29 de janeiro de 2013

Qual abordagem de aprendizagem de máquina usar?


Existem várias abordagens de aprendizagem de máquina, mas qual devo usar por exemplo para meu sistema question answering??  O grafo ilustrado na Figura 1 pode responder a essa pergunta.




ACHADO

Primeiramente, desculpe por tantos dias sem postar nada. Estou trabalhando em um projeto e continuarei sem tempo para postar.


Só que nessas minha andanças,  achei um plugin para o PROTÉGÉ muito interessante:

http://protege.stanford.edu/plugins/psmtab/PSMTab.html

Esse plugin apoia a construção de sistemas baseados em conhecimento a partir de componentes reutilizáveis de conhecimento, conhecidos como PSM (Problem-Solving Methods). PSMs são algoritmos genéricos que codificam estratégias independentes de domínio para realizar tarefas cognitivas comuns (exemplo: classificação diagnóstico, projeto, etc.) pelo processamento de conhecimento do domínio.

sábado, 12 de janeiro de 2013

TUTORIAL PROTÉGÉ - PARTE 6


TUTORIAL PROTÉGÉ - PARTE 6

baseado no guia prático para construir ontologias OWL usando Protégé dos autores Horridge & Knublauch et al

PARTE 6: RELAÇÕES (PROPRIEDADES) FUNCIONAIS


Se a propriedade é funcional para um determinado indivíduo, pode existir mais de 1 indivíduo que é relacionado ao indivíduo por meio da propriedade. A Figura 1 mostra um exemplo de propriedade funcional temNasceuDaMãe - Alguém tem apenas 1 mãe de sangue. Se dizemos que o indivíduo Jean temNasceuDaMãe Peggy e também dizemos Jean temNasceuDaMãe Margaret, então  temNasceuDaMãe é uma propriedade funcional, podemos inferir que Peggy e Margaret são os mesmos indivíduos (É isso que uma máquina de inferência, como o Pellet, gera). Entretanto deve ser observado que se Peggy e Margaret foram explicitamente indicados para ser dois indivíduos diferentes então as sentenças acima levaria a uma inconsistência.

Figura 1

As propriedades funcionais são também conhecidas como propriedades de valores únicos ou características.

Próximo posting do tutorial será propriedades Propriedade Funcionais Inversas. Até a próxima.

sexta-feira, 4 de janeiro de 2013

Uma nova abordagem para um sistema question-answering

baseado no artigo Template-based Question Answering over RDF Data dos autores Unger et al.


Uma nova abordagem para um sistema 

question-answering





O artigo tema desse post é muito rico, por isso vale a pena depois baixar e ler por inteiro. Vou tentar resumi-lo. A maioria dos sistemas de question-answering que utilizam RDF (http://www.w3.org/RDF/) mapeiam a pergunta (linguagem natural) em uma representação de triplas RDF . Dessa forma obtém-se a resposta à pergunta por meio de um consulta a uma base de dados RDF. Alguns dos famosos sistemas que usam essa solução: Aqualog, PowerAqua, NLP-Reduce, FREyA, etc. Será que essa solução funciona em todos os casos?


Essas abordagens são muito boas para os casos em que o significado da consulta pode ser recuperado facilmente.Em muitos outros casos a estrutura semântica original da pergunta não pode ser fielmente capturada usando triplas, como por exemplo a pergunta: "Qual a cidade que tem mais de 3 universidades?". Consultas que usam agregação, filtros com quantidade específicas e intervalares não são fielmente capturados usando triplas.

A proposta desse sistema é gerar templates SPARQL que se aproximem da semântica da pergunta. Por exemplo: Quantos filmes Leonardo Dicaprio estrelou? Pode ser visto na figura 1 um dos templates proposto para a pergunta.



Figura 1




Para chegar no template SPARQL, alguns processos de PLN foram realizados. A arquitetura geral do sistema está ilustrada na Figura 2:

Figura 2



Nesse mesmo artigo fala sobre BOotstrapping linked datA.Você já ouviu falar sobre isso??? Vou preparar um posting sobre isso. até a próxima.