2-3. 확률 및 통계 기초: 확률 분포, 기댓값, 분산
1. 확률 분포: 불확실성을 수학적으로 표현하기
딥러닝 모델은 근본적으로 데이터의 패턴을 학습하고 미래를 예측하는 과정입니다. 이 과정에서 '불확실성'은 필연적으로 발생하며, 이를 정량적으로 다루기 위한 핵심 도구가 바로 확률 분포입니다. 확률 분포는 특정 사건이 발생할 확률을 체계적으로 나타내는 방법으로, 데이터가 어떻게 퍼져 있는지, 어떤 값을 가질 가능성이 높은지를 수학적으로 명확하게 정의합니다.
1) 확률 분포의 기본 원리
어떤 실험이나 관측에서 얻을 수 있는 모든 가능한 결과값들을 생각해보겠습니다. 예를 들어, 동전을 던질 때 나올 수 있는 결과는 '앞면' 또는 '뒷면' 두 가지뿐입니다. 주사위를 던질 때는 1부터 6까지의 여섯 가지 결과가 가능합니다. 이처럼 가능한 결과들을 확률 변수(random variable)라고 하며, 각 확률 변수가 실제로 나타날 확률을 확률 질량 함수(probability mass function, PMF) 또는 확률 밀도 함수(probability density function, PDF)로 표현합니다.
- 이산 확률 분포 (Discrete Probability Distribution): 확률 변수가 셀 수 있는 값들(정수 등)만을 가질 때 사용됩니다. 동전 던지기, 주사위 던지기, 특정 기간 동안 발생하는 사건의 수 등이 이에 해당합니다. 각 결과값에 대한 명확한 확률을 정의할 수 있으며, 이를 PMF로 나타냅니다.
- 예시: 베르누이 분포(Bernoulli Distribution) - 단 한 번의 시행으로 성공/실패를 결정하는 경우 (동전 던지기)
- 예시: 이항 분포(Binomial Distribution) - n번의 독립적인 시행에서 특정 사건이 k번 발생할 확률 (10번의 동전 던지기에서 앞면이 3번 나올 확률)
- 연속 확률 분포 (Continuous Probability Distribution): 확률 변수가 특정 범위 내의 모든 실수 값을 가질 수 있을 때 사용됩니다. 키, 몸무게, 온도, 특정 시간까지 걸리는 시간 등이 이에 해당합니다. 연속적인 값들 사이의 확률을 직접 계산하는 것이 아니라, 특정 구간 내에 값이 존재할 확률을 적분을 통해 계산합니다. PDF는 특정 값에서의 확률이 아닌, 해당 값 주변의 확률 밀도를 나타냅니다.
- 예시: 정규 분포(Normal Distribution) - 자연계에서 가장 흔하게 관찰되는 분포로, 평균을 중심으로 좌우 대칭인 종 모양 그래프를 가집니다. (사람 키, 시험 점수 등)
- 예시: 균등 분포(Uniform Distribution) - 특정 범위 내의 모든 값이 동일한 확률로 나타나는 경우. (난수 생성 시)
2) 딥러닝에서의 확률 분포 활용
딥러닝에서 확률 분포는 모델의 예측 결과를 해석하고, 더 나아가 모델 자체를 확률적으로 설계하는 데 필수적입니다.
- 예측 불확실성 모델링: 딥러닝 모델은 종종 하나의 결정값 대신, 가능한 결과들에 대한 확률 분포를 출력합니다. 예를 들어, 이미지 분류 모델이 특정 이미지를 '고양이'로 분류할 확률이 90%, '개'로 분류할 확률이 5%라고 예측한다면, 이는 모델이 고양이로 분류하는 것에 90%의 확신을 가지고 있음을 의미합니다. 이러한 확률 분포는 모델의 신뢰도를 파악하는 데 중요합니다.
- 생성 모델 (Generative Models): GAN(Generative Adversarial Network)이나 VAE(Variational Autoencoder)와 같은 생성 모델은 실제 데이터와 유사한 새로운 데이터를 생성합니다. 이 과정에서 모델은 데이터의 근본적인 확률 분포를 학습하고, 해당 분포를 따르는 샘플을 생성해냅니다.
- 정규화 (Regularization): 드롭아웃(Dropout)과 같은 기법은 학습 과정에서 뉴런의 일부를 무작위로 비활성화함으로써 과적합을 방지합니다. 이는 마치 여러 개의 다른 신경망을 앙상블하는 효과를 주며, 각 뉴런의 기여도를 확률적으로 조절하는 것과 유사한 맥락으로 볼 수 있습니다.

2. 기댓값: 평균적인 결과는 무엇일까?
우리가 어떤 확률적인 실험을 반복했을 때, 장기적으로 평균적으로 얻게 될 결과값이 무엇인지를 나타내는 것이 기댓값(Expected Value)입니다. 확률 분포가 '결과의 가능성'을 보여준다면, 기댓값은 그 가능성들을 종합하여 '가장 대표적인 결과'를 요약해주는 지표입니다.
1) 기댓값의 정의와 계산
- 이산 확률 변수의 기댓값: 각 가능한 결과값($x_i$)에 해당 결과가 나올 확률($P(x_i)$)을 곱한 뒤, 이를 모두 더하면 됩니다. $$E[X] = \sum_{i} x_i P(x_i)$$ 만약 확률 변수 $X$가 $n$개의 가능한 값 $x_1, x_2, \dots, x_n$을 가지며, 각 값에 대한 확률이 $p_1, p_2, \dots, p_n$이라면, 기댓값 $E[X]$는 다음과 같이 계산됩니다. $$E[X] = x_1 p_1 + x_2 p_2 + \dots + x_n p_n$$
- 연속 확률 변수의 기댓값: 마찬가지로, 각 가능한 값($x$)에 해당 값에서의 확률 밀도 함수($f(x)$)를 곱한 뒤, 모든 가능한 범위에 대해 적분합니다. $$E[X] = \int_{-\infty}^{\infty} x f(x) \, dx$$
2) 직관적인 이해를 위한 비유
카지노에서 룰렛 게임을 한다고 가정해봅시다. 만약 어떤 숫자에 1000원을 걸어서 그 숫자가 나오면 35배인 35,000원을 받고, 나오지 않으면 1,000원을 잃는다고 합시다 (총 37개의 숫자 중 하나).
- 해당 숫자가 나올 확률: $\frac{1}{37}$
- 해당 숫자가 나오지 않을 확률: $\frac{36}{37}$
이 게임에서 기대할 수 있는 금액은 다음과 같습니다.
$E[\text{당첨금}] = (\text{당첨 시 얻는 금액}) \times P(\text{당첨}) + (\text{꽝일 시 잃는 금액}) \times P(\text{꽝})$ $E[\text{순수익}] = (35,000 - 1,000) \times \frac{1}{37} + (-1,000) \times \frac{36}{37}$ $E[\text{순수익}] = 34,000 \times \frac{1}{37} - 1,000 \times \frac{36}{37}$ $E[\text{순수익}] = \frac{34,000 - 36,000}{37} = \frac{-2,000}{37} \approx -54.05$원
이 계산은 이 게임을 반복적으로 할 때, 평균적으로 한 번에 약 54원씩 손해를 볼 것이라는 것을 의미합니다. 즉, 카지노의 수학적 기대값은 플레이어에게 불리하게 설계되어 있습니다.
3) 딥러닝에서의 기댓값 활용
- 모델 성능 측정: 평균 제곱 오차(Mean Squared Error, MSE)나 평균 절대 오차(Mean Absolute Error, MAE)와 같은 손실 함수는 실제값과 모델 예측값 사이의 평균적인 오차를 측정합니다. 이 '평균'이라는 개념 자체가 기댓값의 원리를 활용하는 것입니다.
- 강화 학습: 강화 학습에서 에이전트가 특정 행동을 했을 때 얻는
보상(reward)의 기댓값을 최대화하는 방향으로 학습합니다. 즉, 장기적으로 가장 많은 누적 보상을 받을 것으로 기대되는 행동 전략을 학습하는 것입니다. - 확률적 샘플링: 딥러닝 모델에서 무언가를 예측할 때, 확률 분포를 직접 사용하는 대신 기댓값을 중심으로 샘플링할 수도 있습니다.
3. 분산: 결과가 얼마나 흩어져 있을까?
기댓값이 평균적인 위치를 나타낸다면, 분산(Variance)은 데이터의 값들이 그 평균으로부터 얼마나 퍼져 있는지를 나타내는 척도입니다. 즉, 결과의 '흩어진 정도'나 '변동성'을 정량화하는 지표입니다.
1) 분산의 정의와 계산
분산은 각 데이터 포인트와 평균값 사이의 차이를 제곱한 값들의 평균입니다. 결과값 자체의 단위와 동일하게 만들기 위해 표준 편차(Standard Deviation)를 사용하기도 하는데, 이는 분산을 구한 뒤 제곱근을 취한 값입니다.
- 이산 확률 변수의 분산: $$Var(X) = E[(X - E[X])^2]$$ 이는 각 결과값($x_i$)과 기댓값($E[X]$)의 차이를 제곱한 값에 해당 확률($P(x_i)$)을 곱하여 모두 더한 것과 같습니다. $$Var(X) = \sum_{i} (x_i - E[X])^2 P(x_i)$$ 또는 다음과 같이 계산할 수도 있습니다. $$Var(X) = E[X^2] - (E[X])^2$$ 여기서 $E[X^2]$는 확률 변수 $X$의 제곱에 대한 기댓값입니다 ($E[X^2] = \sum_{i} x_i^2 P(x_i)$).
- 연속 확률 변수의 분산: $$Var(X) = \int_{-\infty}^{\infty} (x - E[X])^2 f(x) \, dx$$ 또는 $$Var(X) = E[X^2] - (E[X])^2$$ 여기서 $E[X^2] = \int_{-\infty}^{\infty} x^2 f(x) \, dx$ 입니다.
2) 분산의 중요성과 의미
- 안정성 판단: 분산이 작다는 것은 결과들이 기댓값 근처에 모여 있다는 의미이며, 이는 예측이 비교적 안정적이고 일관성이 있음을 시사합니다. 반대로 분산이 크다면 결과가 넓게 퍼져 있다는 뜻으로, 예측의 불확실성이 크거나 모델이 특정 입력에 민감하게 반응함을 나타낼 수 있습니다.
-
모델의 과적합/과소적합: 딥러닝 모델 학습에서 분산은 과적합(Overfitting)과 과소적합(Underfitting)을 진단하는 데 중요한 단서를 제공합니다.
- 과소적합: 모델이 데이터의 기본적인 패턴조차 제대로 학습하지 못하면, 예측값들이 실제값들로부터 넓게 퍼지게 되어 분산이 커집니다.
- 과적합: 모델이 학습 데이터에 지나치게 맞춰지면, 학습 데이터에 대해서는 분산이 매우 작아지지만, 보지 못한 새로운 데이터에 대해서는 예측값이 크게 흔들려 분산이 커집니다.
- 특징 선택 (Feature Selection): 여러 특징(feature)들의 분산을 비교하여, 분산이 낮은 특징은 대부분의 데이터에서 동일한 값을 가지므로 모델 학습에 큰 영향을 주지 않을 가능성이 높습니다. 반대로 분산이 높은 특징은 더 많은 정보를 담고 있을 가능성이 있습니다.
3) 딥러닝에서의 분산 활용
- 정규 분포: 정규 분포의 형태는 그 분산 값에 의해 결정됩니다. 분산이 작으면 뾰족하고 좁은 종 모양이 되고, 분산이 크면 완만하고 넓은 종 모양이 됩니다. 딥러닝 모델에서 정규 분포를 활용할 때, 이 분산 값의 조정은 모델의 동작 방식에 큰 영향을 미칩니다.
- 데이터 전처리: 데이터의 분산을 분석하여 스케일링(Scaling)이나 정규화(Normalization)와 같은 전처리 기법을 적용하는 데 활용됩니다. 예를 들어, 각 특징의 분산을 동일하게 맞춰주는
StandardScaler는 매우 흔하게 사용됩니다. - 앙상블 기법: 여러 모델의 예측 결과를 결합하는 앙상블 기법에서는 각 모델의 예측값들이 얼마나 다양한 결과를 내놓는지(분산)를 고려하여 최적의 결합 방법을 결정하기도 합니다.
이처럼 확률 분포, 기댓값, 분산은 딥러닝 모델의 작동 원리를 이해하고, 데이터의 특성을 파악하며, 모델의 성능을 개선하는 데 있어 매우 기본적인 동시에 강력한 도구들입니다. 이러한 개념들을 깊이 있게 이해하는 것은 성공적인 딥러닝 모델 개발의 초석이 될 것입니다.
Comments (0)
No comments yet. Be the first to comment!
Please to write a comment.