기본 콘텐츠로 건너뛰기

찌그러진 동전 던지기로 정보량, 기댓값, 엔트로피 쉽게 설명

찌그러진 동전 던지기로 정보량, 기댓값, 엔트로피 쉽게 설명

1. 찌그러진 동전 던지기

던지면 백 번 중 한 번의 확률로 뒷면이 나오는 찌그러진 동전이 있습니다.

ph=99100pt=1100 \begin{align} & p_{h} = \frac {99}{100} \\ & p_{t} = \frac {1}{100} \end{align}

여기서,

  • php_h: 앞면(head)이 나올 확률
  • ptp_t: 뒷면(tail)이 나올 확률

이 글 전체에서 위의 동전을 예로 사용하였습니다.

2. 특정 사건의 정보량(Information Content)

정보량의 정의는 다음과 같습니다.

Ix=log2px \begin{align} I_x = -log_2{p_x} \end{align}

여기서,

  • xx: 개별 사건(동전 앞면, 뒷면)
  • pxp_x: 특정 사건 xx가 발생할 확률
  • IxI_x: 특정 사건 xx가 발생함을 알았을 때 얻게 되는 정보량

동전 던지기 결과를 알았을 때 그 정보의 가치에 대하여 다음과 같은 평가가 가능합니다.

  • 결과가 앞면임을 알았을 때:
    • 뒷면보다는 자주 발생하는 사건이라서 정보의 가치는 뒷면이 나왔을 때보다 작다.
  • 결과가 뒷면임을 알았을 때:
    • 앞면보다는 드물게 발생하는 사건이라서 정보의 가치는 앞면이 나왔을 때보다 크다.

정보량을 정보의 가치라고 해석할 수 있으며 다음과 같은 관계가 성립합니다.

Ih<It \begin{align} I_{h} < I_{t} \end{align}

여기서,

  • IhI_h: 앞면이 나온 것을 알았을 때의 정보량
  • ItI_t: 뒷면이 나온 것을 알았을 때의 정보량

3. 정보량에 대한 기댓값

동전 던지기 결과를 알게 된다면 얻게 될 정보량에 대한 기댓값은 개별 사건으로부터 얻게 될 정보량에 그 사건이 일어날 확률을 곱한 값을 모두 더하여 계산합니다.

E[I]=phIh+ptIt \begin{align} E[I] &= p_h I_h + p_t I_t \end{align}

여기서,

  • E[I]E[I]: 정보량에 대한 기댓값

동전 던지기 결과로부터 얻을 정보량에 대한 기댓값을 계산할 때 지배적인 영향을 미치는 것은 뒷면일 수도 있고 앞면일 수도 있습니다.

  • 앞면의 경우 정보량은 작겠지만 사건 발생 확률이 크다.
  • 뒷면의 경우 정보량은 크겠지만 사건 발생 확률이 작다.

각 사건이 정보량에 대한 기댓값에 미치는 영향이 어느 정도인지는 아래 두 값을 계산하면 알 수 있습니다.

  • phIhp_h I_h: 앞면의 경우
  • ptItp_t I_t: 뒷면의 경우

4. 정보원(Information Source)의 엔트로피(Entropy)

엔트로피에 대한 정의는 정보량에 대한 기댓값과 같습니다.

H=E[I] \begin{align} H = E[I] \end{align}

이 글에서 예로 든 동전을 던져서 나오는 결과 맞추기 게임을 한다면 다음과 같이 말할 수 있습니다.

  • 동전 던지기 결과를 앞면이라고 예측하면 맞을 가능성이 높다.
    • 예측 불확실성이 작다.
    • 정보 부재에 대한 아쉬움이 작다.
    • 정보의 가치에 대한 기대가 작다.
    • 엔트로피가 작다.

5. 정보량, 기댓값, 엔트로피 계산 결과

ph=99100p_h = \frac{99}{100}인 동전에 대하여 정보량, 기댓값, 엔트로피를 계산하면 아래와 같습니다.

  • 특정 사건의 정보량:

Ih=log2ph=log299100=0.0145It=log2pt=log21100=6.6439 \begin{align} I_h = -log_2{p_h} = -log_2{\frac{99}{100}} = 0.0145 \\ I_t = -log_2{p_t} = -log_2{\frac{1}{100}} = 6.6439 \end{align}

  • 정보량에 대한 기댓값(엔트로피):

H=E[I]=phIh+ptIt=99100×0.0145+1100×6.6439=0.0144+0.0664=0.0808 \begin{align} H &= E[I] \\ &= p_h I_h + p_t I_t \\ &= \frac{99}{100} \times 0.0145 + \frac{1}{100} \times 6.6439 \\ &= 0.0144 + 0.0664 \\ &= 0.0808 \end{align}

위 계산 결과와 비교할 수 있도록 ph=12p_h = \frac{1}{2}인 동전에 대하여 정보량, 기댓값, 엔트로피를 계산해 보았습니다.

  • 특정 사건의 정보량:

