스터디 교재: "개발자를 위한 필수 수학" by 토마스 닐드
참고 본문: 94p. 3.4.4 분산과 표준편차
--------------
1. 분산과 표준편차의 정의
1️⃣ 퍼짐을 측정하는 출발점: 평균과의 차이
데이터가 얼마나 퍼져 있는지를 측정하려면 각 데이터 값이 평균에서 얼마나 떨어져 있는지를 봐야 한다.
가장 직접적인 방법은 각 데이터에서 평균을 빼는 것이다. 이 차이를 편차(deviation)라고 부른다.
문제는 여기서 발생한다. 평균보다 큰 데이터는 편차가 양수(+)가 되고, 평균보다 작은 데이터는 편차가 음수(-)가 된다.
이 편차들을 그대로 더하면 양수와 음수가 서로 상쇄되어 항상 0이 된다.
평균은 데이터의 무게중심이므로, 정의상 편차의 합은 언제나 0이 된다.
따라서 편차의 합만으로는 데이터가 퍼진 정도를 측정할 수 없다.

2️⃣ 부호를 제거하는 방법: 제곱
편차의 합이 0이 되는 문제를 해결하려면 음수 부호를 없애야 한다.
부호를 없애는 방법으로 선택된 것이 제곱이다.
어떤 수를 제곱하면 음수든 양수든 항상 0 이상의 값이 되므로 부호로 인한 상쇄가 일어나지 않는다.
이렇게 편차를 제곱한 값들의 평균이 분산(variance)이다.
3️⃣ 제곱이 가져오는 두 가지 결과
제곱은 부호 문제를 해결하지만, 그 대가로 두 가지 성질이 나타난다.
🔵 값의 크기가 커진다
제곱은 값을 크게 확대한다. 편차가 3이면 9가 되고, 10이면 100이 된다.
그 결과 분산은 실제로 관측한 어떤 데이터보다도 큰 값이 된다.
분산의 수치 자체는 데이터의 원래 크기 감각과 직접 대응하지 않는다.
🔵 단위가 달라진다
제곱은 값뿐 아니라 단위까지 제곱한다. '반려동물 2마리'의 편차를 제곱하면 단위가 '마리²'이 되어 현실의 단위와 대응하지 않는다. 길이 데이터라면 m가 m²(면적 단위)로, 무게 데이터라면 kg가 kg²으로 바뀐다.
이 상태에서는 데이터의 퍼짐을 원래 데이터와 같은 단위로 해석할 수 없다.
4️⃣ 원래 단위로 되돌리기: 표준편차
확대된 값과 달라진 단위를 원래대로 되돌리려면 제곱의 역연산인 제곱근(√)을 적용하면 된다.
분산에 제곱근을 씌우면 값의 크기가 원래 데이터와 같은 수준으로 돌아오고, 단위도 원래 단위(마리, m, kg)로 복원된다.
이렇게 얻은 값이 표준편차(standard deviation)다.
표준편차는 분산과 동일한 정보를 담고 있으나, 원래 데이터와 같은 단위로 표현되어 해석이 직관적이다.
2. 절댓값 대신 제곱과 제곱근을 쓰는 이유
여기서 의문이 생긴다.
음수 부호를 없애는 것이 목적이라면 절댓값을 씌우면 될 텐데, 왜 제곱을 했다가 다시 제곱근을 씌우는 과정을 거칠까?
제곱과 제곱근을 사용하는 표준편차가 통계학의 표준으로 자리 잡은 데에는 세 가지 이유가 있다.
1️⃣ 큰 편차에 더 민감하게 반응한다
통계에서는 평균 근처에 모인 데이터보다, 평균에서 크게 벗어난 이상치(outlier)가 더 중요한 정보인 경우가 많다.
절댓값은 편차의 크기에 정비례한다. 편차가 2이면 2, 10이면 10이 그대로 반영된다.
반면 제곱은 편차를 제곱하므로, 편차가 2이면 4(2²), 10이면 100(10²)이 된다.
편차가 커질수록 절댓값과 제곱의 값 차이는 급격히 벌어진다.

이처럼 제곱은 큰 편차의 영향을 더 크게 반영한다.
그 결과 데이터가 평균 근처에 모여 있는지, 아니면 크게 벗어난 값을 포함해 넓게 분포하는지를 절댓값보다 뚜렷하게 구별할 수 있다.
2️⃣ 미분이 가능해 수학적으로 다루기 쉽다
두 번째 이유는 계산의 편의성이다.
🔵 절댓값 함수는 V자 형태다
절댓값 함수는 음수 구간을 위로 꺾어 올리므로 그래프가 V자 형태가 되고, 최솟값 지점(0인 지점)이 뾰족하다.
이 뾰족한 지점에서는 좌우의 기울기가 다르기 때문에 미분이 정의되지 않는다.
최솟값을 찾는 수치 계산에서 이 지점이 불연속적으로 처리되어 다루기 어렵다.
🔵 제곱 함수는 U자 형태다
제곱 함수는 이차함수 포물선이므로 그래프가 U자 형태가 되고, 최솟값 지점이 매끄럽다. 이 곡선은 모든 지점에서 미분이 가능하고, 기울기를 이용해 최솟값을 찾는 계산이 안정적으로 이루어진다.
따라서 수식 전개와 수치 계산 모두에서 제곱 함수가 절댓값 함수보다 다루기 쉽다.

