1-5. NMF Application

Advanced Mathematics for AI

Featured image

본 글은 K-MOOC의 인공지능 수학 고급(Advanced Mathematics for AI) 강의를 듣고 요약한 글입니다.

Problem

NMF를 통해서 문서들 간의 숨어있는 의미를 찾아보자.

Data Representaion

이전 1-1. Data-Representation과 동일하게 행렬로 표현을 할테지만, 이번에는 문서-단어가 아닌 단어-문서 행렬(AV×DA_{V\times D})로 표현해보자.

  d1d_1 d2d_2 d3d_3 d4d_4 d5d_5
romeo 1 0 1 0 0
juliet 1 1 0 0 0
happy 0 1 0 0 0
dagger 0 1 1 0 0
live 0 0 0 1 0
die 0 0 1 1 0
free 0 0 0 1 0
new-hampshire 0 0 0 1 1

Nonnegative Matrix Factorization

K=2K=2로 설정하고 결과를 보면 다음과 같다.

W8×2=[0.0830.6680.0000.7671.2850.000]romeojulietnewhampshireW_{8\times 2} = \begin{bmatrix} 0.083 & 0.668 \\ 0.000 & 0.767 \\ \vdots & \vdots \\ 1.285 & 0.000 \end{bmatrix} \larr \begin{matrix} \rm{romeo} \\ \rm{juliet} \\ \vdots \\ \rm{new-hampshire} \end{matrix} (H2×5)T=[0.0000.7470.0001.0390.1820.8920.8870.0000.2590.000]d1d2d3d4d5(H_{2\times 5})^T = \begin{bmatrix} 0.000 & 0.747 \\ 0.000 & 1.039 \\ 0.182 & 0.892 \\ 0.887 & 0.000 \\ 0.259 & 0.000 \end{bmatrix} \larr \begin{matrix} d_1 \\ d_2 \\ d_3 \\ d_4 \\ d_5 \end{matrix}

First cluster

w1w_1에서 가장 숫자가 큰 세 단어는 new-hampshire, die, live 이며 h1h_1에서 해당 문서들은 d4d_4, d5d_5, d3d_3 이다.

이는 d4d_4, d5d_5, d3d_3가 하나의 클러스터로 묶일 수 있고, 이를 대표하는 단어가 new-hampshire, die, live 라는 것이다.

Second cluster

위와 같은 방법을 w2w_2h2h_2에 적용하면

d2d_2, d3d_3, d1d_1이 하나의 클러스터로 묶이며, 이를 대표하는 단어가 dagger, juliet, romeo라는 것을 알 수 있다.

이러한 방법을 통해 수많은 대용량 데이터를 쉽게 계산할 수 있으며, 이런 기법을 Topic Modeling이라고 부른다.