Ih=log2ph=log212=1.0It=log2pt=log212=1.0 \begin{align} I_h = -log_2{p_h} = -log_2{\frac{1}{2}} = 1.0 \\ I_t = -log_2{p_t} = -log_2{\frac{1}{2}} = 1.0 \end{align}

  • 정보량에 대한 기댓값(엔트로피):

H=E[I]=phIh+ptIt=12×1.0+12×1.0=0.5+0.5=1.0 \begin{align} H &= E[I] \\ &= p_h I_h + p_t I_t \\ &= \frac{1}{2} \times 1.0 + \frac{1}{2} \times 1.0 \\ &=0.5 + 0.5 \\ &= 1.0 \end{align}

Written with StackEdit.

댓글

이 블로그의 인기 게시물

Windows에 AMP와 MediaWiki 설치하기

1. 들어가기     AMP는 Apache + MySQL +  Perl/PHP/Python에 대한 줄임말이다. LAMP (Linux + AMP)라고 하여 Linux에 설치하는 것으로 많이 소개하고 있지만 Windows에서도 간편하게 설치하여 사용할 수 있다.       이 글은 Windows 7에 Apache + MySQL + PHP를 설치하고 그 기반에서 MediaWiki를 설치하여 실행하는 과정을 간략히 정리한 것이다. 2. MySQL     * 버전 5.6.12     1) 다운로드         http://dev.mysql.com/downloads/installer/         MySQL Installer 5.6.12         Windows (x86, 32-bit), MSI Installer         (mysql-installer-web-community-5.6.12.0.msi)     2) 다운로드한 MSI 파일을 더블클릭하여 설치를 진행한다.           설치 위치:                   C:\Program Files\MySQL               선택 사항:                       Install MySQL Products             Choosing a Se...

MATLAB Rutime 설치하기

MATLAB Rutime 설치하기 미설치시 에러 MATLAB Runtime 을 설치하지 않은 환경에서 MATLAB 응용프로그램이나 공유 라이브러리를 사용하려고 하면 아래와 같은 에러 메시지가 표시될 것입니다. 처리되지 않은 예외: System.TypeInitializationException: 'MathWorks.MATLAB.NET.Utility.MWMCR'의 형식 이니셜라이저에서 예 외를 Throw했습니다. ---> System.TypeInitializationException: 'MathWorks.MATLAB.NET.Arrays.MWArray'의 형식 이니셜라이저에서 예외를 Throw했습니다. ---> System.DllNotFoundException: DLL 'mclmcrrt9_3.dll'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E) 위치: MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) 위치: MathWorks.MATLAB.NET.Arrays.MWArray..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR.processExiting(Exception exception) 해결 방법 이 문제를 해결하기 위해서는 MATLAB Runtime 을 설치해야 합니다. 여러 가지 방법으로 MATLAB Runtime 을 설치할 수 있습니다. MATLAB 이 설치되어 있는 경우에는 MATLAB 설치 폴더 아래에 있는 MATLAB Runtime 설치 프로그램을 실행하여 설치합니다. ...

Wi-Fi 카드 2.4GHz로만 동작시키기

Wi-Fi 카드 2.4GHz로만 동작시키기 별도의 Wi-Fi AP 장치를 두지 않고 아래와 같은 기기들로만 Wi-Fi 네트워크를 구성하고자 할 때 주변 기기들이 2.4GHz만 지원하기 때문에 PC에서 실행하는 AP가 항상 2.4GHz를 사용하도록 Wi-Fi 카드를 설정해 주어야 합니다. 기기 Wi-Fi 카드 주파수 대역 Wi-Fi Direct 지원 PC (Windows 10) 2.4GHz, 5GHz O 주변 기기들 2.4GHz X Wi-Fi 카드별 주파수 대역 선택 방법 Windows 시작 메뉴에서 설정 을 클릭합니다. Windows 설정 화면에서 네트워크 및 인터넷 을 클릭합니다. 설정 화면의 왼쪽 메뉴바에서 Wi-Fi 를 클릭합니다. 화면 오른쪽 관련 설정 구역에 있는 어댑터 옵션 변경 을 클릭합니다. 설정을 바꾸고자 하는 Wi-Fi 카드 항목을 선택하고 마우스 오른쪽을 누른 다음 속성 메뉴를 클릭합니다. 대화상자의 네트워킹 탭 화면에 있는 구성 버튼을 클릭합니다. 장치 속성 대화상자의 고급 탭 화면으로 이동합니다. 제시되는 속성 항목들은 제품별로 다르며 자세한 사항은 아래의 제품별 설명을 참고하여 값을 설정하시기 바랍니다. Intel Dual Band Wireless-AC 7265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 선택합니다. Wireless Mode 1. 802.11a => 5GHz 4. 802.11b/g => 2.4GHz (이 항목 선택) 6. 802.11a/b/g => 2.4GHz, 5GHz Intel Dual Band Wireless-AC 8265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 ...