ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • softmax / cross-entropy / kld
    machine learning 2019. 7. 30. 18:56

    Softmax는 classfier이며 classfication이 필요한 Layer에서 사용한다.
    softmax를 사용하는 이유는 결과값을 확률값으로 받기 위해 주로 사용하며 확률값이기에 모든 컴포넌트의 확률값의 총합은 1이된다.

    softmax formula

    식은 간단하게 각 element에 exponential function을 적용하여 exp한 값의 합으로 나누어서 normalization을 한다.

     


    cross-entropy는 정보이론(information theory)에서 나온 concept이며 정보이론에서 정보의 정의는 사건A에 대한 정보량 h(A)는 아래와 같이 정의한다.

    $${\mathrm {H} (X)=- {\log \mathrm {P} (A) }}$$

    entropy란 이산확률변수(discrete random variable)의 평균 정보량, 평균적인 놀람의 정도, 불확실성 정도를 나타내는 것이다.
    이산확률변수 X의 평균정보량 H(X)의 정의는 

    $${\mathrm {H} (X)=-\sum _{i=1}^{n}{\mathrm {P} (x_{i})\log \mathrm {P} (x_{i})}}$$

    위 그래프는 동전던지기 그래프이다. y축의 섀년 엔트로피의 값을 보면 가장 높을때는 x축이 0.5일때이다.
    0.5는 동전의 앞면/뒷면이 나올 확률이 공평한 경우를 말하는것이며 1은 앞면만, 0은 뒷면만 나오는 상황이기에 불확실성이 없는것을 보여준다.

     

    쿨백-라이블러 발산(Kullback-Leibler divergence, KLD)은 두 확률분포의 차이를 계산하는 데 사용하는 함수입니다. 딥러닝 모델을 만들 때 예로 들면 우리가 가지고 있는 데이터의 분포 P(x)와 모델이 추정한 데이터의 분포 Q(x) 간에 차이를 KLD를 활용해 구할 수 있습니다. KLD의 식은 다음과 같이 정의됩니다.

    $$D_{{{\mathrm {KL}}}}(P\|Q)=\sum _{i}P(i)\log {\frac {P(i)}{Q(i)}}$$

    PP QQ가 동일한 확률분포일 경우 KLD는 정의에 따라 그 값이 0이 됩니다. 하지만 KLD는 비대칭(not symmetric)으로 PP QQ 위치가 뒤바뀌면 KLD 값도 달라집니다. 따라서 KLD는 거리함수로는 사용할 수 없습니다.

     

    cross-entory는 확률분포 p이 정확한 값을 모르기 때문에 p를 정확한 근사 분포인 q를 얻기위해 parameter를 업데이트하며 q를 p에 근사할 것이다. 두 분포의 차이를 측정하는 KLD가 최소화 하는것이며 우리가 가지고 있는 데이터의 분포 P(x)와 모델이 추정한 데이터의 분포 Q(x) 간에 차이를 최소화한다는 정도로 이해하면 좋을 것 같습니다.

    $${H(p,q)=-\sum _{x\in {\mathcal {X}}}p(x)\,\log q(x)}$$

    (*두 확률분포가 교차로 곱해진다는 의미로 크로스(cross) 엔트로피라는 이름이 붙은 것 같습니다.)

    cross-entory를 이용하여 근사 확률 분포와 정답 분포와의 차이를 이용하여 loss를 최소화하는 방향으로 파라미터를 업데이트 하여 학습하는 과정을 거치게 된다.

    * cross entropy는 label의 값이 one_hot encoding (원핫 인코딩) 일 때만 사용이 가능하다는 것을 염두해두자


    출처:https://ratsgo.github.io/statistics/2017/09/22/information/

    반응형

    'machine learning' 카테고리의 다른 글

    Bias-variance tradeoff  (0) 2020.01.24
    K-Nearest Neighbor(KNN)  (0) 2019.03.13
    유사도 구하기 (피어슨 상관계수)  (0) 2019.03.13
    타니모토 계수(Tanimoto coefficient)  (0) 2019.03.13

    댓글

Designed by Tistory.