Lecture Review/DSBA

Dimensionality Reduction

frances._.sb 2022. 3. 4. 14:41
728x90

[1990] LSA(Latent Semantic Analysis)

  • Singular Value Decomposition : SVD

 - real or complex matrix를 factorization

 - A = $U ∑ V^T$ 

 - A = mxn (m>n) / $U$ = mxm / $V^T$ = nxn

 

  • Properties of SVD

- Singular vectors of the matrix U and V are orthogonal

- The number of positive singular values in ∑ = Rank(A)

  • Reduce SVDs

- Thin SVD : ∑ → square matrix

- Compact SVD :  remove zero-singular values and corresponding vectors

- Truncated(Approximated) SVD : preserve top t largest singular values

 

  • LSA purpose

 - Latent Semantic Indexing :  term document matrix를 lower dimensional space로 comverting 하는데에 있어서 statistical strcture를 보존하는 matrix factorization 하려는 것이다. (변수의 숫자는 줄이고 데이터 구조는 보존!)

- Latent : explicit 하지 않은 관련성을 capture

- Semantic : entities 간의 유사성 저차원으로 변환 후에는 거리 관계로 보존 할 수 있게 함

 

 

[2002] Stochastic Neightbor Embedding

  • Stochastic Neighbor Embedding (SNE)

- data가 가진 structure에서 local distance 보존이 non-local dist. 보다 더 중요하다.

- pairwise distance가 local인 상황을 deterministric이 아닌 probabilistic 결정한다.

 

  • Picking the Radius of the Gaussian in p

-  σ 가 커지면 더 멀리에 존재하는 entity가 결정될 확률이 커진다.

- 반대로 작으면 일정거리 이상으로 벌어지면 Pj given i 가 0에 수렴한다. (→ entropy가 작아진다)

- SNE의 performace는 perplexity의 변화에 그렇게 민감하지는 않다.

 

 

entropy를 간단하게 요약하자면 다음과 같다.

 

 ※ entropy : 열역학에서 쓰이는 개념으로 무질서 정도에 대한 측도. 값이 클 수록 순수도가 낮다고 볼 수 있다.

 ※ cross-entropy : 두 개의 확률분포 p,q에 대해 하나의 사건이 가지는 정보량으로 정의된다. 

  데이터 분석 관점에서 보면, X는 어떤 데이터이고 Y는 해당 데이터의 클래스, p,q는 그 데이터가 어떤 클래스를 가질지에 대한 확률

  cross entropy loss 는 다중 클래스 분류(multi-class classification) 신경망에서 많이 사용합니다.

  출력(y)의 범위는 0<y<1 입니다. Cross Entropy 비용함수는 활성함수로 시그모이드 함수나 소프트맥스 함수를 채택한 신경망과 함께 많이 사용됩니다.

cross entropy

 

  • Cost Functoin for a Low-dimentional Representation

- Kullback-Leibler divergence : non-symmetric measure of the difference between two probability distribution P and Q

                                          → (distance로 쓸 수 없다.)

 

- Gradient

증명에 대한 부분은 강필성 교수님의 강의를 보는 것을 추천합니다. Dimensionality Reduction Part2

 

#tsne 이용 cluster analysis example

tsne = TSNE(n_components=2)

vocab = word2vec.wv.vocab
similarity = word2vec[vocab]

import pandas as pd

transform_similarity = tsne.fit_transform(similarity)
df = pd.DataFrame(transform_similarity, index=vocab, columns = ['x','y'])

import seaborn as sns
import matplotlib.pyplot as plt
plt.style.use('seaborn-white')

sns.lmplot('x','y',data = df, fit_reg = False, size=8)
plt.show()

 

728x90
반응형

'Lecture Review > DSBA' 카테고리의 다른 글

[2014] Seq2Seq Learning with Neural Networks  (0) 2022.03.16
Topic Modeling - 2  (0) 2022.03.16
Topic Modeling - 1  (0) 2022.03.08
Doc2Vec & Others  (0) 2022.03.02
NNLM/Word2Vec/GloVe/FastText  (0) 2022.03.02