티스토리 뷰
해당 내용을 이해하기 위해서는 기초적인 수준의 조건부 확률, 베이지안 룰, 결합확률변수와 주변확률변수에 대한 이해가 있어야합니다.
1. 결합확률 변수에 대한 강의는 아래 김성범교수님의 강의를 보시거나 https://www.youtube.com/watch?v=niob_ZRZeJs
2. KMOOC에서 여인권교수님의 8주차 강좌를 통해서 결합확률변수와 주변확률변수에 대한 선수지식을 습득하시길 바랍니다.
http://www.kmooc.kr/courses/course-v1:SookmyungK+SM_sta_004k+2019_03SM_02/course/
3. 조건부 확률에 대한 개념이 없다면 주인장의 블로그 글을 참고하시거나 https://biomadscientist.tistory.com/20
난 정말 시간이 없다 하시는 분은 최소한 아래 공식만이라도 반드시 기억해두시길 바랍니다.
Variational AutoEncoder를 공부하기 시작하면 도입부에서 분명 이런 식을 마주할 것이다.
$$p_\theta(x) = \int p(z)p(x|z)\ dz$$
수학적으로 지식이 뛰어난 여러분들은 해당 부분을 아무런 막힘 없이 이해하고 넘어갈 수 있겠지만, 본인의 경우 수학과 연을 끊고 산지 10년이란 시간이 지난 시점에서 다시 적분기호부터 시작해야하는 마당에 도저히 이해가 가지 않았다.
적분은 왜 하는 것이며 p(x)에 대해 이야기하는데 왜 갑자기 p(z)가 나오는것이고 p(θ)는 무엇이고 dz는 뭐고 이놈의 marginalization(또는 marginalisation)이라는 말은 뭘 이야기 하는건지, marginal likelihood는 도대체 뭔지 여하튼 하나부터 열까지 이해가 안갔다. 거의 2주를 이 도입부 식을 이해하기 위해서 매달렸는데 아직도 완전히 이해한 것은 아니지만, 최소한 까먹기 전에 내가 공부한 만큼이나마 정리를 해보려 한다.
특히 여기서는 marginalization과 marginal likelihood에 관해 이야기 하려고 한다.
해당 수식을 찾아보면서 느꼈던 불만은 두가지였다.
1. 아무리 찾아봐도 marginalization이라는 용어의 명확한 개념을 설명해주지 않는다.
2. 그래놓고는 p(x)는 marginalization에 의해 우항처럼 변환할수 있고.... 이렇게 너무나 당연하다는 듯이 말하고 넘어간다.
이 식이 그렇게 당연한거야? 아무 설명도 없이 넘어갈 수 있을정도로 당연한거야?
1 + 1 = 2 처럼 너무나 자명해서 설명조차 필요없어서 다들 그렇게 넘어가는거냐고?
1. 도대체 marginalization이란 무엇일까?
(가끔 marginalization을 주변화라는 어설픈 한국어로 설명하는 곳도 있던데 그냥 딱봐도 한국어로 번역하기 애매한 용어들은 그냥 영어로 공부하자)
몇몇 블로그를 찾아보다보니 marginalization이 interation(적분)과 연결지어서 이야기하는 글을 자꾸 보게 되었다.
지금와서는 왜 그렇게 설명했는지 이해가 가지만 공부하기 전의 나는 도대체 무슨 소리인지 이해를 할 수가 없었다.
일단 marginalization은 적분이 아니라, 두 개 이상의 변수가 결합된 결합확률변수에서 특정한 하나의 변수를 제외하고, 나머지 변수만 가지고 확률을 설명하는 것이다.
marginalization에 대한 개념은 해당 유튜브 영상을 참고하면 단번에 이해할 수 있을 것이다. 한글 자막도 친절하게 달려있으니 내가 marginalization이라는 용어 자체가 뭔지 모르겠다면 먼저 이 영상부터 확인해보자
https://www.youtube.com/watch?v=CAXQvTKP8sg
2. 그럼 VAE 도입부에서 나오는 식과 marginalization이 무슨 관곈데?
다시한번 도입부의 식을 보자.
$$p_\theta(x) = \int p(z)p(x|z)\ dz$$
여전히 marginalization과 해당 식의 관계를 알기가 어렵다. 그 이유는 우리가 이것을 모르기 때문이다.
베이지안 통계에서 이야기하는 marginalization의 의미
그렇다, 보통 marginalization이라하면 일반적인 수리통계학에서 말하는 marginalization에 대한 검색이 이뤄지는게 대부분이다. 따라서 아무리 구글에 marginalization 키워드로 검색을 해봤자, 심화내용인 베이지안 통계학에서 이야기하는 marginalization에 대해서 검색하지 않았으면 위 식을 이해할 수 있는 개념의 marginalization이 검색되지 않는다. 위에서 참고 자료로 넣어놓은 유튜브 강의의 marginalization 역시 수리통계학에서 이야기하는 marginalization이다.
그럼 베이지안 통계에서 이야기하는 marginalization이 뭔데? 수리통계학의 marginalization과 비교해보자.
다시 한번 말하지만, 포스팅을 이해하기 위해서는 기본적인 베이즈룰, joint probablilty distribution에 대한 개념과 joint probability의 marginal distribution에 대한 이해 정도는 있어야 한다.
먼제 베이즈 룰은 아래와 같다 기억해야한다.
$$p(\theta|D) = \frac{p(D|\theta)p(\theta)}{p(D)}$$
아래는 베이즈 룰을 시각적으로 이해하기 위해 나타낸 joint probability table이다.
수리통계학에서 이야기하는 marginalization의 수식은 아래와 같다.
< Discrete distribution 일때 >
$$ x =\begin{cases}f_X(x) = \sum_y f(x,y) & where\ y\ marginal \ out \\f_Y(y) = \sum_x f(x,y) & where\ x\ marginal \ out\end{cases} $$
< Continuous distribution 일때 >
$$ x =\begin{cases}f_X(x) = \int_Y f(x,y)\ dy & where\ y\ marginal \ out \\f_Y(y) = \int_X f(x,y)\ dx & where\ x\ marginal \ out\end{cases} $$
반면 베이즈 통계학에서 이야기하는 marginalization을 수식으로 나타내보면 아래와 같다.
< Discrete distribution 일때 >
$$x =\begin{cases}f_X(x) = \sum_y p(x|y)p(y) & where\ y\ marginal \ out \\f_Y(y) = \sum_x p(y|x)p(x) & where\ x\ marginal \ out\end{cases}$$
< Continuous distribution 일때 >
$$x =\begin{cases}f_X(x) = \int_Y p(x|y)p(y)\ dy & where\ y\ marginal \ out \\f_Y(y) = \int_X p(y|x)p(x)\ dx & where\ x\ marginal \ out\end{cases}$$
복잡하고 이해가 가지 않을테고, 눈이갑자기 빙빙돌겠지만 정신 차리자, 장담하건데 나도 몰라서 정리하는 것이기 때문에 나와 같은 고민(VAE의 도입부 수식조차 이해가 안가는 당신)을 가지고 있는 당신, 이 설명보다 VAE의 이해를 위해 필요로 하는 marginalization과 marginal likelihood에 대해 친절하게 설명하는 블로그는 없다.
3. 지금까지 공부한 내용을 통해 VAE의 도입부 수식을 이해해보자
a) 위에서 말한 식 자체가 이해가 안간다면, 안타깝지만 그건 선수지식에 대한 이해가 충분하지 못한 것이다.
(곱셈을 모르는데 제곱 세제곱을 알려줘도 이해할 수 없는 것과 매한가지, 계속해서 강조한 선수지식에 대한 이해를 먼저 하지 않으면 아무리 공부해도 이 식을 이해할 수 없다.)
b) 두 방식의 차이점은 단 하나다 먼저 일단 이 조건부 확률 공식을 다시한번 상기시키고 아래 식을 봐보자.
$$f(x,y) = f(x \cap y) = \frac{xy}{36}, \ where \ x=1,2,3 \ y=1,2,3$$
라는 식이 주어졌다면 수식 그대로 사용해서 marginal probability를 계산하면 수리통계학,
그 식을 조건부 확률로 변형하여 marginal probabilty를 계산하는 방식이 베이지안 통계학이다.
c) 이산형 변수는 셀 수 있는 테이블이 주어지므로 시그마로써 marginal probability를 표현한다.
그리고 X 변수에 대해 probability를 얻었을때 y는 marginal out되었다고 이야기한다.
반면 Y 변수에 대해 probability를 얻었을 때, x는 marginal out되었다고 이야기한다.
그리고 이렇게 특정 변수를 제외하고 나머지 변수들로만 probability를 설명하는 것을 marginalization이라고 한다.
반면 연속형 변수는 셀 수 없이 많은 수들로 이뤄져 있으므로 적분하여 marginal probability를 표현한다.
따라서 연속형 변수에서는 marginal out을 integrated out으로 표현하기도 한다.
개념적으로만 이해가 갔다면 충분하다. 너무 깊게 생각하지 말자,
d) 이제 베이즈 룰을 생각해봐야한다. 여기서부터는 변수를 θ와 D로 나타내겠다.
$$p(\theta|D) = \frac{p(D|\theta)p(\theta)}{p(D)}$$
좌항의 p(θ∣D)를 posterior probability
우항의 p(D|θ)를 likelihood
p(θ)를 prior probability
분모인 p(D)를 evidence라고 불렀었는데, 바로 이 evidence가 그렇게 찾아 헤메이던 marginal likelihood의 정체였다.
도대체 이놈의 marginal likelihood가 뭐냐면 p(θ)로 가중하여 모든 θ값에 대해 likelihood인 p(D|θ)의 평균을 취하는 연산을 의미한다. 사실 나도 이건 무슨말인지 모르겠고, 그냥 식으로 표현할 수 있으면 되는 것 같다. 예를들어 우리가 x^2를 미분할때 2x가 되는지 명확하게 설명할 수는 없지만 그냥 그렇게 이해하고 넘어가는 것 처럼말이다. (똑똑한 당신은 어쩌면 명확히 그 이유를 설명할 수 있을지도 모르지만...)
명확히 이해가 가는 것은, 연속형 변수일때 p(D)가 베이지안 통계학에서 말하는 marginalization에 의해서 아래와 같이 나타낼 수 있다는 것이었다. (이해가 안간다면 베이지안 룰과 함께 위에서 제시한 joint distribution table에서 맨 오른쪽에 써놓은 2번 식을 참고하라)
$$p(D) = \int p(\theta)p(D|\theta)\ d\theta$$
단, 여기서 주의할 점은 연속형 변수이기 때문에 θ가 무한하게 많다는 점이다.
e) 마지막으로 지금까지 배운 내용을 VAE의 도입부 식에 대해 다시한번 생각해보자.
$$p_\theta(x) = \int p(z)p(x|z)\ dz$$
위에서 보였던 베이지안 통계학에서의 p(D)값의 marginalization에 의한 marginal likelihood값과 매우 유사하게 생긴 것을, 아니 유사하다기보다 완전히 똑같음을 확인할 수 있을것이다.
한가지 이야기하자면, 위 식은 intractable하다. 개념적으로는 대강 z의 분포가 명확히 정해질 수 없고, 세상에 존재하는 모든 분포 z에 대해서 무한차원의 적분을 하는것은 불가능하기 때문으로 생각하고 있는데... 잘 모르겠다. 이것도 추후에 공부해야 할 것 같다.
어쨋든 여기까지 따라왔다면 드디어 이 망할 수식 자체와 베이지안 통계에서 이야기하는 marginalization과 도대체 베이즈 룰에서 이야기하던 망할놈의 evidence가 뭔지, 간간히 들려오는데 도대체 무슨말인지 알 방법이 없던 marginal likelihood에 대해서 이해한 것이다...
그리고 절망적인 것은 이제서야 VAE의 도입부 수식을 하나 이해했다는 사실이다.
다음시간에 또 보도록 합시다.
'Background > Math' 카테고리의 다른 글
롤의 정리, 평균값의 정리, 코시 평균값 정리, 로피탈 정리 [증명과정 없음 주의] (1) | 2023.02.02 |
---|---|
부끄럽기 짝이 없는 미적분 복습공간 (0) | 2023.02.01 |
최대우도 추정2 (0) | 2023.01.24 |
최대우도 추정1 (Maximum Likelihood Estimation) (0) | 2023.01.24 |
독립 (Independence) (0) | 2023.01.24 |
- Total
- Today
- Yesterday
- 3b1b
- manimtutorial
- 백준
- eigenvector
- manim library
- 오일석기계학습
- kld
- ai신약개발
- variational autoencoder
- eigenvalue
- vae
- 인공지능
- marginal likelihood
- kl divergence
- MatrixAlgebra
- manim
- 선형대수
- 파이썬
- MLE
- MorganCircularfingerprint
- 최대우도추정
- 베이즈정리
- ai인공지능
- elementry matrix
- 제한볼츠만머신
- Matrix algebra
- 3B1B따라잡기
- 기계학습
- 이왜안
- Manimlibrary
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |