엔트로피

YuJangHoon·2021년 9월 27일
1

1 엔트로피

Y=0Y=0 또는 Y=1Y=1 인 두 가지 값을 가지는 확률변수의 확률분포가 다음과 같이 세 종류가 있다고 하자.

  • 확률분포 Y1Y_1 : P(Y=0)=0.5P(Y=0)=0.5, P(Y=1)=0.5P(Y=1)=0.5
  • 확률분포 Y2Y_2 : P(Y=0)=0.8P(Y=0)=0.8, P(Y=1)=0.2P(Y=1)=0.2
  • 확률분포 Y3Y_3 : P(Y=0)=1.0P(Y=0)=1.0, P(Y=1)=0.0P(Y=1)=0.0

베이지안 관점에서 위 확률분포는 다음과 같은 정보를 나타낸다.

  • 확률분포 Y1Y_1yy값에 대해 아무것도 모르는 상태
  • 확률분포 Y2Y_2yy값이 0이라고 믿지만 아닐 가능성도 있다는 것을 아는 상태
  • 확률분포 Y3Y_3yy값이 0이라고 100% 확신하는 상태

확률분포가 가지는 이러한 차이를 하나의 숫자로 나타낸 것이 바로 엔트로피다.

엔트로피의 정의

엔트로피(entropy)는 확률분포가 가지는 정보의 확신도 혹은 정보량을 수치로 표현한 것이다.

  • 확률밀도가 특정값에 몰려있으면 엔트로피가 작다고 하고 반대로 여러가지 값에 골고루 퍼져 있다면 엔트로피가 크다고 한다.

  • 물리학의 엔트로피 용어를 빌려온 것이다.

  • 수학적으로 엔트로피는 확률분포함수를 입력으로 받아 숫자를 출력하는 범함수(functional)로 정의한다.
    input:함수H[  ]output:숫자(엔트로피)input: 함수 \rightarrow H[\ \ ] \rightarrow output: 숫자(엔트로피)

H[Y]=k=1Kp(yk)log2p(yk)H[Y] = -\sum_{k=1}^K p(y_k) \log_2 p(y_k)

H[Y]=p(y)log2p(y)  dyH[Y] = -\int_{-\infty}^{\infty} p(y) \log_2 p(y) \; dy

  • 로그의 밑(base)가 2로 정의된 것은 역사적 이유 때문.
  • p(y)=0p(y)=0인 경우에는 로그값이 정의되지 않으므로 다음과 같은 극한값을 사용
    -> limp0  plog2p=0\lim_{p\rightarrow 0} \; p\log_2{p} = 0

엔트로피의 성질

  • 확률변수가 결정론적이면, 이 때 엔트로피는 0

  • 엔트로피의 최대값은 이산 확률변수의 클래스의 갯수에 따라 달라진다. 만약 이산확률분포가 가질 수 있는 값이 2K2^K개면 엔트로피의 최대값은 KK

엔트로피의 추정

  • 데이터에서 확률질량함수를 추정한 후, 이를 기반으로 엔트로피를 계산
p = [0.5, 0.5]
sp.stats.entropy(p, base=2)

가변길이 인코딩

  • 엔트로피는 원래 통신 분야에서 데이터가 가지고 있는 정보량을 계산하기 위해 고안.

문서를 0과 1로 이루어진 이진수로 변환해야 하면 보통 다음처럼 인코딩한다. 200 글자로 이루어진 문서는 이진수 400개가 된다

A = "00"
B = "01"
C = "10"
D = "11"

더 글자수를 줄일 수 있는 방법이 있다. 우선 위 글자의 분포를 조사해보면, 특정 글자의 빈도수가 더 높다.

  • 지프의 법칙(Zipf's law)에 따르면 이러한 분포는 현실의 글자 빈도수에서도 흔히 나타난다.

글자마다 인코딩하는 이진수의 숫자가 다르기 때문에 가변길이 인코딩(variable length encoding)이라고 한다.

가변길이 인코딩을 적용하면, 알파벳 한 글자를 인코딩하는데 필요한 평균 비트(bit)수는 확률변수의 엔트로피 값과 같다.

지니불순도

엔트로피와 유사한 개념으로 지니불순도(Gini impurity)라는 것이 있다.

  • 로그를 사용하지 않으므로 계산량이 더 적어 엔트로피 대용으로 많이 사용된다.

G[Y]=k=1KP(yk)(1P(yk))\qquad \qquad \qquad G[Y] = \sum_{k=1}^K P(y_k) (1 - P(y_k))

엔트로피 최대화

기댓값 0, 분산 σ2\sigma^2이 주어졌을 때 엔트로피 H[p(x)]\text{H}[p(x)]를 가장 크게 만드는 확률밀도함수 p(x)p(x)정규분포이다.

Proof

제한조건(총면적 = 1, 기댓값 = 0, 분산 = σ2\sigma^2)과 최대화할 목적함수 : 엔트로피 이므로 라그랑주 승수법으로 제한조건을 추가해서 풀면 된다.

따라서 정규분포는 기댓값과 표준편차를 알고있는 확률분포 중에서 가장 엔트로피가 크고 따라서, 가장 정보가 적은 확률분포다. 정규분포는 베이즈 추정에서 있어서 사실상의 무정보 사전확률분포로 사용되는 경우가 많다.

자연의 데이터 중 정규분포가 많은 이유 2 :
자연계에서는 엔트로피가 증가하는 방향 \rightarrow 정규분포

profile
HYU DataScience, ML Engineer - 산업기능요원(4급)

0개의 댓글