기본 콘텐츠로 건너뛰기

믿음의 정도를 수로 나타내고 이에 대한 수정 과정을 수식으로 표현하기

인간은 살아가면서 수많은 결정을 내리고 그것이 기대한 결과로 이어지기를 바랍니다.
  • 부서 회식 장소 결정하기
  • 영어 학원 등록 여부 결정하기
  • 이사할 집 결정하기
  • 결혼할 배우자 결정하기
  • 입사할 회사 결정하기
결정에 따르는 결과를 완전히 운에 맡기는 것이 아니라면 결정을 내리기 전까지 거치는 과정을 아래와 같은 다이어그램으로 표현할 수 있습니다.
위에서 사실(fact), 확률(probability) 대신에 굳이 믿음(belief)이라는 용어를 사용한 이유는 충분한 증거가 없는 상태에서 무엇이 어떠하다라고 생각하는 것은 믿음에 가깝기 때문입니다. 한편으로는 믿음이라고 표현함으로써 얻게 되는 이득 중의 하나는 구체적인 적용을 시도할 때 엄밀함을 추구하지 않아도 된다는 것입니다.

우리는 일상 대화에서 믿음의 정도를 백분율로 표현하곤 합니다. 예를 들자면 아래와 같습니다.
  • 나는 이번 선거에서 홍길동 후보가 당선될 것이라고 100% 확신한다.
  • 나는 이 도자기가 고려시대에 만들어졌을 가능성은 고작 10% 정도라고 본다.
  • 나는 이 식물이 암 치료에 99% 효과가 있다고 믿는다.
그러다가 자신이 가지고 있는 믿음에 반하거나 부합하는 어떤 증거를 발견하게 되면 믿음의 정도를 낮추거나 높입니다.


예시-1. 지구는 편평하다는 믿음 수정 과정
  1. 지구는 평평하다. (기존의 믿음)
  2. 바다에서 해안으로 접근하는 배의 꼭대기부터 보인다. (새로운 증거)
  3. 새로운 증거로 인해 지구가 평평하다는 믿음이 약해진다. (수정된 믿음)
예시-2. 인류 출현 시기에 대한 지식 수정 과정
  1. 인류는 20만년 전에 출현했다. (기존의 지식)
  2. 독일과 모로코 공동연구팀은 7일(현지시각) 북서부 아프리카의 모로코 한 유적지에서 발굴한 호모 사피엔스의 두개골, 이빨, 아래턱뼈 등 화석들의 연대를 분석한 결과 30만년 전 것으로 확인됐다고 과학저널 <네이처> 8일치에 보고했다. (새로운 증거)
  3. 인류가 30만년 전 출현했다. (수정된 지식)
예시-3. 유방암에 걸렸을 확률 수정 과정
  1. 관심 대상군에 속하는 여성의 1%가 유방암에 걸린다고 알려져 있다. 유방암 검진센터의 의사는 이 통계 결과를 바탕으로 처음 내원하는 환자가 유방암에 걸렸을 확률을 1%라고 본다. (기존의 확률)
  2. 환자에 대해 맘모그램 검사를 하고 결과를 살펴 보았더니 유방암이 의심된다. (새로운 관찰)
  3. 유병율과 검사 결과를 토대로 내원 환자가 실제로 유방암에 걸렸을 확률을 계산했더니 5.7%가 나온다. (수정된 확률)
백분율로 표현한 믿음의 정도를 0 ~ 1 사이의 수로 표시하면 믿음의 분포를 확률 분포로 해석할 수 있게 됩니다. 그러면 위에서 예시로 제시한 세 가지 경우 모두 베이지안 추론 과정에 해당합니다. 베이지안 추론은 베이즈 정리를 사용합니다.
위의 예시-3. 유방암에 걸렸을 확률 수정 과정을 베이지안 추론에 대입하면 수식의 각 항목은 다음과 같습니다.
  • H: 내원한 환자가 유방암에 걸렸다는 가설
  • P(H): 조사 대상군에서 유방암 확진 환자의 비율 (통계 조사로 얻는 값)
    • 유병율이라고 하며 처음 내원한 환자이고 다른 정보가 없으므로 이 값을 내원한 환자가 유방암에 걸렸을 확률로 간주
  • E: 맘모그램 검사 결과 유방암 의심으로 나옴
  • P(E): 조사 대상군에서 맘모그램 검사 결과 유방암 의심으로 나온 환자의 비율 (통계 조사로 얻는 값)
  • P(E|H): 조사 대상군에서 유방암 확진 환자들 중에서 맘모그램 검사 결과 유방암 의심으로 나온 환자의 비율 (통계 조사로 얻는 값)
  • P(H|E): 맘모그램 검사 결과 유방암 의심되는 환자가 실제로 유방암에 걸렸을 확률
    • 양성예측도라고 하며 조직 검사를 통해 확진 판정을 내리기 전까지는 확률로 표현
