필자는 석사때까지 통계학을 공부했었는데
크로스 엔트로피(Cross Entropy), 엔트로피(Entropy)를 기반으로 하는 정보이론은
거의 접하지 못하였다.
반면에 가능도(Likelihood), 최대가능도추정량(MLE), 최대 사후 확률 (MAP)
와 같은 가능도 함수 기반의 이론은 많이 접했었다. (피셔정보수라던지... score function 이라던지...)
그리고 일반적으로 최대 가능도 추정량은 추정치로써 좋은 성질들을 많이 가지고 있다. (Consistency라던지, Invariance property라던지, Efficiency 라던지...)
그런데 놀라운것은, 머신러닝을 활용한 분류문제에서 많이 쓰이는 크로스 엔트로피를 최소화하는 것이 가능도를 최대화하는 것과 같은 결과를 준다는 것이다.
크로스 엔트로피 식은 아래와 같다.
$$H(p,q)=-\sum _{x\in \chi }^{ }p(x)\log q(x)$$
지난번 포스팅에서 크로스 엔트로피를 최소화하는 것은, 쿨벡 다이버전스를 최소화하는 것과 동치이며, 이는 분포 q가 분포 p에 가깝게 만드는 것을 말한다는것을 의미한다고 했는데... 여기서 분포 p를 우리의 정답 레이블을 원핫 인코딩한 [0,1,0,0,0]와 같이 두고, 분포 q를 파라미터를 기반으로 구한 우리의 예측확률 (예를들어, [0.1, 0.6, 0.1, 0.1, 0.1] ) 이라 하면, 크로스엔트로피 결과는 -log(0.6)이 나온다. 그리고 이는 그 관측치 하나의 로그 가능도에 -1을 곱한 값이다.
즉, 분류문제에서는 관측치 하나하나 마다 저런식으로 크로스엔트로피 값들이 나올것이고, 이것들의 합이나 평균을 최소화하는 문제로 보통 가게 된다.(그리고 저 확률벡터 [0.1, 0.6, 0.1, 0.1, 0.1] 과 같은 것을 뽑아내는 방법 중에 많이 쓰이는 방법이 softmax 방법이 있다. 이는 근데 사실상 다중 로지스틱 회귀분석과 비슷하다.)
그러므로, 관측치 하나하나 마다 가지는 크로스 엔트로피의 합을 최소화 하는 문제 = 관측치 하나하나 마다 가지는 로그 가능도의 합을 최대화 하는 문제가 된다. 그리고 이를 쿨벡 다이버전스와 연결시키면, 가능도를 최대화 하는 문제는 결국 예측 확률의 분포가 정답 확률의 분포에 가깝게 되는 과정으로 볼 수 있겠다.
'데이터 사이언스 > 머신러닝 & AI' 카테고리의 다른 글
[딥러닝] 딥러닝에서 weight initialization 의 영향력 (0) | 2023.11.13 |
---|---|
회귀문제에서 Random Forest, SVM, XGBoost 튜닝하는법 (in python) (1) | 2022.10.08 |
엔트로피, 크로스엔트로피, 쿨벡라이블러 다이버전스 (0) | 2022.08.15 |
딥러닝과 머신러닝, 그리고 모수적 방법과 비모수적 방법이란 ? (0) | 2022.08.15 |
딥러닝 시계열 모형 Neural prophet (in Python) (0) | 2022.08.15 |