티스토리 뷰

2021. 10. 19. 03:01

 

안녕하세요

프로그래밍을 배우는 빛나는 샤트입니다. 

 

SLAM 강의 31강. Joint Probability and Conditional Independence


*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.

출처: 31강. Joint Probability and Conditional Independence

31강. Joint Probability and Conditional Independence

 

🎉강의요약

1. 칼만 필터는 이전 관측의 총괄을 이용해 현재를 예측하는 내용

2. Joint Indepence는 두 가지 사건에 대한 확률에 관한 내용

3. Conditional Independence는 두 사건 A,B가 독립일 때 C가 주어지고 그에 따른 확률을 다룬다.

4. P(A,B|C)=P(A|C)P(B|C): 사건 C가 주어졌을 때 사건 A,B의 교집합의 확률인데 이때 A,B가 독립이라면 따로 표현가능

 

 

<Definition of Engineering Concept>
<Conditional Probability>

- Prediction: 과거의 모든 관측을 이용해 예측
- Filtering or Updating: 현재까지의 결과를 이용해 업데이트
- Smoothing in DSP: 현재까지의 값을 가지고 과거를 업데이트(smoothing 기법)

 

<Graph Expression in Probability>

그래프: 노드들 사이의 연결관계를 표현. (Graph Theory)

하위 단이 상위로부터 지배를 받는 구조.(트리 형태)
언제든 탑이 트리를 만들 수 있다.

하지만 순환하는 사이클을 가지고 있는 네트워크(신경망)
서로가 서로 물려있기 때문.

- Conditional Probability (조건부 확률, 베이지안)
B가 주어졌을 때 A를 평가(A<-B)
P(A|B)
B중에 A부분

 

<Joint Probability>

확률을 이야기할 때는 소문자p를 써야하지만, 강의자료에서는 대문자P 사용.

ΣΣP(x,y) =1 : 모든 확률의 합은 1. 이것이 Joint Probability
Σ_yP(x,y) = P(x) : 모든 P(x,y)를 y에 대해 합을 하면 P(x)가 나옴.
모든 y에 대해서 더해주기 때문에 x에 관한 확률값으로 표현.(우측 그래프 참고)

P(A) = Σ_bP(A,b): A는 b와의 조인트 확률이 있었다. b에 대해 합을 한다.
*P(A,B) = P(A∩B) : 같은 표현
즉, P(A,b)는 A와 b의 교집합.

조건부 확률에서 살펴봤듯 P(A,B) = P(A|B)P(B)이므로, Σ_bP(A,b) = Σ_bP(A|b)P(b)
불연속인 경우 시그마를 사용. 연속이면 적분.

---

P(A,B)를 위의 식의 A 자리에 넣는다고 생각.
P(A,B) = Σ_cP(A,B,c) = Σ_cP(A.B|c)P(c) = ∫_cP(A,B|c)P(c)dc
> 위 수식이 많이 등장

 

<Gaussian Distribution>

Z는 하나의 값이 아니라 분포를 의미.
P(z)를 적분하면 1이된다. -> 적분하기 어렵기 때문에 err(z) 수식을 이용

x=σz를 이용.

즉, 평균(μ)과 분산(σ)이 주어졌을때 x에 대한 조건부 확률로 문제를 바꿀 수 있다.
P(x|μ,σ): 평균과 분산가 동시에 교집한 형태로 주어졌고 이때 x에 대한 것을 따졌다.

*소문자p: PDF(Probability Density Function)

코드상에서는 z=randn을 생성해 sigma를 곱해서 x를 만들고 평균값을 더해서 x라고하는 분포를 만든다.

 

<Strict Expression>

대문자P: Probability Mass Fuction, P(x)
소문자p: Probability Density Function, p(x,w)

강의에서는 구분하지 않고 진행.(혼동의 우려 있음)

PDF는 Joint Probability가 적분 가능. -> density라고 한다.

 

<Independence and Dependence>

