확률에 대한 내용
업데이트:
본 글은 딥러닝 공부를 하면서 확률들에 대해 알아온 것들을 정리하는 곳이다.
Expectation
공부를 하다보면 다음과 같은 식을 만나게 된다. 예를 들면, Cross-entropy가 있다.
\[L(\theta) = -E_p[\log f_{\theta}(y\|x)]\]나는 여기서 $E_p$의 표기가 이해가 안갔다. 이 표기는 사실 좀더 디테일하게 표현하자면,
\[E_p = E_{x~p(x)}\]라고 표현할 수 있다.
이제 이것을 딥러닝적인 개념과 엮어서 이해해보자.
우리는 학습할 때, input data x를 굉장히 많이 갖고 있다. 그리고 x는 high-dimension을 가진 feature들을 가질 것이다. 당장 4차원 이상의 공간을 우리가 상상할 순 없지만, 고차원의 feature들이 어떤 분포를 가진다고 상상해보자. 그것이 바로 p(x)인 것이다. 실제 데이터들이 이루는 분포가 p(x)인 것이다! 그래서 x~p(x)라는 것은 그 분포에서 어떤 데이터 x를 추출해서 사용한다는 의미이다.
그런 의미로 다시 크로스 엔트로피 식을 살펴보자. 그럼 추출된 x를 $f_\theta (x)$에 넣음으로써 우리는 출력 값을 가질 수 있다.
여기서 $\theta$는 함수 f를 구성하는 파라미터들을 의미한다. CNN 네트워크를 예로 들면 가중치, bias 등이 있다.
즉, CE식을 다시 설명하자면 실제 데이터 분포 x에서 추출한 데이터 x를 모델에 넣어서 얻은 출력값(확률)에 log를 취한 것들의 기댓값을 구하는 것이다!
근데 input data들은 여기서 랜덤하게 같은 확률로 추출된다고 가정하면, CE식은 다음과 같이 쓸 수 있는 거다.
\[L(\theta) = -\sum_{x,y} p(x,y) \log f_{\theta}(y\|x)\]