03. Expectation — 기댓값은 무엇이며 평균과 어떻게 다를까?
jay
앞선 글에서는 확률변수(Random Variable)와 확률분포를 표현하는 PMF, PDF, CDF의 차이를 살펴봤다.
확률변수가 어떤 값을 가질 수 있고, 각각의 값에 어떤 확률이 부여되는지 이해했다면 다음으로는 이 확률변수가 평균적으로 어느 정도의 값을 가지는가?라는 질문을 생각해볼 수 있다.
이 질문을 수학적으로 표현하는 개념이 Expectation(기댓값)이다.
기댓값은 단순히 여러 숫자의 평균을 구하는 것과 비슷해 보이지만, 각 값이 나타날 확률을 함께 고려한다는 중요한 차이가 있다. 이번 글에서는 기댓값의 정의부터 이산·연속 확률변수에서의 계산 방법, 산술평균과의 관계, 그리고 머신러닝에서의 활용까지 정리한다.
Expectation이란 무엇인가?
Expectation(Expected Value, 기댓값)은 확률변수의 값들을 발생 확률에 따라 가중평균한 값이다.
예를 들어 주사위를 한 번 던졌을 때 나올 것으로 기대되는 숫자는 무엇일까?
주사위의 눈은 1부터 6까지이고, 공정한 주사위라면 각각의 눈이 나올 확률은 모두 1/6이다. 따라서 가능한 값들을 각 확률에 따라 평균 내면 기댓값을 구할 수 있다.
기댓값은 확률변수가 가질 수 있는 값들을 확률로 가중평균한 값이다.
여기서 중요한 것은 기댓값이 반드시 실제로 관측 가능한 값일 필요는 없다는 점이다. 기댓값은 다음에 나올 값을 정확히 예측하는 것이 아니라, 확률분포의 중심적인 위치를 요약하는 값이다.
이산 확률변수의 기댓값
이산 확률변수(Discrete Random Variable)의 기댓값은 가능한 각 값에 해당 값의 발생 확률을 곱한 뒤 모두 더해 계산한다.
여기서 각 기호는 다음을 의미한다.
- X: 확률변수
- x: 확률변수가 가질 수 있는 특정 값
- pX(x): X가 x를 가질 확률, 즉 PMF
- E[X]: 확률변수 X의 기댓값
핵심은 모든 값을 동일하게 취급하는 것이 아니라 발생할 가능성이 높은 값이 평균에 더 큰 영향을 주도록 계산한다는 것이다.
주사위 예제로 계산하기
공정한 주사위를 한 번 던졌을 때 나오는 눈을 확률변수 X라고 하자.
| 주사위 눈 x | 확률 p(x) | x × p(x) |
|---|---|---|
| 1 | 1/6 | 1/6 |
| 2 | 1/6 | 2/6 |
| 3 | 1/6 | 3/6 |
| 4 | 1/6 | 4/6 |
| 5 | 1/6 | 5/6 |
| 6 | 1/6 | 6/6 |
가능한 모든 값과 확률을 곱해서 더하면 다음과 같다.
따라서 공정한 주사위의 기댓값은 3.5이다.
그런데 주사위에서 3.5가 나올 수 있을까?
주사위에서는 1부터 6까지의 정수만 나오므로 3.5라는 눈은 실제로 나올 수 없다.
그렇지만 기댓값은 반드시 확률변수가 실제로 가질 수 있는 값이어야 하는 것은 아니다.
주사위를 여러 번 던져 관측값의 평균을 계산한다면, 시행 횟수가 많아질수록 그 평균은 3.5에 가까워지는 경향이 있다.
기댓값은 다음에 관측할 값을 의미하는 것이 아니라, 확률분포의 평균적인 위치를 나타낸다.
주사위 PMF에서 각 눈의 확률과 기댓값 3.5를 표시한 그래프
기댓값은 왜 가중평균일까?
공정한 주사위에서는 모든 값이 같은 확률을 가지므로 단순한 산술평균과 기댓값이 일치한다.
하지만 가능한 값들이 서로 다른 확률을 가진다면 어떻게 될까?
앞면이 나올 확률이 70%, 뒷면이 나올 확률이 30%인 동전을 생각해보자. 앞면은 1, 뒷면은 0으로 표현한다.
| 결과 | 확률변수의 값 | 발생 확률 |
|---|---|---|
| 앞면 | 1 | 0.7 |
| 뒷면 | 0 | 0.3 |
이 경우 기댓값은 다음과 같다.
가능한 값 0과 1을 단순히 평균 내면 0.5이지만, 실제 기댓값은 0.7이다.
이는 앞면이 더 높은 확률로 발생하기 때문이다. 즉 기댓값은 각각의 값이 얼마나 자주 발생할 것으로 예상되는지까지 반영한 평균이다.
이 예제처럼 결과가 0과 1이고, 1이 나올 확률이 p인 분포를 Bernoulli Distribution(베르누이 분포)이라고 한다. Bernoulli 확률변수의 기댓값은 p이다.
연속 확률변수의 기댓값
이산 확률변수에서는 각 값에 확률을 곱해서 더했다. 그렇다면 연속 확률변수에서는 어떻게 기댓값을 계산할까?
연속 확률변수는 특정 값의 확률이 아니라 확률밀도함수(PDF)를 이용해 분포를 표현한다.
따라서 각 값에 대한 가중합 대신 적분을 사용한다.
여기서 fX(x)는 확률밀도함수(PDF)를 의미한다.
이산 확률변수에서 각 값에 해당 확률을 곱해 더했던 것처럼, 연속 확률변수에서는 값 x에 확률밀도 fX(x)를 곱해 전체 구간에서 적분한다.
Uniform Distribution 예제
0부터 1 사이에서 균일하게 분포하는 연속 확률변수 X를 생각해보자.
이 분포는 0과 1 사이에서 PDF가 1이고, 그 외의 영역에서는 0인 Uniform Distribution이다.
기댓값은 다음과 같이 계산한다.
따라서 0과 1 사이의 균일분포에서는 기댓값이 0.5이다.
이산형과 연속형 모두 계산 방식만 다를 뿐, 가능한 값들을 분포에 따라 가중평균한다는 개념은 동일하다.
기댓값과 산술평균은 어떻게 다를까?
Expectation을 공부할 때 가장 중요한 구분 중 하나가 기댓값(Expected Value)과 표본평균(Sample Mean)의 차이이다.
기댓값은 확률분포를 바탕으로 정의되는 이론적인 값이고, 표본평균은 실제로 관측한 데이터로 계산하는 값이다.
기댓값: 확률분포를 이용한 평균
예를 들어 공정한 동전을 던지고 앞면을 1, 뒷면을 0으로 정의하면 기댓값은 0.5이다.
이 값은 동전을 실제로 던지지 않더라도 확률분포를 알고 있다면 계산할 수 있다.
표본평균: 실제 관측 데이터의 평균
반면 동전을 10번 던져 앞면이 7번 나왔다면, 실제 관측한 0과 1의 표본평균은 0.7이다.
일반적으로 표본평균은 다음과 같이 정의한다.
여기서 n은 관측 횟수이고 Xi는 i번째 관측값을 나타내는 확률변수이다. 실제 데이터가 관측되면 각각의 Xi에 관측값을 대입해 표본평균을 계산한다.
따라서 공정한 동전의 이론적 기댓값은 0.5이지만, 10번의 실제 관측에서 계산한 평균은 0.7이 될 수도 있다.
표본이 많아지면 기댓값에 가까워질까?
같은 확률분포에서 독립적으로 반복 추출하고 기댓값이 유한하다는 등의 조건이 만족되면, 표본평균은 관측 횟수가 증가할수록 이론적인 기댓값에 가까워진다.
이러한 현상을 수학적으로 설명하는 것이 Law of Large Numbers(큰 수의 법칙)이다.
다만 표본이 많아진다고 해서 관측 평균이 매번 이전보다 반드시 기댓값에 더 가까워지는 것은 아니다. 시행 횟수가 증가할수록 큰 편차가 발생할 가능성이 줄어든다는 의미로 이해하는 것이 정확하다.
| 구분 | Expectation | Sample Mean |
|---|---|---|
| 의미 | 확률분포의 이론적 평균 | 관측 데이터의 평균 |
| 계산에 필요한 정보 | 확률분포 | 관측값 |
| 값의 변동 | 분포가 고정되면 일정 | 표본에 따라 변할 수 있음 |
| 예시 | 공정한 동전의 기댓값 0.5 | 10번 중 앞면 7번이면 0.7 |
기댓값의 중요한 성질: Linearity
기댓값은 선형성(Linearity of Expectation)이라는 중요한 성질을 가진다.
확률변수 X에 상수 a를 곱하고 b를 더한 경우 기댓값은 다음과 같이 계산할 수 있다.
예를 들어 어떤 점수 X의 기댓값이 70점이라면, 모든 점수를 두 배로 만든 뒤 10점을 추가한 새로운 점수의 기댓값은 150점이다.
또한 두 확률변수 X와 Y의 합에 대해서도 다음이 성립한다.
중요한 점은 이 성질이 X와 Y가 서로 독립이 아니어도 성립한다는 것이다. 단, 여기에서는 각각의 기댓값이 유한하게 존재한다고 가정한다.
선형성은 복잡한 확률변수의 합을 계산할 때 유용하며, 이후 통계학과 머신러닝에서도 자주 사용된다.
Expectation에서 자주 헷갈리는 부분
기댓값은 가장 자주 나오는 값일까?
그렇지 않다. 기댓값은 발생 확률을 고려한 평균이고, 가장 높은 확률을 가진 값은 Mode(최빈값)라고 한다.
앞면 확률이 0.7인 동전에서 가장 가능성이 높은 결과는 1이지만 기댓값은 0.7이다.
따라서 기댓값과 최빈값은 서로 다른 개념이다.
기댓값을 알면 데이터의 분포까지 알 수 있을까?
기댓값만으로는 확률분포의 전체적인 특성을 알 수 없다.
예를 들어 대부분의 값이 평균 근처에 몰려 있는 분포와, 평균에서 멀리 떨어진 값들이 자주 나타나는 분포가 같은 기댓값을 가질 수도 있다.
즉 기댓값은 분포의 평균적인 위치를 설명하지만, 값들이 얼마나 퍼져 있는지는 별도로 설명하지 않는다.
이러한 퍼짐의 정도를 설명하기 위해 다음 글에서 다룰 Variance(분산)가 필요하다.
E[X²]와 E[X]²는 같을까?
일반적으로 같지 않다.
왼쪽은 X를 먼저 제곱한 뒤 기댓값을 계산하는 것이고, 오른쪽은 X의 기댓값을 먼저 구한 뒤 제곱하는 것이다.
예를 들어 앞면 확률이 0.7인 동전의 0과 1 확률변수에서는 E[X²]=0.7이지만 (E[X])²=0.49이다.
이 차이는 이후 Variance를 공부할 때 매우 중요한 역할을 한다.
머신러닝에서 Expectation은 어떻게 사용될까?
Expectation은 머신러닝에서도 중요한 개념이다. 특히 모델이 평균적으로 얼마나 큰 오차를 발생시키는지를 정의할 때 사용된다.
Expected Loss
머신러닝 모델 f가 입력 X를 받아 예측값을 생성하고, 실제 정답을 Y라고 하자.
모델의 예측값과 정답 사이의 차이는 Loss Function을 이용해 측정할 수 있다.
이때 데이터의 실제 확률분포 전체에 대해 평균적인 손실을 계산하면 Expected Loss 또는 Population Risk라고 한다.
여기서 f는 예측 모델, ℓ은 손실함수, X와 Y는 각각 입력과 정답을 나타내는 확률변수이다.
즉 실제 데이터 분포에서 모델이 평균적으로 어느 정도의 손실을 발생시키는지를 나타낸다.
실제로는 어떻게 계산할까?
현실에서는 데이터의 진짜 확률분포를 정확히 알기 어려운 경우가 많다.
따라서 관측된 학습 데이터에 대해 손실을 계산하고 그 평균을 사용한다. 이를 Empirical Risk(경험적 위험)라고 한다.
여기서 n은 학습 데이터 개수이고, xi와 yi는 각 데이터의 입력값과 정답이다.
이렇게 보면 머신러닝의 학습 목표는 관측 데이터에서 계산한 평균 손실을 줄이면서, 궁극적으로는 새로운 데이터에 대한 Expected Loss도 낮아지도록 만드는 것이라고 이해할 수 있다.
단, 학습 데이터의 손실이 낮다고 해서 새로운 데이터에 대한 손실도 반드시 낮아지는 것은 아니다. 이러한 차이를 이해하기 위해 이후 Generalization과 Overfitting 등의 개념을 공부하게 된다.
기댓값은 항상 존재할까?
지금까지는 기댓값이 유한하게 존재하는 확률변수를 사용했다. 하지만 모든 확률분포에서 유한한 기댓값을 계산할 수 있는 것은 아니다.
어떤 분포에서는 확률변수의 값이 매우 큰 영역까지 퍼져 있어, 기댓값을 계산하는 합이나 적분이 적절하게 수렴하지 않을 수 있다.
대표적인 예가 Cauchy Distribution(코시 분포)이다. Cauchy Distribution은 일반적인 의미의 기댓값이 존재하지 않는다.

따라서 기댓값의 정의와 성질을 사용할 때는 필요한 존재 조건을 확인해야 한다. 현재 단계에서는 기댓값이 유한하게 존재하는 경우를 중심으로 이해하면 충분하다.
정리
Expectation에서 기억해야 할 핵심 내용을 정리하면 다음과 같다.
- Expectation은 확률변수가 가질 수 있는 값들을 발생 확률에 따라 가중평균한 값이다.
- 이산 확률변수에서는 PMF를 이용한 합으로 기댓값을 계산한다.
- 연속 확률변수에서는 PDF를 이용한 적분으로 기댓값을 계산한다.
- 기댓값은 반드시 실제로 관측 가능한 값일 필요는 없다.
- 기댓값은 확률분포의 이론적 평균이고, 표본평균은 관측한 데이터의 평균이다.
- 기댓값은 선형성을 가지며, 확률변수가 서로 독립적이지 않아도 합의 기댓값을 분리할 수 있다.
- 기댓값만으로 확률분포의 퍼짐이나 전체적인 형태를 알 수는 없다.
- 머신러닝에서는 Expected Loss와 Empirical Risk를 이해하는 데 기댓값이 사용된다.
Expectation은 확률변수가 평균적으로 어디에 위치하는지를 설명하지만, 그 주변에 값들이 얼마나 퍼져 있는지는 설명하지 않는다.
따라서 다음으로는 확률변수의 값들이 기댓값 주변에서 얼마나 퍼져 있는지를 나타내는 Variance(분산)를 공부할 필요가 있다.
다음 글에서는 Variance와 Standard Deviation의 정의, 분산에서 편차를 제곱하는 이유, 그리고 머신러닝에서 분산이 갖는 의미를 정리한다.
