Um espaço dedicado à divulgação do curso de Inteligência Artificial promovido pela Stanford University. Ensino a Distância e gratuito sem barreiras.
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.
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.
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.
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.
Assinar:
Comentários (Atom)