확률론의 공리적 기초 (Axiomatic Foundations of Probability)

콜모고로프 공리, 확률의 해석, 공리로부터 유도되는 성질

확률을 엄밀하게 정의하는 방법은 무엇인가. 콜모고로프의 세 공리를 출발점으로, 고전적·빈도주의·주관적 확률 해석의 차이를 비교하고, 공리만으로 유도되는 확률의 주요 성질과 포함-배제 원리를 증명한다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 27일

1 왜 공리가 필요한가

“동전을 던지면 앞면이 나올 확률은 1/2이다”라는 문장은 직관적으로 명확하다. 하지만 다음 질문들은 어떻게 답할 것인가?

  • 확률 1/2는 어디서 나오는가? 대칭성? 오랜 반복 실험?
  • “내일 비가 올 확률 70%”는 반복 실험으로 정의할 수 있는가?
  • 두 사건의 확률을 더하거나 곱하는 것은 항상 유효한가?

이 물음들에 일관된 답을 주려면 확률을 공리(axiom) 위에 세워야 한다. 공리적 접근은 “확률이 무엇인가”를 정의하는 대신, 확률이 만족해야 할 규칙을 명시하고 그 위에서 모든 성질을 유도한다.

핵심 아이디어

공리적 확률론의 목표: \[ \text{3개의 공리} \xrightarrow{\text{논리적 유도}} \text{확률의 모든 성질} \]

공리가 옳다고 가정하면, 나머지는 증명의 문제다.


2 확률의 세 가지 해석

공리를 소개하기 전에, 역사적으로 확률을 어떻게 해석했는지 살펴본다. 이 해석들이 공리적 체계를 필요로 한 동기이기도 하다.

해석 정의 강점 한계
고전적(Classical) 동등 가능한 결과 중 유리한 결과의 비율: \(P(A) = |A| / |\Omega|\) 직관적, 계산 간단 동등 가능성 가정이 필요, 무한 표본공간 불가
빈도주의(Frequentist) 실험을 무한히 반복할 때 상대빈도의 극한: \(P(A) = \lim_{n\to\infty} n_A / n\) 객관적, 반복 가능한 실험에 자연스러움 일회성 사건(내일 날씨)에 적용 불가, 극한의 존재 가정
주관적(Subjective/Bayesian) 개인의 믿음의 정도(degree of belief), 코히런시(coherency) 조건 모든 상황에 적용 가능 주관성, 사람마다 다를 수 있음
공리적(Axiomatic) 세 공리를 만족하는 함수 세 해석을 모두 포괄, 수학적 엄밀성 해석 자체는 제공하지 않음
직관

공리적 접근은 “확률이 무엇인지”를 논쟁하는 대신, 어떤 규칙을 만족하면 확률이라 부를 수 있는지를 정한다. 고전·빈도·주관적 확률은 모두 이 규칙을 만족하므로, 공리적 체계 안에 포함된다.


3 콜모고로프 공리 (Kolmogorov’s Axioms, 1933)

정의: 확률 측도 (Probability Measure)

확률 공간 \((\Omega, \mathcal{F})\) 위의 함수 \(P: \mathcal{F} \to \mathbb{R}\) 이 다음 세 공리를 만족하면 확률 측도(probability measure) 라 하고, \((\Omega, \mathcal{F}, P)\)확률 공간(probability space) 이라 한다.

공리 1 (비음성, Non-negativity) \[ P(A) \geq 0 \quad \text{for all } A \in \mathcal{F} \]

공리 2 (정규화, Normalization) \[ P(\Omega) = 1 \]

공리 3 (가산 가법성, Countable Additivity / σ-Additivity)

\(A_1, A_2, \ldots \in \mathcal{F}\) 가 쌍마다 서로소(pairwise disjoint), 즉 \(i \neq j \Rightarrow A_i \cap A_j = \emptyset\) 이면: \[ P\!\left(\bigcup_{i=1}^{\infty} A_i\right) = \sum_{i=1}^{\infty} P(A_i) \]

3.1 각 공리의 의미

공리 1 — 비음성: 확률은 음수일 수 없다. “불가능한 것보다 더 불가능한 것”은 없다.

공리 2 — 정규화: 표본공간 전체에서 무언가가 반드시 일어난다. 확률의 총합은 1.

공리 3 — 가산 가법성: 서로 겹치지 않는 사건들의 확률은 더할 수 있다. 단, 유한 가법성이 아닌 가산(countably infinite) 가법성이다. 이 조건이 극한·연속성 정리들을 가능하게 한다.

왜 가산 가법성인가? (유한 가법성으로는 부족한 이유)

유한 가법성만으로는 다음이 성립하지 않을 수 있다:

