로그인 바로가기 하위 메뉴 바로가기 본문 바로가기

인공지능 및 기계학습 심화

임시 이미지 KAIST 산업및시스템공학과 문일철 교수
http://kooc.kaist.ac.kr/aiml-adv/forum/135770
좋아요 694 수강생 3328

안녕하세요, Dirichlet Process (DP) 에 대해서 전반적인 흐름을 이해하고자 질문 드립니다.

먼저, (K-1)-simplex위에서의 디리클레 분포의 realization은 K개의 확률, 즉 0과 1사이의 숫자가 담겨있는 K차원 벡터(sum to 1)일 것입니다. 그리고 DP는 이러한 디리클레 분포를 일반화 시킨 것으로, DP의 realization은 디리클레 분포를 따르는 일종의 "분포"라고 알고 있습니다. 

그리고 DP의 realization한 분포(디리클레 분포를 따름)로부터 sampling을 하고 싶은데, K가 고정된 것이 아닌 이론적으로 무한히 확장시키고 싶기 때문에 Stick Breaking Process, Polya Urn Process 그리고 China Restaurant Process가 고안된 것으로 알고 있습니다. 만약 제가 이해한 것이 맞다면, 위 3가지 중 어느 방법을 사용하던, 기본적으로 디리클레 분포로부터 샘플링을 한 것이므로, 위에서 언급한 것과 마찬가지로 각 클러스터에 할당될 확률들을 모아놓은 하나의 벡터가 추출되어야 한다고 생각합니다. 

그런데 SBP로 예로 들면, 정의에 의해 무한개의 Beta들이 모여서 무한개의 확률 (클러스터에 할당될 확률) 들이 모여있는 하나의 벡터가 생성되는것으로 이해가 되는데 (물론, 이론적인 얘기지 실제로는 truncated되는 것으로 알고 있습니다), 그렇다면 theta는 어떤 요소라고 이해를 해야하는 것이 적절할까요? 

마지막으로, page 9, 10에 나오는 theta의 조건부 분포는 어떻게 도출되는 것인가요? page 8에서 theta는 Base distribution을 따른다고 하였는데 이와 관련이 있는건가요?


긴 글 읽어주셔서 감사합니다!