quarta-feira, 26 de outubro de 2011

Update

Saiu o gabarito do Homework 2. As resoluções apresentadas na última postagem acertaram todas as respostas.

Homework 2 - resolução

Agora que o prazo para entrega do Homework 2 está encerrado, seguem as resoluções conforme entendimento desse blog. A página de progresso do curso está temporariamente fora do ar, então não temos como saber ainda se está tudo certo. Comentários são bem vindos.

Q1. Bayes Rule

A questão é bastante simples e direta. Sendo uma rede bayesiana com dois nós, A e B, e apenas uma seta de A a B, e dadas as probabilidades:

P(A) = 0.5
P(B | A) = 0.2
P(B | ~A) = 0.8

Queremos calcular P(A | B). Basta aplicar a regra de Bayes:

P(A | B) = [ P(B | A) x P(A) ] / [ P(B | A) x P(A) + P(B | ~A) x P(~A) ]

= [ 0.2 x 0.5 ] / [0.2 x 0.5 + 0.8 x 0.5] = 0.2

Q2. Simple Bayes Net

A rede agora é um pouco mais complicada: são quatro nós, um pai A e três filhos X1, X2 e X3 (que recebem influência de A e somente de A).
Os dados do problema são:

P(A) = 0.5
P(Xi | A) = 0.2, i E {1, 2, 3}
P(Xi | ~A) = 0.6, i E {1, 2, 3}

Precisamos calcular P(A | X1, X2, ~X3).

Existem várias maneiras de fazer essa conta. Talvez a mais direta seja a que segue, usando a definição de probabilidade condicional:

P (A | B) = P(A, B) / P(B)

Portanto

P(A | X1, X2, ~X3) = P(A, X1, X2, ~X3) / P(X1, X2, ~X3)

P(A, X1, X2, X3) = P(A) x P(X1 | A) x P(X2 | A, X1) x P(~X3 | A, XI, X2)

como os Xi são independentes dado A, temos que o termo fica

P(A, X1, X2, X3) = P(A) x P(X1 | A) x P(X2 | A) x P(~X3 | A) = 0.5 x 0.2 x 0.2 x 0.8 = 0.016

Para o termo do denominador, temos (usando a fórmula da probabilidade total):

P(X1, X2, ~X3) = P(X1, X2, ~X3 | A) x P(A) + P(X1, X2, ~X3 | ~A) x P(~A)
= P(X1 | A) x P(X2 | A) x P(~X3 | A) x P(A) + P(X1 | ~A) x P(X2 | ~A) x P(~X3 | ~A) x P(~A)
= 0.2 x 0.2 x 0.8 x 0.5 + 0.6 x 0.6 x 0.4 x 0.5 = 0.088

Portanto

P(A | X1, X2, ~X3) = P(A, X1, X2, ~X3) / P(X1, X2, ~X3) = 0.016 / 0.088 = 0.1818

Q3. Simple Bayes Net 2

A rede é a mesma do exercício anterior. Mas agora precisamos calcular:

P(X3 | X1)

Pela definição, temos

P(X3 | X1) = P(X3, X1) / P(X1)

Calculando os termos:

P(X3, X1) = P(A) x P(X2 | A) x P(X3 | A) x P(X1 | A) + P(A) x P(~X2 | A) x P(X3 | A) x P(X1 | A) + P(~A) x P
(X2 | ~A) x P(X3 | ~A) x P(X1 | ~A) + P(~A) x P(~X2 | ~A) x P(X3 | ~A) x P(X1 | ~A)
= 0.5 x 0.2 x 0.2 x 0.2 + 0.5 x 0.8 x 0.2 x 0.2 + 0.5 x 0.6 x 0.6 x 0.6 + 0.5 x 0.4 x 0.6 x 0.6
= 0.2

P(X1) = P(A) x P(X2 | A) x P(X3 | A) x P(X1 | A) + P(A) x P(~X2 | A) x P(X3 | A) x P(X1 | A) + P(A) x P(X2 | A) x P(~X3 | A) x P(X1 | A) + P(A) x P(~X2 | A) x P(~X3 | A) x P(X1 | A) + P(~A) x P(X2 | ~A) x P(X3 | ~A) x P(X1 | ~A) + P(~A) x P(~X2 | ~A) x P(X3 | ~A) x P(X1 | ~A) + P(~A) x P(X2 | ~A) x P(~X3 | ~A) x P(X1 | ~A) + P(~A) x P(~X2 | ~A) x P(~X3 | ~A) x P(X1 | ~A)
= 0.5 x 0.2 x 0.2 x 0.2 + 0.5 x 0.8 x 0.2 x 0.2 + 0.5 x 0.2 x 0.8 x 0.2 + 0.5 x 0.8 x 0.8 x 0.2 + 0.5 x 0.6 x 0.6 x 0.6 + 0.5 x 0.4 x 0.6 x 0.6 + 0.5 x 0.6 x 0.4 x 0.6 + 0.5 x 0.4 x 0.4 x 0.6
= 0.4

Portanto

P(X3 | X1) = 0.2 / 0.4 = 0.5

Q4. Conditional independence

Essa questão trata sobre o conceito de independência condicional. É dada uma rede com 4 nós (A, B, C e D), e com arestas de A para B e C, de B para D e de C para D. Precisamos dizer se as seguintes afirmações são verdadeiras:

a. B é independente de C

Não são indepentendes. Tanto B quanto C possuem a mesma causa, A.

b. B é independente de C dado D

Não são indendentes. Como a dependência vem de A, a causa comum, fixar o valor de D não faz efeito.

c. B é independente de C dado A

São independentes. Conhecendo a causa em comum, B e C perdem a dependência.

d. B é independente de C dados A e D

Não são independentes. Por conhecermos o valor de A, a dependência sumiria. No entanto, como conhecemos D e tanto B quanto C tem arestas apontando para D, o efeito explain away gera uma dependência entre B e C nesse caso.

Q5. Conditional independence 2

É dada uma rede um pouco mais complicada. São cinco nós, A, B, C, D e E. Há arestas saindo de A para B, D e E, de C para D, de B para E e de D para E. Precisamos decidir se as seguintes afirmações são verdadeiras:

a. C é independente de E dado A

Não são independentes. A relação de dependência de E para C passa por D, conhecimento sobre A não influencia essa relação.

b. B é independente de D, dados C e E

Não são independentes. A dependência de B e D vem da causa em comum, A.

c. A é independente de C, dado E.

Não são independentes. A e C, pelo efeito explain away, ganham dependência quando conhecemos D (nó apontado tanto por A quanto por C), ou um filho direto de D - E, no caso.

d. A é independente de C, dado B

São independentes. Tanto A quanto C não tem pais. Portanto, só há dependência quando conhecemos D, ou um filho direto de D - o que não é o caso.

Q6. Parameter count

Para a mesa rede da questão anterior, precisamos determinar o número de parâmetros necessários para especificá-la completamente.
Lembrando que nós sem pais precisam de 1 parâmetro (P(A), pois P(~A) é calculado por 1 - P(A)), e nós com n pais precisam de 2^n parâmetros, temos:

Nó Parâmetros
A 1
B 2
C 1
D 4
E 8


São, portanto, 16 parâmetros.



Nível das aulas e material

Por enquanto, as aulas ainda não estão se aprofundando muito nos assuntos que discutem. O módulo das redes bayesianas foi um pouco mais difícil, principalmente porque eles não se extendem muito nas explicações. Está começando a ficar cada vez mais necessária a consulta de outros materiais que não apenas as aulas.

Os novos módulos parecem ter uma abordagem já mais próxima da prática. Vamos ver.

Atualização 01

Estamos na expectativa para saber o resultado da Homework 2.

Enquanto isso, já estão disponíveis as Units 5. Machine Learning e 6. Unsupervised Learning.

Dica importante: Não deixem pra estudar ou mesmo fazer a Homework muito perto da hora de entrega pois os servidores não estão aguentando o volume de acessos nesses períodos, fazendo com que a entrega seja postergada.

Traduções: parece que alguns videos já estão com traduções em português Brasil. Parabéns pela iniciativa ao pessoal que está se dedicando a esta nobre tarefa.


segunda-feira, 19 de setembro de 2011

Encontre aqui atualizações, debates, divulgações, tudo sobre o curso "Introduction to Artificial Intelligence", da Stanford University's School of Engineering.