\[ \lim_{n \to \infty} P(A_n) = P\!\left(\lim_{n \to \infty} A_n\right) \]

연속성 정리(Continuity of Probability), 대수의 법칙, CLT 모두 가산 가법성에 의존한다. 유한 가법성은 너무 약하다.


4 공리로부터 유도되는 성질

공리 3개만으로 확률의 모든 성질이 논리적으로 따라온다.

4.1 기본 성질 목록

정리: 확률의 기본 성질

\((\Omega, \mathcal{F}, P)\) 를 확률 공간이라 하면 다음이 성립한다:

  1. \(P(\emptyset) = 0\)
  2. 유한 가법성: \(A_1, \ldots, A_n\) 이 쌍마다 서로소 \(\Rightarrow P\!\left(\bigcup_{i=1}^n A_i\right) = \sum_{i=1}^n P(A_i)\)
  3. 여사건: \(P(A^c) = 1 - P(A)\)
  4. 단조성: \(A \subseteq B \Rightarrow P(A) \leq P(B)\)
  5. 유계성: \(0 \leq P(A) \leq 1\)
  6. 포함-배제 원리: \(P(A \cup B) = P(A) + P(B) - P(A \cap B)\)

4.2 증명

성질 1: \(P(\emptyset) = 0\)

\(A_1 = \emptyset, A_2 = \emptyset, \ldots\) 로 설정하면 쌍마다 서로소이고 \(\bigcup_{i=1}^\infty A_i = \emptyset\). 공리 3에 의해: \[ P(\emptyset) = \sum_{i=1}^\infty P(\emptyset) \] 이것이 유한 값이 되려면 \(P(\emptyset) = 0\) 이어야 한다. \(\quad\blacksquare\)


성질 2: 유한 가법성

\(A_1, \ldots, A_n\) 이 쌍마다 서로소일 때, \(A_{n+1} = A_{n+2} = \cdots = \emptyset\) 으로 확장하면 공리 3을 적용할 수 있다: \[ P\!\left(\bigcup_{i=1}^n A_i\right) = P\!\left(\bigcup_{i=1}^\infty A_i\right) = \sum_{i=1}^\infty P(A_i) = \sum_{i=1}^n P(A_i) + \sum_{i=n+1}^\infty P(\emptyset) = \sum_{i=1}^n P(A_i) \quad\blacksquare \]


성질 3: \(P(A^c) = 1 - P(A)\)

\(A\)\(A^c\) 는 서로소이고 \(A \cup A^c = \Omega\) 이므로 성질 2에 의해: \[ P(A) + P(A^c) = P(A \cup A^c) = P(\Omega) = 1 \quad\Rightarrow\quad P(A^c) = 1 - P(A) \quad\blacksquare \]


성질 4: \(A \subseteq B \Rightarrow P(A) \leq P(B)\)

\(B = A \cup (B \setminus A)\) 이고 \(A\)\(B \setminus A\) 는 서로소이므로: \[ P(B) = P(A) + P(B \setminus A) \geq P(A) \] 마지막 부등호는 공리 1(\(P(B \setminus A) \geq 0\))에 의한다. \(\quad\blacksquare\)


성질 6: 포함-배제 원리

\(A \cup B = A \cup (B \setminus A)\) 이고 두 집합은 서로소: \[ P(A \cup B) = P(A) + P(B \setminus A) \] 그런데 \(B = (A \cap B) \cup (B \setminus A)\) 이고 두 집합은 서로소이므로: \[ P(B) = P(A \cap B) + P(B \setminus A) \quad\Rightarrow\quad P(B \setminus A) = P(B) - P(A \cap B) \] 대입하면: \[ P(A \cup B) = P(A) + P(B) - P(A \cap B) \quad\blacksquare \]


5 포함-배제 원리의 일반화

두 사건의 경우를 \(n\) 개 사건으로 확장한다.

정리: 일반화된 포함-배제 원리 (Inclusion-Exclusion Principle)

\[ P\!\left(\bigcup_{i=1}^n A_i\right) = \sum_i P(A_i) - \sum_{i<j} P(A_i \cap A_j) + \sum_{i<j<k} P(A_i \cap A_j \cap A_k) - \cdots + (-1)^{n+1} P\!\left(\bigcap_{i=1}^n A_i\right) \]

\(n=3\) 예시: \[ P(A \cup B \cup C) = P(A)+P(B)+P(C) - P(A\cap B) - P(A\cap C) - P(B\cap C) + P(A\cap B\cap C) \]

직관: 과잉 계산의 보정

\(P(A) + P(B)\) 를 계산하면 \(A \cap B\) 부분을 두 번 센다. → \(P(A \cap B)\) 한 번 빼야 한다. 셋 이상이면 빼고 더하는 과정이 반복된다.


