수식 MLE
위 수식에 대해서 자세히 알아보자.
P(x)라는 알고자 하는 확률분포에서 x,y data를 샘플링하여 모은 데이터로 파라미터를 찾고자 한다.
이때, 이 파라미터는 상황에 따라 다르다. 가우시안이라면 μ, σ 일것이고, 신경망이라면 weights, bias일 것이다. 그래서 위 식처럼 maximum log likelihood를 최대화 하는 theta를 찾는다. 해당 식을 풀이하자면 “Xi를 입력으로 넣고, theta라는 어떠한 파라미터가 있었을 때 yi의 값은 확률 값이 얼마인가?” 그렇게 얻은 확률값에 log를 취하고 이런 과정을 N번 반복하고 모두 더한다. 그렇게 더한 값들 중에 theta가 가장 큰 값을 찾으면 된다. 위 방식은 어디까지나 Ascent 방식이다.
우리는 마이너스를 곱해줌으로써 argmax -> argmin으로 Gradient Descen를 이용할수 있다
위 수식을 하나씩 살펴보겠다.
Xi를 넣었을 때 얻게되는 y_hat 결과는 softmax vector이다.
Vector를 아래 그림을 통해 보면
정답인 y은 원핫 인코딩으로 레이블링 되어 있었을 것이다. 가운데 값이 1이고 나머지 0이다. y_hat은 각 클래스일 확률이 들어있다.
이 두개를 Dot Product 해주면 아래처럼 실행된다.
위 결과는 결국 1이 있는 자리에만 log확률값이 출력될것이다. 이러한 과정을 거친 결과의 합에 -1를 한 결과값이 minimize하도록 동작하게 된다. 여기서 위 수식을 눈 여겨봐야한다.
위 수식은 바로 Cross entropy와 매우 흡사하다. 아래 그림이 CE식이다.
다른 점이 있다면 1/N이 있다는 점이다. 하지만 이는 중요하지 않다. 왜냐하면 theta로 미분할 때 상수는 날라가기 때문에 결국 MLE(NLL)과 같은 개념인 것이다. 지금껏 Classification에서 loss로 CE를 사용했는데 이는 결국 MLE를 하기 위한 과정이었던 것이다.
'NLP > 패캠_자연어 입문' 카테고리의 다른 글
7.Kullback (0) | 2021.12.07 |
---|---|
6. MAP(Maximum A Posterior) (0) | 2021.12.01 |
4. MLE (0) | 2021.11.28 |
3. Probabilistic Perspective (0) | 2021.11.28 |
2. Auto Encoder (0) | 2021.11.27 |