이 글의 앞 부분에서 믿음이라는 용어를 쓰면 얻게 되는 이득을 언급하였습니다. 이제 믿음으로 표현할 수 있는 문제라면 어떠한 경우라도 베이지안 추론을 적용할 수 있음을 알게 되었습니다.

댓글

이 블로그의 인기 게시물

Intel MKL 예제를 Microsoft Visual C++로 빌드하기

Intel MKL 예제를 Microsoft Visual C++로 빌드하기 인텔 프로세서 시스템에서 아래의 영역에 해당하는 수학 계산을 빠르게 수행하고자 한다면 Intel MKL 라이브러리를 사용할 수 있습니다. Linear Algebra Fast Fourier Transforms (FFT) Vector Statistics & Data Fitting Vector Math & Miscellaneous Solvers 이 문서는 Intel MKL 이 제공하는 예제 파일을 Microsoft Visual C++ 로 컴파일하고 링크하여 실행 파일을 만드는 과정을 소개합니다. 빌드 환경 다음은 이 문서를 작성하는 과정에서 Intel MKL 예제를 빌드하기 위하여 사용한 환경입니다. 시스템 운영체제: Windows 10 (64비트) 프로세서: Intel Core i7 설치 제품 IDE: Microsoft Visual Studio Community 2019 (version 16) 라이브러리: Intel Math Kernel Library 2019 Update 5 환경 변수 명령 프롬프트 창을 엽니다. 아래 스크립트를 실행하여 환경 변수 INCLUDE , LIB , 그리고 PATH 를 설정합니다. @echo off set CPRO_PATH=C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows set MKLROOT=%CPRO_PATH%\mkl set REDIST=%CPRO_PATH%\redist set INCLUDE=%MKLROOT%\include;%INCLUDE% set LIB=%MKLROOT%\lib\intel64;%LIB% set PATH=%REDIST%\intel64\mkl;%PATH% REM for OpenMP intel thread set LIB=%CPRO_PATH%\compiler\lib...

Llama 3.2로 문장 생성 및 챗팅 완성 실습

Llama 3.2로 문장 생성 및 챗팅 완성 실습 Running Meta Llama on Linux 문서의 내용을 참고하여 Llama 3.2 1B 모델로 다음 두 가지 기능을 실습합니다. 문장 완성 챗팅 완성 실습 환경 Ubuntu 20.04.6 LTS Python 3.12.7 Llama3.2-1B, Llama3.2-1B-Instruct rustc 1.83.0 NVIDIA RTX 4090 24GB 프로그램 준비 실습에서 사용할 wget , md5sum 설치 sudo apt-get install wget sudo apt-get install md5sum NVIDIA GPU 설치 여부 확인 nvidia-smi 실습 디렉토리 만들기 mkdir llama3-demo cd llama3-demo git clone https://github.com/meta-llama/llama3.git Python 3.10 이상의 버전으로 가상환경 만들고 활성화 python -m venv llama-venv . llama-venv/bin/activate Rust 컴파일러 설치 How To Install Rust on Ubuntu 20.04 문서를 참고하여 Rust 컴파일러를 설치합니다. curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh 위 명령을 실행하면 아래와 같이 세 가지 선택 옵션이 나타나는데 그냥 엔터를 쳐서 1번 옵션으로 진행합니다. ... 1) Proceed with installation (default) 2) Customize installation 3) Cancel installation 아래 명령을 실행하여 현재 쉘에 반영하고 설치된 컴파일러 버전을 확인합니다. source $HOME/.cargo/env rustc --version 의존 라이브러리 설치 pip install ...