알고리즘

Probabilistic Semantic Latent Analysis

고요한하늘... 2009. 6. 25. 17:07

LINK : http://koixra1.kisti.re.kr/ra_resolution.jsp?koi=KISTI1.1013/PCD.CFKO200411923050882

 

 

LSA의 경우 SVD를 사용해서 얻어진 행렬에서 임의의 Rank값을 선택함으써 원본 데이터에서 차원이 축소되는 효과를 가져온다.

이와 마찬가지로 PLSA도 차원 축소가 이뤄지는데, 그것은 Aspect Model1에서 사용하는 은닉변수( latent valuable )의 개수에 의해서 동일한 효과를 볼수 있다

 

일반적으로 사용하는 문서와 단어를 가지고 설명을 하면

P( d,w ) 즉 문서 d와 단어 w의 co-occurrence

P( d,w )는 chine rule에 의한 조건부 확률로 가정하여 계산할수 있다.

P( d, w ) = P(d)P(w|d) : 문서 d가 선택될 확률에 문서 d가 선택된 후( 조건부 확률 )에 w가 선택될 확률의 곱

P( w|d ) 즉 문서d가 선택된 후에 단어 w가 선택될 확률( 조건부 확률 )

  = Σ(P|z)P(z|d) ( z∈Z ) <- 여기에 Latent Valuable을 추가해서 조건부 확률을 계산한다.

 

결과적으로 P(d,w) = ΣP(z)P(d|z)P(w|z) ( 변환 과정 참고 ; http://www.aclweb.org/anthology-new/E/E06/E06-1014.pdf )

 

EM( Expectation Maximization )과정을 샆펴보면

P(z|d,w)를 구한다. 즉 문서d와 단어 w가 토픽z에 속할 확률을 구하는 것이다.

이것을 구한후에는

P(w|z) 즉 토픽 z에 단어 w가 선택될 확률을 구하고

P(d|z) 즉 토픽 z에 문서 d가 선택될 확률을 구한다.

그리고 P(z)는 토픽 z가 선택될 확률을 구한다.

 

P(w|z)와 P(d|z) 그리고 P(z)를 구한 후에 이것을 가지고 다시 P(z|d,w)를 계산한다.

이런 과정을 반복적으로 실행하여 수렴할때까지 계속한다.

 

지금까지 이해하기로는 EM이라는 것이 상당히 무식한 방법이라는 생각이 든다.

모든 토픽에 대해서 계산을 해야 하고 토픽마다 문서당 단어당 계산이 필요해 보인다.

 

http://mmc36.informatik.uni-augsburg.de/mediawiki-1.11.2/images/3/3d/SS08_BN-Lec11-pLSA.pdf
http://faculty.cs.byu.edu/~ringger/Winter2008-CS601R-1/lectures/Lecture28-plsi.pdf
http://www.jotmi.org/index.php/GT/article/viewFile/art32/63

http://www.lemurproject.org/doxygen/lemur-3.1/html/classPLSA.html#a0

http://www.cs.brown.edu/~th/index.html - 호프만 홈페이지

  1. Aspect Model은 Co-occurrence분석에 사용하는 Latent valuable Model의 하나이다. [본문으로]

'알고리즘' 카테고리의 다른 글

최대 엔트로피 모델( Maximum Entropy Model )  (0) 2009.09.04
LINGO Algorithm  (0) 2009.08.25
FP-TREE( Frequent Pattern Tree )  (0) 2009.06.02
NMF 테스트 결과  (0) 2009.05.28
Non negative Matrix Factorization ( NMF )  (0) 2009.05.20