확률론의 언어: 집합론 (Set Theory)

표본공간, 사건, 집합 연산, 시그마 대수 — 확률의 수학적 기초

확률론은 집합론 위에 세워진다. 표본공간, 사건, 합집합/교집합/여집합 연산, 드모르간 법칙, 시그마 대수(σ-algebra)까지 — 확률을 엄밀하게 정의하기 위한 최소한의 수학적 언어를 다룬다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 27일

1 왜 집합론인가

확률을 “가능성의 크기”라고 직관적으로 이해할 수 있지만, 엄밀한 수학적 정의를 내리려면 어떤 대상에 확률을 부여할 것인가를 먼저 정해야 한다.

그 대상이 바로 사건(event) 이고, 사건은 집합(set) 이다. 집합론은 사건을 정의하고, 사건들을 조합하고, 확률 함수가 작동할 공간을 구성하는 언어다.

핵심 연결

\[ \text{확률론} = \underbrace{\text{집합론}}_{\text{언어}} + \underbrace{\text{측도론}}_{\text{크기}} + \underbrace{\text{공리}}_{\text{규칙}} \]

집합론 없이는 “사건”을 정의할 수 없고, 사건을 정의할 수 없으면 확률을 수학적으로 다룰 수 없다.


2 기본 개념 정의

2.1 실험, 표본공간, 사건

정의: 실험과 표본공간 (Experiment & Sample Space)
  • 실험(experiment): 결과가 불확실한 과정. 동전 던지기, 주사위 굴리기, 혈압 측정 등.
  • 표본공간(sample space) \(\Omega\): 실험에서 가능한 모든 결과의 집합.
  • 근원사건(elementary event / outcome) \(\omega\): 표본공간의 원소. \(\omega \in \Omega\).
  • 사건(event) \(A\): 표본공간의 부분집합. \(A \subseteq \Omega\).

예시

실험 표본공간 \(\Omega\) 사건 예시
동전 한 번 던지기 \(\{H, T\}\) \(A = \{H\}\) (앞면)
주사위 한 번 굴리기 \(\{1,2,3,4,5,6\}\) \(B = \{2,4,6\}\) (짝수)
전구 수명 측정 \([0, \infty)\) \(C = [1000, 2000]\) (1000~2000시간)
두 번 동전 던지기 \(\{HH, HT, TH, TT\}\) \(D = \{HH, TT\}\) (둘 다 같음)
직관: 사건은 “조건”이다

\(B = \{2,4,6\}\) 은 “주사위가 짝수로 나왔다”는 조건이다. 확률 \(P(B)\) 는 이 조건이 충족될 가능성의 크기다.


2.2 집합 표기법

