기계학습은 기본적으로 데이터 X를 보고 우리가 하려는 task에 맞추어서 데이터에 적합한 모델을 찾는것을 목표로 한다. 이 데이터 X는 기본적으로 랜덤벡터에서 샘플링 된것을 모아둔 행렬로 생각한다. (확률벡터(random vector)의 확률밀도함수(pdf: probability density function))데이터 X의 한 row는 랜덤벡터 $\mathbf{x}$의 샘플링 결과로 생각한다. 이런 가정이 충분한 경우가 많지만 랜덤벡터가 하나의 분포에서 나왔다고 하면 설명이 잘 안될때가 있다. 여러분포가 뒤섞인 것에서 $\mathbf{x}$가 등장한다는 것을 모델링하기 위해 latent variable(잠재변수)를 정의한다.
Latent Variable
확률벡터 $\mathbf{x}$가 있다고 하자. 확률벡터 $\mathbf{x}$은 관찰을 통해 얻을 수 있다. 확률벡터 $\mathbf{x}$의 분포를 설명하기 위해 나온것이 Latent Variable 이다. 기호로는 $\mathbf{z}$를 쓰도록 하자. $\mathbf{x}, \mathbf{z}$의 관계는 prior에 의해 묘사된다.
$$p(\mathbf{z})\tag{prior}\label{prior}$$
$\mathbf{x}$는 latent variable 의 상태에 따라 달라진다라는 것을 표현하기 위해 $p(\mathbf{x}|\mathbf{z})$도 사람이 가정을 해서 정해준다.
위와 같이 prior와 $p(\mathbf{x}|\mathbf{z})$를 가정해주고 시작하면 다음과 같은 설명이 된다.
랜덤벡터 $\mathbf{x}$는 보이지 않는 잠재적 변수 $\mathbf{z}$에 의해 확률적으로 결정된다. $\mathbf{z}$는 보이지 않지만 $\mathbf{z}$이 가지는 값에 따라 $\mathbf{x}$가 존재할 수 잇는 공간이 달라질 수 있다는 말이다.!