- 사건  A,B가 독립이면 교집합이 없으므로 P(A,B) = P(A)P(B)
(졸업과 애인이 생기는 확률은 서로 관련이 없다)

- A와 B가 독립이 아니라면 서로에게 영향이 있기 때문에 조건부 확률 이용.

- 사건 A,B가 주어진 사건 C에 대해 독립이라면 -> 조건부 확률 이용
P(A,B|C) = P(A|C)P(B|C)
*P(A,B) = P(A)P(B)이기 때문에.

 

 

<Bayesian Networks: Directed Acyclic Graph>

- 사건 A,B 두 개가 C에 영향을 준다면 A,B에 대해서 C가 나타난다. (A,B는 독립)
즉, P(A,B,C) = P(C|A,B)P(A)P(B)

- C 하나가 A,B에 영향을 줄 때, P(A,B|C): C가 주어졌을 때 A,B의 교집합 조건부 확률.
여기에 P(C)를 곱해서 P(A,B,C)로 표현 가능
> 그렇다면 P(A,B,C)은 뭘까?

<Conditional Independence>

A,B 사이는 독립?
P(A,B,C) = P(A|B,C)P(B|C) 로 표현 가능!

- 사건 A가 B에 대해 독립.
*ㅛ: 독립관계임을 뜻하는 기호
P(AㅛB|C): C가 주어졌을 때 A,B가 독립
>> P(A|B,C): B와 C의 교집합이 주어졌을 때 A의 확률인데 A,B는 독립이므로 B는 굳이 필요 없다. 즉, P(A|C)가 된다. (또한 P(A,B|C)로도 표현 가능)

>> 정리: P(A,B|C) = P(A|C)P(B|C)
SLAM에서 많이 사용

 

<Bayesian Networks with Conditional Independence>

좌측의 그림과 같은 네트워크가 있다.
이전에 배웠던 방식을 이용해 문제 해결.
최하단부터 푼다. (F,G)
다음은 D,E
A,B,C는 F,G에 직접적 영향을 주지 못하기 때문에 Conditional Indepence를 사용
G는 D,E하고만 관련. F와는 독립

P(G|F,D,E)=P(G|D,E): G와 F는 독립이므로 F 삭제됨.
P(D|E,A,B,C)=P(D|A,B,C): D와 E는 독립이므로 E 삭제됨.

P(F,D,E)=P(F|D,E)P(D,E)=P(F|D)P(D,E): F는 D하고만 연관이므로 E 삭제됨.
P(E|A,B,C)=P(E|A,C): E는 B하고는 연관이 없으므로 B는 삭제됨.
P(A,B,C)=P(A)P(B)P(C): 서로 독립

> 간단 정리
A,B,C는 독립이므로 P(A)P(B)P(C) 분리.
D는 A,B,C에 영향을 받으므로 P(D|A,B,C)가 있어야 함. 
E는 A,C에 영향을 받으므로 P(E|A,C)가 있어야 함.
F에 영향을 주는 것은 D이므로 P(F|D) 필요
G에 영향을 주는 것은 D,E이므로 P(G|D,E) 필요

>> 검은 정리식과 빨간 정리식은 똑같다! 그러니 직관적으로 풀어내라.

 

<General Factorization of Bayesian Net>

*∏: 전부 곱하는 기호

x는 다양한 값을 가지는데 X_k, X_k-1, ..., X_1인데 서로 독립.
맨위의 식인 P(x) = P(X1|a1)P(X2|a2)...P(X_k|a_k)

factorization(인수분해)을 이용해 표현할 수 있는 문제에 대한 설명.

- Remind that: 곱하기로 모두 표현할 수 있다. 1보다 작은 값들이 많이 곱해지게 되면 결과는 굉장히 작아진다. 에러가 커진다.
> log를 사용해 계산해서 log를 뒤집어서 표현한다.

 

 

피드백은 언제나 환영합니다.😊

틀린 부분 있다면 지적해주시고 도움이 되었다면 댓글 공감 눌러주세요

LIST
댓글