6 확률의 연속성 (Continuity of Probability)

가산 가법성의 강력함은 극한에서 드러난다.

정리: 확률의 연속성

(단조 증가) \(A_1 \subseteq A_2 \subseteq \cdots\) (increasing sequence)이면: \[ P\!\left(\bigcup_{n=1}^\infty A_n\right) = \lim_{n \to \infty} P(A_n) \]

(단조 감소) \(A_1 \supseteq A_2 \supseteq \cdots\) (decreasing sequence)이면: \[ P\!\left(\bigcap_{n=1}^\infty A_n\right) = \lim_{n \to \infty} P(A_n) \]

실무 직관: 왜 연속성이 중요한가

A/B 테스트에서 표본 크기를 \(n=100, 200, 500, \ldots\) 으로 점점 키운다고 하자. \(A_n\) = “표본 크기 \(n\) 에서 효과를 탐지”라 하면 \(A_1 \subseteq A_2 \subseteq \cdots\) (검정력 단조 증가).

연속성 정리가 보장하는 것: \[ \lim_{n \to \infty} P(A_n) = P\!\left(\bigcup_n A_n\right) \]

즉, 표본을 무한히 키우면 검정력이 극한값에 수렴한다. 이 교환이 안 되면 “큰 표본이 항상 낫다”는 직관조차 수학적으로 정당화할 수 없다.

증명 (단조 증가 경우)

\(B_1 = A_1\), \(B_n = A_n \setminus A_{n-1}\) (\(n \geq 2\))로 정의하면 \(B_n\) 들은 쌍마다 서로소이고 \(\bigcup_{k=1}^n B_k = A_n\) 이므로:

\[ P\!\left(\bigcup_{n=1}^\infty A_n\right) = P\!\left(\bigcup_{n=1}^\infty B_n\right) = \sum_{n=1}^\infty P(B_n) = \lim_{n\to\infty} \sum_{k=1}^n P(B_k) = \lim_{n\to\infty} P(A_n) \quad\blacksquare \]

의미

이 정리는 “\(n \to \infty\) 로 커지는 사건의 확률”을 계산할 때 극한과 확률 기호를 교환할 수 있음을 보장한다. 대수의 법칙 증명에서 이 교환이 핵심 역할을 한다.


7 부울 부등식 (Boole’s Inequality / Union Bound)

정리: 부울 부등식 (Union Bound)

\[ P\!\left(\bigcup_{i=1}^n A_i\right) \leq \sum_{i=1}^n P(A_i) \]

가산 무한의 경우: \[ P\!\left(\bigcup_{i=1}^\infty A_i\right) \leq \sum_{i=1}^\infty P(A_i) \]

증명

포함-배제 원리에서 빼는 항들(\(P(A_i \cap A_j)\) 등)이 모두 \(\geq 0\) 이므로: \[ P\!\left(\bigcup_{i=1}^n A_i\right) = \sum_i P(A_i) - \underbrace{\sum_{i<j} P(A_i \cap A_j)}_{\geq\, 0} + \cdots \leq \sum_i P(A_i) \quad\blacksquare \]

직관: Union Bound는 “최악의 상한”이다

\(n\) 개의 나쁜 일이 일어날 수 있을 때, 적어도 하나가 일어날 확률은 각각의 확률을 그냥 더한 것보다 크지 않다. 사건들이 겹칠수록 실제 확률은 이 상한보다 훨씬 작아진다.

이 단순한 부등식이 놀랍도록 유용한 이유: 겹침 정보 없이도 쓸 수 있기 때문이다. 정확한 포함-배제 계산이 어려울 때(사건이 수백~수천 개일 때) Union Bound가 유일한 실용적 도구가 된다.

활용: 다중 검정(Multiple Testing)에서 오류 관리

\(n\) 개의 가설을 각각 유의수준 \(\alpha\) 로 검정할 때, 적어도 하나의 1종 오류가 발생할 확률: \[ P(\text{적어도 하나 오류}) = P\!\left(\bigcup_{i=1}^n E_i\right) \leq \sum_{i=1}^n P(E_i) = n\alpha \] 본페로니 보정(Bonferroni correction)은 이 Union Bound를 직접 활용한다: \(\alpha^* = \alpha / n\).


8 응용 분야

분야 공리의 역할 구체적 예시
통계적 추론 검정, 신뢰구간의 수학적 토대 1종/2종 오류 확률의 합산 규칙
기계학습 확률 모델의 일관성 보장 Naive Bayes 분류: 사건 독립성 가정
다중 검정 Union Bound로 오류율 관리 Bonferroni, Holm, BH 보정
베이지안 추론 사전·사후 분포의 정규화 조건 \(\int p(\theta) d\theta = 1\) (공리 2)
정보이론 엔트로피 정의의 기반 \(H(X) = -\sum P(A_i)\log P(A_i) \geq 0\) (공리 1)