이 미분 가능성은 머신러닝의 경사하강법(gradient descent)과 직접 연결된다.
오차 함수를 제곱 형태로 정의하면 모든 지점에서 기울기를 구할 수 있어, 그 기울기를 따라 최솟값으로 이동하는 최적화가 가능하기 때문이다.
3️⃣ 분산은 서로 더할 수 있다
세 번째 이유는 분산이 가진 덧셈 성질이다.
예를 들어 서로 독립인 두 데이터 집단이 있다고 하자.
절댓값으로 계산한 편차나, 제곱근을 씌운 표준편차는 두 집단을 결합했을 때 단순한 덧셈으로 전체 값을 구할 수 없다.
반면 제곱근을 씌우기 전 상태인 분산은 서로 독립일 때 그대로 더하거나 뺄 수 있다.
Var(A+B) = Var(A) + Var(B)
즉 두 집단을 합친 전체의 분산은 각 집단의 분산의 합으로 구해진다.
이 성질 때문에 분산은 여러 데이터 집단을 결합하거나 분해하는 계산에서 다루기 편하다.
표준편차 상태에서는 이 덧셈이 성립하지 않으므로, 계산 과정에서는 분산 형태를 유지하는 것이 유리하다.
표준편차는 분산에 제곱근을 씌운 값이라서, 더하려면 이렇게 된다.
σ(A+B) = √(σ_A² + σ_B²)
즉 표준편차끼리는 σ_A + σ_B로 더해지지 않고, 각각 제곱해서 더한 뒤 다시 제곱근을 씌워야 한다.
이건 직각삼각형에서 빗변을 구하는 것과 같은 형태다.
두 변의 길이(σ_A, σ_B)를 그냥 더하면 빗변이 안 나오고, √(a² + b²)를 해야 나오는 것과 똑같다.
3. 분산 기호 σ²의 제곱이 나타내는 것
통계학에서 분산은 σ²(시그마 제곱)으로 표기하고, 표준편차는 σ(시그마)로 표기한다.
분산 기호에 붙은 제곱(²)은 그 값의 상태를 나타내는 표시다.
제곱 기호는 이 값이 아직 제곱된 상태, 즉 원래 단위로 복원되지 않은 중간 상태임을 명시한다.
데이터가 실제로 퍼진 정도를 원래 단위로 확인하려면 이 값에 제곱근을 씌워 σ로 변환해야 한다.
분산에서 제곱근을 적용한 σ, 즉 표준편차가 데이터의 퍼짐을 원래 단위로 표현한 최종 형태다.
두 기호의 관계는 다음과 같이 정리된다.
- σ² (분산) = 제곱된 상태, 계산에 유리한 중간값
- σ (표준편차) = √σ², 원래 단위로 복원된 최종값
앞서 설명한 세 가지 이유가 이 표기에 반영되어 있다.
계산 과정에서는 σ²(분산) 상태를 유지해 미분과 덧셈의 이점을 활용하고, 해석 단계에서만 σ(표준편차)로 변환하는 것이다.
지금까지 분산과 표준편차의 정의, 그리고 부호 제거에 절댓값이 아닌 제곱을 사용하는 이유를 살펴봤다.
그런데 지금까지의 설명은 전체 데이터를 모두 가지고 있다는 전제 위에 있다.
현실에서는 전체가 아니라 일부만 뽑은 표본으로 전체를 추정해야 하는 경우가 대부분이며, 이때 분산 계산에 한 가지 조정이 필요하다.
다음 글에서는 표본으로 분산을 구할 때 왜 데이터 개수 n이 아니라 n-1로 나누는지에 대해 정리할 예정이다.
'Journey to CS > 머신러닝' 카테고리의 다른 글
| [ML 스터디 3주차] 확률밀도함수(PDF)와 누적분포함수(CDF) (0) | 2026.08.09 |
|---|---|
| [ML 스터디 3주차] 표본 분산은 왜 n이 아니라 n-1로 나누는가? (0) | 2026.08.08 |
| [ML 스터디 2주차] 이항 분포 vs 베타 분포 (0) | 2026.08.01 |
| [ML 스터디 2주차] 제트 엔진 테스트 사례로 살펴보는 이항 분포와 통계적 의사결정 (0) | 2026.07.28 |
| [ML 스터디 2주차] 확률과 가능도, 그리고 베이즈 정리 (0) | 2026.07.27 |