표기 의미
\(\omega \in A\) \(\omega\) 는 집합 \(A\) 의 원소
\(\omega \notin A\) \(\omega\) 는 집합 \(A\) 의 원소가 아님
\(B \subseteq A\) \(B\)\(A\) 의 부분집합: \(\omega \in B \Rightarrow \omega \in A\)
\(A = B\) \(A \subseteq B\) 이고 \(B \subseteq A\)
\(\emptyset\) 공집합 (원소 없음)
\(|\Omega|\) 또는 \(\#\Omega\) 표본공간의 원소 수 (유한일 때)

3 집합 연산 (Set Operations)

사건들을 조합해 새로운 사건을 만드는 연산들이다.

정의: 집합 연산

표본공간 \(\Omega\) 의 두 사건 \(A, B \subseteq \Omega\) 에 대해:

\[ \begin{aligned} \text{합집합(union):}& \quad A \cup B = \{\omega \in \Omega : \omega \in A \text{ 또는 } \omega \in B\} \\ \text{교집합(intersection):}& \quad A \cap B = \{\omega \in \Omega : \omega \in A \text{ 이고 } \omega \in B\} \\ \text{여집합(complement):}& \quad A^c = \{\omega \in \Omega : \omega \notin A\} \\ \text{차집합(difference):}& \quad A \setminus B = A \cap B^c = \{\omega \in \Omega : \omega \in A \text{ 이고 } \omega \notin B\} \\ \end{aligned} \]

\(A \cap B = \emptyset\) 이면 \(A\)\(B\)서로소(disjoint) 또는 상호 배반(mutually exclusive) 이다.

주사위 예시 (\(\Omega = \{1,2,3,4,5,6\}\), \(A = \{1,2,3\}\), \(B = \{2,4,6\}\))

연산 결과 의미
\(A \cup B\) \(\{1,2,3,4,6\}\) 3 이하이거나 짝수
\(A \cap B\) \(\{2\}\) 3 이하이고 짝수
\(A^c\) \(\{4,5,6\}\) 3 초과
\(A \setminus B\) \(\{1,3\}\) 3 이하이지만 홀수

4 집합 대수 (Laws of Set Algebra)

이 법칙들은 확률 계산의 기초 도구가 된다.

4.1 교환법칙, 결합법칙, 분배법칙

\[ \begin{aligned} \text{교환(Commutative):}& \quad A \cup B = B \cup A, \quad A \cap B = B \cap A \\ \text{결합(Associative):}& \quad (A \cup B) \cup C = A \cup (B \cup C) \\ \text{분배(Distributive):}& \quad A \cap (B \cup C) = (A \cap B) \cup (A \cap C) \end{aligned} \]

4.2 드모르간 법칙 (De Morgan’s Laws)

정리: 드모르간 법칙

\[ (A \cup B)^c = A^c \cap B^c \]

\[ (A \cap B)^c = A^c \cup B^c \]

무한 개로 확장하면: \[ \left(\bigcup_{i=1}^\infty A_i\right)^c = \bigcap_{i=1}^\infty A_i^c, \qquad \left(\bigcap_{i=1}^\infty A_i\right)^c = \bigcup_{i=1}^\infty A_i^c \]

증명 (첫 번째 법칙)

\(\omega \in (A \cup B)^c\) \(\Leftrightarrow \omega \notin A \cup B\) \(\Leftrightarrow \omega \notin A\) 이고 \(\omega \notin B\) \(\Leftrightarrow \omega \in A^c\) 이고 \(\omega \in B^c\) \(\Leftrightarrow \omega \in A^c \cap B^c\) \(\quad\blacksquare\)

직관: 드모르간 법칙의 언어적 이해

“A도 B도 아니다” $= $ “A가 아니고, B도 아니다”

\((A \cup B)^c\): “비가 오거나 눈이 온다”의 여사건 = “비도 안 오고 눈도 안 온다”


5 무한 집합 연산

5.1 가산 합집합과 교집합

확률론에서는 무한히 많은 사건의 합집합/교집합이 자주 등장한다.

\[ \bigcup_{i=1}^\infty A_i = \{\omega : \omega \in A_i \text{ for some } i\} \]

\[ \bigcap_{i=1}^\infty A_i = \{\omega : \omega \in A_i \text{ for all } i\} \]

5.2 극한: limsup과 liminf

사건의 극한은 확률론의 수렴 개념(대수의 법칙, CLT)으로 이어진다.

정의: 사건의 극한

\[ \limsup_{n \to \infty} A_n = \bigcap_{n=1}^\infty \bigcup_{k=n}^\infty A_k \]

\[ \liminf_{n \to \infty} A_n = \bigcup_{n=1}^\infty \bigcap_{k=n}^\infty A_k \]

  • \(\limsup A_n\): “\(A_n\) 이 무한히 자주 발생하는” 사건 (“infinitely often”, i.o.)
  • \(\liminf A_n\): “\(A_n\) 이 결국 항상 발생하는” 사건 (“eventually”)
직관

\(\omega \in \limsup A_n\): 어떤 \(n\) 을 잡더라도, 그 이후 어딘가에서 \(\omega \in A_k\) 가 성립한다 — 무한히 자주 등장.

\(\omega \in \liminf A_n\): 충분히 큰 \(n\) 이후로는 모든 \(A_k\)\(\omega\) 가 속한다 — 결국 항상 등장.

보렐-칸텔리 보조정리(Borel-Cantelli Lemma)는 이 limsup 사건의 확률을 다룬다.


6 시그마 대수 (σ-Algebra)

6.1 왜 시그마 대수가 필요한가

표본공간의 모든 부분집합에 확률을 부여하면 문제가 생긴다. (비트남 집합처럼 측도론적 역설이 발생할 수 있음)

따라서 “확률을 부여할 수 있는 사건들의 모음”을 엄밀히 정의해야 한다 — 이것이 시그마 대수다.

실무에서의 의미

σ-대수가 추상적으로 느껴지지만, 실제로는 이미 쓰고 있다.

  • 데이터베이스 쿼리: “매출 > 100만원인 거래”는 사건(집합)이다. 쿼리 결과에 확률을 부여하려면 그 집합이 σ-대수에 속해야 한다.
  • ML 분류기: 모델의 출력 \(P(Y=1 \mid X)\) 가 의미 있으려면, \(\{Y=1\}\) 이라는 사건이 확률이 정의된 공간에 존재해야 한다.
  • 측정 불가능한 집합: 실수 전체의 멱집합에서는 르베그 측도와 모순되는 집합(비탈리 집합)이 존재한다. σ-대수는 이런 병리적 집합을 제외하고 “안전한 사건들만” 모아놓은 것이다.

유한 표본공간에서는 멱집합 = σ-대수이므로 신경 쓸 필요 없지만, 연속형 확률변수를 다루는 순간 σ-대수가 필수다.

정의: 시그마 대수 (σ-Algebra / σ-Field)

\(\Omega\) 의 부분집합들의 모음 \(\mathcal{F}\) 가 다음 세 조건을 만족하면 σ-대수라 한다:

  1. \(\Omega \in \mathcal{F}\) (표본공간 자체가 포함됨)
  2. \(A \in \mathcal{F} \Rightarrow A^c \in \mathcal{F}\) (여집합에 닫혀 있음)
  3. \(A_1, A_2, \ldots \in \mathcal{F} \Rightarrow \bigcup_{i=1}^\infty A_i \in \mathcal{F}\) (가산 합집합에 닫혀 있음)

\((\Omega, \mathcal{F})\)가측공간(measurable space) 이라 한다.

직관: 시그마 대수는 “일관된 질문의 집합”이다

\(\mathcal{F}\) 는 “이 실험에서 물어볼 수 있는 모든 질문(사건)의 목록”이다. - “앞면이 나왔나?” \(\in \mathcal{F}\) → “앞면이 안 나왔나?”도 \(\in \mathcal{F}\) (조건 2) - “A가 일어났나?”와 “B가 일어났나?”가 질문이면 → “A나 B 중 하나라도 일어났나?”도 질문 (조건 3)

σ-대수가 없으면 “이 확률이 정의됐나?”를 검사할 기준이 없다.

6.2 예시: 동전 던지기

\(\Omega = \{H, T\}\) 일 때 가능한 σ-대수:

σ-대수 원소 비고
최소 σ-대수 (trivial) \(\{\emptyset, \Omega\}\) “아무것도 구분 안 한다”
최대 σ-대수 (power set) \(\{\emptyset, \{H\}, \{T\}, \Omega\}\) 모든 부분집합

유한 표본공간에서는 멱집합(power set)이 자연스러운 σ-대수다.

6.3 보렐 시그마 대수 (Borel σ-Algebra)

연속 표본공간 \(\Omega = \mathbb{R}\) 에서는 모든 구간을 포함하는 최소 σ-대수를 사용한다.

정의: 보렐 시그마 대수 \(\mathcal{B}(\mathbb{R})\)

\(\mathbb{R}\) 의 모든 열린 구간 \((a, b)\) 를 포함하는 최소 σ-대수를 보렐 σ-대수라 하고 \(\mathcal{B}(\mathbb{R})\) 로 표기한다.

\(\mathcal{B}(\mathbb{R})\) 는 모든 열린 집합, 닫힌 집합, 구간, 가산 집합 등을 포함한다.

실수 확률변수 \(X\) 의 분포를 정의할 때 \((\mathbb{R}, \mathcal{B}(\mathbb{R}))\) 가 기본 공간이 된다.

왜 보렐 σ-대수를 쓰는가

“키가 170cm 이상일 확률”, “온도가 20~25도 사이일 확률” 같은 질문은 모두 구간에 대한 확률이다. 보렐 σ-대수는 모든 구간을 포함하므로, 실생활에서 물어볼 수 있는 거의 모든 질문에 확률을 부여할 수 있다. 사실상 “실수 위의 확률을 다루는 표준 도구”다.


7 확률 공간 (Probability Space)

집합론이 완성되면 확률의 공식 정의를 내릴 수 있다.

정의: 확률 공간 (Probability Space) — Kolmogorov (1933)

세 쌍 \((\Omega, \mathcal{F}, P)\)확률 공간이라 한다:

  • \(\Omega\): 표본공간 (sample space)
  • \(\mathcal{F}\): σ-대수 (사건들의 모음)
  • \(P: \mathcal{F} \to [0,1]\): 확률 측도(probability measure), 다음 공리를 만족:

\[ \begin{aligned} \text{(K1) 비음성:}& \quad P(A) \geq 0 \quad \forall A \in \mathcal{F} \\ \text{(K2) 정규화:}& \quad P(\Omega) = 1 \\ \text{(K3) 가산 가법성:}& \quad A_i \cap A_j = \emptyset \Rightarrow P\!\left(\bigcup_{i=1}^\infty A_i\right) = \sum_{i=1}^\infty P(A_i) \end{aligned} \]

이 세 공리(콜모고로프 공리)로부터 확률의 모든 성질이 유도된다.

직관: 세 구성 요소의 역할
구성 요소 비유 역할
\(\Omega\) (표본공간) 지도 전체 가능한 모든 결과
\(\mathcal{F}\) (σ-대수) 지도의 구역 나누기 “이 영역의 넓이는?”이라고 물을 수 있는 영역들
\(P\) (확률 측도) 각 구역의 넓이 실제 확률 값

\(\Omega\) 없이는 “무엇이 일어날 수 있는가”를 모르고, \(\mathcal{F}\) 없이는 “어떤 질문을 할 수 있는가”를 모르고, \(P\) 없이는 “얼마나 가능한가”를 모른다.


8 콜모고로프 공리로부터 유도되는 성질

정리: 확률의 기본 성질

\((\Omega, \mathcal{F}, P)\) 가 확률 공간이면:

  1. \(P(\emptyset) = 0\)
  2. \(P(A^c) = 1 - P(A)\)
  3. \(A \subseteq B \Rightarrow P(A) \leq P(B)\)
  4. \(P(A \cup B) = P(A) + P(B) - P(A \cap B)\) (포함-배제 원리)
  5. \(P(A) \in [0,1]\)

증명 (성질 2)

\(A\)\(A^c\) 는 서로소(disjoint)이고 \(A \cup A^c = \Omega\) 이므로:

\[ P(A) + P(A^c) = P(A \cup A^c) = P(\Omega) = 1 \quad \Rightarrow \quad P(A^c) = 1 - P(A) \quad \blacksquare \]

증명 (포함-배제 원리)

\(A \cup B = A \cup (B \setminus A)\) 로 분해하면 \(A\)\(B \setminus A\) 는 서로소:

\[ \begin{aligned} P(A \cup B) &= P(A) + P(B \setminus A) \\ &= P(A) + P(B) - P(A \cap B) \quad \blacksquare \end{aligned} \]


9 응용 분야

분야 집합론의 역할 구체적 예시
통계적 추론 사건 정의, 조건부 확률 가설검정에서 기각역(rejection region)을 집합으로 정의
기계학습 확률 모델 기반 Naive Bayes: 클래스 사건의 독립성 가정
정보이론 측도론적 엔트로피 Shannon 엔트로피 \(H(X) = -\sum P(A_i)\log P(A_i)\)
금융공학 확률 공간 위의 확률과정 브라운 운동: \((\Omega, \mathcal{F}, P)\) 위의 연속 시간 과정
임상시험 사건 정의와 확률 처치군/대조군을 사건으로, ITT 분석을 집합 연산으로 표현

10 예시: 조건부 확률 준비

집합론을 이해하면 조건부 확률 정의가 자연스럽게 따라온다.

문제: 주사위 \(\Omega = \{1,2,3,4,5,6\}\), \(A = \{2,4,6\}\) (짝수), \(B = \{1,2,3\}\) (3 이하)

  • \(P(A) = 3/6 = 1/2\)
  • \(P(B) = 3/6 = 1/2\)
  • \(P(A \cap B) = P(\{2\}) = 1/6\)
  • \(P(A \cup B) = P(A) + P(B) - P(A \cap B) = 1/2 + 1/2 - 1/6 = 5/6\)
  • \(P(A^c) = 1 - P(A) = 1/2\)
  • \(P(A | B) = P(A \cap B) / P(B) = (1/6)/(1/2) = 1/3\) ← 다음 포스트 주제

11 코드 예시

11.1 Step 1: 순수 Python으로 집합 연산 구현

# 표본공간과 사건을 Python set으로 표현
Omega = {1, 2, 3, 4, 5, 6}  # 주사위 표본공간

A = {2, 4, 6}   # 짝수
B = {1, 2, 3}   # 3 이하

# 집합 연산
union        = A | B              # A ∪ B
intersection = A & B              # A ∩ B
complement_A = Omega - A          # A^c
difference   = A - B              # A \ B

print(f"A ∪ B = {union}")           # {1, 2, 3, 4, 6}
print(f"A ∩ B = {intersection}")    # {2}
print(f"A^c  = {complement_A}")     # {1, 3, 5}
print(f"A \\ B = {difference}")     # {1, 3}

# 드모르간 법칙 검증
lhs = Omega - (A | B)             # (A ∪ B)^c
rhs = (Omega - A) & (Omega - B)   # A^c ∩ B^c
print(f"드모르간: {lhs} == {rhs}") # True

# 포함-배제 원리
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∩B) = {P(A)+P(B)-P(A&B):.4f}")  # 동일