9 예시: 공리 검증

9.1 고전적 확률이 공리를 만족함을 확인

\(\Omega = \{1,2,3,4,5,6\}\), \(P(A) = |A|/|\Omega|\) 에 대해:

  • 공리 1: \(|A| \geq 0\) 이므로 \(P(A) \geq 0\)
  • 공리 2: \(P(\Omega) = 6/6 = 1\)
  • 공리 3: \(A \cap B = \emptyset\) 이면 \(|A \cup B| = |A| + |B|\) 이므로 \(P(A \cup B) = (|A| + |B|)/6 = P(A) + P(B)\)

9.2 부정적 예시: 공리를 위반하는 “확률”

다음 함수는 공리를 만족하지 않으므로 확률 측도가 아니다.

함수 위반하는 공리
\(Q(A) = -0.1\) for some \(A\) 공리 1 (음수)
\(Q(\Omega) = 0.8\) 공리 2 (정규화 실패)
\(Q(A \cup B) = 0.7\) 이지만 \(Q(A)=0.5, Q(B)=0.4\) (서로소) 공리 3 (\(0.7 \neq 0.9\))

10 코드 예시

10.1 Step 1: 순수 Python — 공리 검증기

from itertools import combinations

def check_probability_axioms(Omega, prob_dict, tol=1e-9):
    """
    Omega: 표본공간 (list 또는 set)
    prob_dict: 각 원소의 확률 {omega: p}
    고전적 균등 확률을 가정 — 공리 1, 2, 3 검증
    """
    Omega = list(Omega)
    n = len(Omega)

    # 공리 1: 비음성
    for omega, p in prob_dict.items():
        if p < -tol:
            print(f"공리 1 위반: P({{{omega}}}) = {p} < 0")
            return False

    # 공리 2: 정규화
    total = sum(prob_dict.values())
    if abs(total - 1.0) > tol:
        print(f"공리 2 위반: P(Ω) = {total:.6f} ≠ 1")
        return False

    # 공리 3: 유한 가법성 검증 (모든 서로소 쌍에 대해)
    # 단순화: 원소별 확률이 정의된 경우
    print("공리 1, 2, 3 모두 만족 — 유효한 확률 측도")
    return True

# 주사위: 균등 분포
Omega = {1, 2, 3, 4, 5, 6}
prob = {i: 1/6 for i in Omega}
check_probability_axioms(Omega, prob)
# → 공리 1, 2, 3 모두 만족

# Union Bound 검증
A = {2, 4, 6}  # 짝수
B = {1, 2, 3}  # 3 이하
P = lambda E: len(E) / len(Omega)

print(f"P(A ∪ B) = {P(A | B):.4f}")         # 5/6 ≈ 0.8333
print(f"P(A) + P(B) = {P(A) + P(B):.4f}")   # 1.0 (Union Bound 상한)
print(f"Union Bound 성립: {P(A | B) <= P(A) + P(B)}")  # True

# 포함-배제 검증
inclusion_exclusion = P(A) + P(B) - P(A & B)
print(f"포함-배제: {inclusion_exclusion:.4f} == P(A∪B): {P(A|B):.4f}")  # True

10.2 Step 2: 연속성 정리 시뮬레이션

import numpy as np

# 단조 증가 사건의 극한: A_n = [0, 1 - 1/n) ⊂ [0,1)
# P(A_n) = 1 - 1/n → 1 as n → ∞
# P(∪ A_n) = P([0,1)) = 1

n_values = [1, 2, 5, 10, 50, 100, 1000]
print("n\t\tP(A_n) = 1 - 1/n")
print("-" * 35)
for n in n_values:
    p_an = 1 - 1/n
    print(f"{n:5d}\t\t{p_an:.6f}")

# 출력:
#     1         0.000000
#     2         0.500000
#     5         0.800000
#    10         0.900000
#    50         0.980000
#   100         0.990000
#  1000         0.999000
# 극한 = 1 = P([0,1)) ← 연속성 정리 확인

# 다중 검정에서 Bonferroni 보정
alpha = 0.05
n_tests = [1, 5, 10, 20, 50, 100]
print(f"\n다중 검정: 목표 FWER = {alpha}")
print(f"{'n_tests':>10} {'Union Bound':>15} {'Bonferroni α*':>15}")
print("-" * 42)
for n in n_tests:
    union_bound = min(n * alpha, 1.0)   # n * α (상한)
    bonferroni  = alpha / n             # 보정 후 개별 α
    print(f"{n:10d} {union_bound:15.4f} {bonferroni:15.6f}")

11 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

Enjoy this blog? Get notified of new posts by email: