엔트로피(entropy)
수학적인 엔트로피는 확률분포가 가지는 정보의 확신도 또는 정보량을 수치로 표현한 것.
확률분포에서 특정한 값이 나올 확률이 높고, 나머지 값의 확률이 낮아진다면 엔트로피는 작아지고, 반대로 확률이 대부분 비슷한 경우 엔트로피가 높아진다.
엔트로피 역시 범함수의 일종
- 범함수(함수를 입력받아 숫자를 출력하는 함수)의 예
- 기대값 : $E[P_X(x)]= $숫자(함수의 중심위치)
- 분산 : $Var[P_X(x)] = $숫자 (함수의 폭)
- 엔트로피 : $H[P_X(x)] = $숫자(함수가 얼마나 골고루 분포)
- 범함수(함수를 입력받아 숫자를 출력하는 함수)의 예
이산확률변수와 연속확률변수에서의 엔트로피의 정의
이산확률변수(카테고리분포 등) \[ H[Y] = -\sum_{k=1}^{K} p(y_k) log_2 p(y_k)\]
연속확률변수(정규분포 등) \[ H[Y] = \int_{-\infty}^{\infty}p(y)log_2p(y)dy\]
\(p(x)=0\)인경우 로그값이 정의되지 않으므로 극한값을 사용한다 \[ \lim_{n \to 0} plog_2p = 0 \]
엔트로피의 성질
- 엔트로피의 최소값은 0(모든 데이터가 동일한 확률값을 가질때)
- 엔트로피의 최대값은 이산 확률변수의 클래스의 갯수에 따라 달라진다. 만약 이산확률분포가 가질수 있는 값이 \(2^K\)개면 엔트로피의 최대값은 각 값에 대한 확률이 모두 같은 \(1\over 2^K\)이다
\[H = -2^K \cdot {1\over 2^K}log_2{1\over2^K} = K \]
엔트로피의 추정
이론적 확률밀도함수가 없고, 데이터만 있는 경우, 데이터에서 확률질량함수를 추정한후 이를 기반으로 엔트로피를 계산한다.
- 80개 데이터중 \(Y=0\)인 데이터가 40개, \(Y=1\)인 데이터가 40개인 경우 엔트로피는 1이다.
\[P(y=0) = {40\over80} = {1\over2}\]
\[P(y=1) = {40\over80} = {1\over2}\]
\[H[Y] = -{1\over2}log_2 \left( {1\over2} \right) - {1\over2}log_2 \left({1\over2}\right) = {1\over2} + {1\over2} = 1\]
결합엔트로피
결합확률분포를 사용하여 정의한 엔트로피
이산확률변수 \(X,Y\)에 대한 결합엔트로피는
- 이 식에서 \(K_X,K_Y\)는 각각 \(X\)와 \(Y\)가 가질수 있는 값의 개수
- \(p\)는 확률질량함수
\[H[X,Y] = - \sum_{i=1}^{K_X}\sum_{j=1}^{K_Y}p(x_i,y_j)log_2p(x_i,y_j)\]
- 연속확률변수 \(X,Y\)에 대한 결합엔트로피는
- 이 식에서 \(p\)는 확률밀도함수
\[H[X,Y] = - \int_x \int_y p(x,y)log_2p(x,y)dxdy\]
조건부엔트로피
확률변수 \(X\)가 다른 확률변수 \(Y\)의 값을 예측하는데 도움이 되는지를 측정하는 방법 중의 하나(상관관계와는 조금 다른 개념)
조건부엔트로피는 조건에 따라 나눈 데이터의 엔트로피의 가중평균
- 의사결정나무에서 어떤 것이 더 좋은 분류인가를 판단할때 조건부엔트로피를 활용
- 조건부엔트로피가 가장 낮은걸 분류 기준으로 두고 진행
이산확률변수일떄의 조건부엔트로피
\[H[Y | X] = - \sum_{i=1}^{K_X}\sum_{j=1}^{K_Y}p(x_i,y_j)log_2p(y_i|x_i)\]
- 연속확률변수일떄의 조건부엔트로피
\[H[Y | X] = - \int_x \int_y p(x_i,y_j)log_2p(y_i|x_i)\]