이 시리즈는 포항공과대학교 옥정슬 교수님의 기계학습(CSED515) 수업과, [Probabilistic Machine Learning: An Introduction], [Probabilistic Machine Learning: Advanced Topics], [Pattern Recognition and Machine Learning] 등을 참고로 하여 작성된 글입니다.
지난 포스트에서는 아주 기초적인 확률을 다뤄봤습니다. 이번에는 확률을 조금 더 엄밀하게 정의해보고, Bayes' Theorem, Univariate distribution(단변량 분포) 등을 다뤄보겠습니다.
Probability space
확률 공간(Probability Space)은 세 요소 (Ω,F,P)로 정의됩니다. 여기서 Ω은 실험의 가능한 모든 결과의 집합인 샘플 공간(Sample Space)이며, F는 Ω의 모든 부분 집합으로 구성된 사건 공간(Event Space)입니다. P는 사건 E⊆Ω를 [0,1] 범위의 숫자로 매핑하는 확률 측도(Probability Measure)입니다.
Discrete Random Variables
가장 단순한 설정은 실험의 결과가 가산 집합을 구성하는 경우입니다. 예를 들어, 3면체 주사위를 던지는 실험을 생각해 봅시다. 주사위의 면은 "A", "B", "C"로 표시됩니다. 샘플 공간은 Ω=A,B,C이며, 이는 실험의 가능한 모든 결과를 나타냅니다. 사건 공간은 샘플 공간의 모든 부분 집합으로 이루어져 있으므로 F = {∅, {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}}입니다. 사건은 사건 공간의 요소입니다. 예를 들어, 사건 E=A,B는 주사위가 A 또는 B를 나타내는 결과를 의미하고, 사건 E=C는 주사위가 C를 나타내는 결과를 의미합니다.
예시: 3면체 주사위를 던질 때, 사건 E=A,B는 주사위가 A 또는 B를 나타낼 확률을 의미합니다.
확률 측도를 정의하여 사건 공간의 각 집합의 "크기" 또는 "무게"를 계산할 수 있습니다. 3면체 주사위의 예에서 각 기본 사건의 확률을 P[{A}]=P[{B}]=P[{C}]=31으로 정의할 수 있습니다. 다른 사건의 확률은 각 집합의 측정을 합산하여 도출할 수 있습니다. 예를 들어, P[{A,B}]=32입니다.
Random Variables(랜덤 변수)
확률 공간의 각 가능한 결과에 번호를 할당하여 표기법을 단순화할 수 있습니다. 이는 랜덤 변수(Random Variable, rv or r.v.)를 정의함으로써 가능합니다. 랜덤 변수 X:Ω→R는 결과 ω∈Ω를 실수 X(ω)로 매핑하는 함수입니다. 예를 들어, 3면체 주사위에 대해 랜덤 변수 X를 X(A)=1,X(B)=2,X(C)=3으로 정의할 수 있습니다.
예시: 동전을 두 번 던지는 실험에서, 랜덤 변수 X는 앞면의 수를 나타냅니다. 결과 ω=(H,H)에 대해 X(ω)=2, ω=(H,T)와 ω=(T,H)에 대해 X(ω)=1, ω=(T,T)에 대해 X(ω)=0입니다.
랜덤 변수의 가능한 값들의 집합을 상태 공간(State Space)이라 하며, X(Ω)=X로 표시됩니다. 임의의 상태 a의 확률은 pX(a)=P[X=a]=P[X−1(a)]로 정의됩니다. 여기서 X−1(a)={ω∈Ω∣X(ω)=a}는 a의 사전 이미지입니다. pX는 확률 질량 함수(Probability Mass Function, pmf)라고 하며, 랜덤 변수 X의 확률 분포(Probability Distribution)로도 불립니다.
Continuous Random Variables
연속적인 결과를 가지는 케이스도 고려할 수 있습니다. 이 경우 샘플 공간은 실수의 부분 집합 Ω⊆R이라고 가정하며, 각 연속 랜덤 변수는 항등 함수 X(ω)=ω로 정의됩니다. 예를 들어, 어떤 사건의 지속 시간을 측정한다고 가정합시다. 샘플 공간은 Ω={t:0≤t≤Tmax}로 정의됩니다. 이는 비가산 집합이므로, 이산 경우처럼 모든 부분 집합을 열거하여 정의할 수 없습니다. 대신, 보렐 시그마 필드(Borel Sigma-Field) 또는 보렐 시그마 대수(Borel Sigma-Algebra)를 사용하여 사건 공간을 정의해야 합니다.
보렐 시그마 필드는 다음과 같은 집합을 포함합니다:
(−∞,b] 형태의 반열린 구간
∀a,b,(a,b),[a,b],(a,b],[a,b) 등의 구간
{b}과 같은 단일점 집합
확률 측도를 정의하기 위해 각 x∈Ω에 대해 확률 밀도 함수(Probability Density Function, pdf) pX(x)≥0를 할당합니다. 사건 E=[a,b]의 확률은 다음과 같이 계산됩니다:
P([a,b])=∫abp(x)dx
또한, 랜덤 변수 X의 누적 분포 함수(Cumulative Distribution Function, cdf)는 다음과 같이 정의됩니다:
PX(x)=P[X≤x]=∫−∞xpX(t)dt
이를 통해 구간의 확률을 다음과 같이 계산할 수 있습니다:
P([a,b])=P(a≤X≤b)=PX(b)−PX(a)
Probability Axioms
사건 공간과 관련된 확률 법칙은 콜모고로프 공리(Kolmogorov Axioms)를 따라야 합니다. 이 공리는 다음과 같습니다:
비음수성: 모든 사건 E⊆Ω에 대해 P[E]≥0입니다.
정규화: P[Ω]=1입니다.
가법성: 서로소인 집합들의 가산 열 {E1,E2,…}에 대해 P[⋃i=1∞Ei]=∑i=1∞P[Ei]입니다.
유한한 경우, 두 개의 서로소인 사건 E1과 E2에 대해 P[E1∪E2]=P[E1]+P[E2]가 성립합니다. 이는 사건 E1 또는 E2가 발생할 확률을 의미합니다.
이 공리들로부터 Complement Rule을 도출할 수 있습니다:
P[E]=1−P[E]
여기서 E는 사건 E의 여집합입니다. 또한, P[E]≤1과 P[∅]=0도 증명할 수 있습니다.
추가적으로, 두 사건 E1과 E2에 대해 다음과 같은 Addition Rule을 도출할 수 있습니다:
P[E1∪E2]=P[E1]+P[E2]−P[E1∩E2]
이는 두 사건이 반드시 서로소일 필요 없이 성립합니다.
Conditional Probability
두 사건 E1과 E2에 대해 P[E2]=0일 때, 사건 E1이 사건 E2가 발생했을 때 발생할 조건부 확률(Conditional Probability)은 다음과 같이 정의됩니다:
P[E1∣E2]=P[E2]P[E1∩E2]
이를 통해 곱셈 규칙(Multiplication Rule)을 얻을 수 있습니다:
P[E1∩E2]=P[E1∣E2]P[E2]
조건부 확률은 사건 E2가 발생한 경우에 사건 E1이 발생할 가능성을 측정합니다. 만약 두 사건이 독립적이라면, P[E1∣E2]=P[E1]가 성립합니다. 이는 두 사건이 서로 독립적(Independent Events)임을 의미합니다:
P[E1∩E2]=P[E1]P[E2]
또한, 조건부 독립성(Conditional Independence) 개념도 도입할 수 있습니다. 세 번째 사건 E3가 주어졌을 때, E1과 E2가 조건부로 독립적이라면 다음과 같이 표현됩니다:
P[E1∩E2∣E3]=P[E1∣E3]P[E2∣E3]
조건부 확률의 정의로부터 Law of Total Probability을 도출할 수 있습니다. 이는 샘플 공간 Ω의 분할 {A1,…,An}에 대해, 임의의 사건 B⊆Ω에 대해 다음이 성립함을 말합니다:
P[B]=i=1∑nP[B∣Ai]P[Ai]
Bayes’ Rule(Bayes' Theorem)
조건부 확률의 정의로부터 베이즈 정리(Bayes’ Rule), 또는 베이즈 정리(Bayes’ Theorem)를 도출할 수 있습니다. 이는 두 사건 E1과 E2에 대해 P[E1]>0이고 P[E2]>0일 때 다음과 같이 표현됩니다:
P[E1∣E2]=P[E2]P[E2∣E1]P[E1]
discrete random variable(이산 랜덤 변수) X가 K개의 가능한 상태를 가질 때, 베이즈 정리는 다음과 같이 쓸 수 있습니다:
p(X=k∣E)=∑k′=1Kp(E∣X=k′)p(X=k′)p(E∣X=k)p(X=k)
여기서 p(X=k)는 사전 확률(Prior Probability), p(E∣X=k)는 우도(Likelihood), p(X=k∣E)는 사후 확률(Posterior Probability), 그리고 p(E)는 주변 확률(Marginal Likelihood)입니다.
continuous random variable(연속 랜덤 변수) X에 대해서는 다음과 같이 베이즈 정리를 쓸 수 있습니다:
p(X=x∣E)=∫−∞∞p(E∣X=x′)p(X=x′)dx′p(E∣X=x)p(X=x)
Some Univariate Distributions
Bernoulli and Binomial Distributions
아마도 가장 단순한 확률 분포는 베르누이 분포(Bernoulli Distribution)로, 아래에서 논의할 이진 사건을 모델링하는 데 사용할 수 있습니다. 베르누이 분포는 성공과 실패와 같이 두 가지 가능한 결과를 가지는 실험을 모델링하는 데 적합합니다. 이와 관련된 확률 분포로는 이항 분포(Binomial Distribution)가 있으며, 이는 여러 번의 베르누이 실험의 결과(repeated bernoulli trials)를 모델링하는 데 사용됩니다.
Definition of Bernoulli distribution
동전을 던지는 실험을 고려해 봅시다. 동전이 앞면(heads)이 나올 확률은 0≤θ≤1로 주어집니다. 이 사건을 Y=1로 표시하고, 동전이 뒷면(tails)이 나오는 사건을 Y=0으로 표시합니다. 따라서 우리는
p(Y=1)=θ이고p(Y=0)=1−θ
라고 가정합니다. 이는 베르누이 분포(Bernoulli Distribution)라고 하며, 다음과 같이 쓸 수 있습니다:
Y∼Ber(θ)
베르누이 분포의 확률 질량 함수(Probability Mass Function, pmf)는 다음과 같습니다:
p(Y=y)=θy(1−θ)1−yfory∈{0,1}
제품이 결함이 있을 확률이 θ=0.2인 경우, 제품이 결함이 없을 확률은 1−θ=0.8입니다. 이 경우, 제품의 결함 여부를 나타내는 랜덤 변수 Y는 다음과 같이 표현할 수 있습니다.: p(Y=1)=0.2이고p(Y=0)=0.8
Binomial Distribution
이항 분포(Binomial Distribution)는 독립적인 베르누이 실험을 여러 번 수행한 결과를 모델링합니다. 예를 들어, 동전을 n번 던졌을 때 앞면이 나오는 횟수를 모델링할 수 있습니다.
Definition of Binomial distribution
n번의 독립적인 베르누이 실험에서 성공(success)의 횟수를 나타내는 랜덤 변수 X는 이항 분포를 따릅니다. 이항 분포의 확률 질량 함수는 다음과 같습니다:
X∼Bin(n,θ)
p(X=k)=(kn)θk(1−θ)n−kfork=0,1,2,…,n
여기서 (kn)는 이항 계수(binomial coefficient)로, n번 중 k번 성공할 확률을 나타냅니다.
동전을 10번 던졌을 때 앞면이 나오는 횟수를 모델링한다고 가정해볼 수 있습니다. 앞면이 나올 확률 θ=0.5일 때, 10번 던져서 정확히 6번 앞면이 나올 확률은 다음과 같습니다:
또한, 이항 분포는 베르누이 분포의 일반화로 볼 수 있으며, 단일 시도의 성공 여부를 나타내는 베르누이 분포가 여러 시도의 성공 횟수를 나타내는 이항 분포로 확장됩니다.
Univariate Gaussian (Normal) Distribution
가장 널리 사용되는 실수값 랜덤 변수 y∈R의 분포는 가우시안 분포(Gaussian Distribution), 또는 정규 분포(Normal Distribution)입니다.
Cumulative Distribution Function
연속 랜덤 변수 Y의 누적 분포 함수(Cumulative Distribution Function, cdf)는 다음과 같이 정의됩니다:
P(y)=P(Y≤y)
이를 사용하여 어떤 구간에 속할 확률을 다음과 같이 계산할 수 있습니다:
P(a<Y≤b)=P(b)−P(a)
가우시안의 cdf는 다음과 같이 정의됩니다:
Φ(y;μ,σ)=∫−∞yN(z∣μ,σ)dz
여기서 Φ(y;μ,σ)=21[1+erf(2z)], z=σy−μ이고, erf(u)는 오류 함수(error function)입니다:
erf(u)=π2∫0ue−t2dt
파라미터 μ는 분포의 평균(mean)을, σ2는 분산(variance)을 나타냅니다. μ=0이고 σ=1일 때, 가우시안은 표준 정규 분포(Standard Normal Distribution)라고 불립니다.
Probability Density Function
누적 분포 함수의 도함수로 확률 밀도 함수(Probability Density Function, pdf)를 정의합니다:
p(y)=dydP(y)
가우시안의 pdf는 다음과 같습니다:
N(y∣μ,σ)=2πσ21exp(−2σ2(y−μ)2)
여기서 2πσ2는 밀도가 1이 되도록 정규화하는 상수입니다. 이를 통해 연속 변수 Y가 유한 구간에 속할 확률을 다음과 같이 계산할 수 있습니다:
P(a<Y≤b)=∫abp(y)dy=P(b)−P(a)
구간의 크기가 작아질수록, 우리는 다음과 같이 쓸 수 있습니다:
P(y≤Y≤y+dy)≈p(y)dy
이는 Y가 y 주변의 작은 구간에 있을 확률이 y에서의 밀도에 구간의 너비를 곱한 것과 같다는 것을 의미합니다. 중요한 결과로, 점에서의 pdf 값은 1보다 클 수 있습니다. 예를 들어, N(0∣0,0.1)=3.99입니다.
Dirac Delta Function as a Limiting Case
가우시안의 분산이 0으로 갈 때, 분포는 평균에서 무한히 좁고 높게 "스파이크"하는 형태로 접근합니다. 이를 다음과 같이 쓸 수 있습니다:
σ→0limN(y∣μ,σ)=δ(y−μ)
여기서 δ는 디락 델타 함수(Dirac Delta Function)로, 다음과 같이 정의할 수 있다:
δ(x)={+∞0if x=0if x=0
그리고
∫−∞∞δ(x)dx=1
또한, 약간 변형하여
δy(x)={+∞0if x=yif x=y
으로 정의할 수 있으며, 이는 다음과 같이 쓸 수 있습니다:
δy(x)=δ(x−y)
Laplace Distribution
라플라스 분포(Laplace Distribution), 또는 양면 지수 분포(Double Sided Exponential Distribution)는 무거운 꼬리를 가진 분포입니다. 이 분포의 pdf는 다음과 같습니다:
Laplace(y∣μ,b)=2b1exp(−b∣y−μ∣)
여기서 μ는 위치 파라미터(Location Parameter), b>0는 스케일 파라미터(Scale Parameter)입니다. 이 분포는 다음과 같은 특성을 가집니다:
평균 = μ
최빈값 = μ
분산 = 2b2
Beta Distribution
베타 분포(Beta Distribution)는 구간 [0,1]에 대한 분포로, 다음과 같이 정의됩니다:
Beta(x∣a,b)=x1−a(1−x)1−bB(a,b)
여기서 B(a,b)는 베타 함수(Beta Function)로, 다음과 같이 정의됩니다:
B(a,b)=Γ(a+b)Γ(a)Γ(b)
Γ(a)는 감마 함수(Gamma Function)로, 다음과 같이 정의됩니다:
Γ(a)=∫0∞xa−1e−xdx
베타 분포는 a,b>0일 때 정의되며, a=b=1일 경우 균등 분포(Uniform Distribution)가 됩니다. a,b<1일 경우 0과 1에 봉우리가 두 개인 분포가 되고, a,b>1일 경우 봉우리가 한인 분포가 됩니다.
Exponential Distribution
지수 분포(Exponential Distribution)는 다음과 같이 정의됩니다:
Expon(x∣λ)=Ga(x∣shape=1,rate=λ)
Chi-squared Distribution
카이제곱 분포(Chi-squared Distribution)는 다음과 같이 정의됩니다:
χν2(x)=Ga(x∣shape=2ν,rate=2)
여기서 ν는 자유도(Degrees of Freedom)입니다. 이는 독립적인 가우시안 랜덤 변수의 제곱합의 분포입니다.
Inverse Gamma Distribution
역감마 분포(Inverse Gamma Distribution)는 다음과 같이 정의됩니다:
IG(x∣a,b)=Γ(a)bax−(a+1)exp(−xb)
이 분포는 다음과 같은 특성을 가집니다:
평균 = a−1b (단, a>1일 때)
최빈값 = a+1b
분산 = (a−1)2(a−2)b2 (단, a>2일 때)
Γ(a)는 감마 함수입니다. 만약 X∼Ga(shape=a,rate=b)이면, 1/X∼IG(shape=a,scale=b)입니다.
Empirical Distribution
우리가 N개의 샘플 D={x(1),…,x(N)}을 가지고 있다고 가정합시다. 이는 분포 p(X)에서 유래된 것입니다, 여기서 X∈R입니다. 우리는 델타 함수(Delta Function)를 사용하여 pdf를 다음과 같이 근사할 수 있습니다:
p^N(x)=N1n=1∑Nδx(n)(x)
이는 데이터셋 D의 경험적 분포(Empirical Distribution)라고 불립니다.
누적 분포 함수는 다음과 같이 주어집니다:
PN(x)=N1n=1∑NI(x≤x(n))
여기서 I(x)는 y에서 스텝 함수로 정의됩니다:
Iy(x)={10if x≥yif x<y
이는 "계단식"으로 시각화할할 수 있으며, 각 샘플에서 높이 1/N의 점프가 발생합니다.
즉, empirical distribution은 말 그대로 주어진 관측 데이터를 distribution으로 나타낸 것입니다.
이번 포스트는 상대적으로 분량이 방대할 수 있습니다. 주요하게 사용되는 분포만 외우고, 이를 상황에 적절히 적용하여 모델링할 수 있으면 충분하다고 생각합니다. 다음으로는 Multivariate distribution(다변량 분포), Gaussian joint distribution, Exponential Family 등을 다뤄보도록 하겠습니다.