11.2 Step 2: Python으로 σ-대수 검증

from itertools import chain, combinations

def power_set(s):
    """집합 s의 멱집합 반환"""
    s = list(s)
    return [frozenset(x) for x in chain.from_iterable(
        combinations(s, r) for r in range(len(s) + 1)
    )]

def is_sigma_algebra(Omega, F):
    """F가 Omega 위의 σ-대수인지 검사"""
    Omega = frozenset(Omega)

    # 조건 1: Omega ∈ F
    if Omega not in F:
        return False, "Ω ∉ F"

    # 조건 2: A ∈ F → A^c ∈ F
    for A in F:
        Ac = Omega - A
        if Ac not in F:
            return False, f"A^c ∉ F for A={set(A)}"

    # 조건 3: 유한 합집합에 닫혀 있는지 (무한 경우는 생략)
    F_list = list(F)
    for i in range(len(F_list)):
        for j in range(i, len(F_list)):
            union = F_list[i] | F_list[j]
            if union not in F:
                return False, f"합집합 ∉ F"

    return True, "σ-대수 조건 충족"

Omega = {1, 2, 3, 4, 5, 6}
F_max = power_set(Omega)  # 멱집합 = 최대 σ-대수
print(is_sigma_algebra(Omega, F_max))  # (True, 'σ-대수 조건 충족')

# trivial σ-대수
F_trivial = [frozenset(), frozenset(Omega)]
print(is_sigma_algebra(Omega, F_trivial))  # (True, 'σ-대수 조건 충족')

# σ-대수가 아닌 예 (여집합 없음)
F_bad = [frozenset(), frozenset({1, 2}), frozenset(Omega)]
print(is_sigma_algebra(Omega, F_bad))  # False: {3,4,5,6} ∉ F

12 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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