반올림, 근사, 규모

제로에서 시작 — 그 외 모든 것 이전에 필요한 기본 수학

어떤 수는 정확합니다. 의자가 12개 있는 교실에는 정확히 12개가 있지, 11.6개도 12.4개도 아닙니다. 하지만 단순히 개수를 세는 경우를 벗어나면 마주치는 대부분의 수는 그렇지 않습니다. 스톱워치는 9.83274초를 나타낼 수도 있고, 1을 7로 나누는 계산기는 0.142857142857을 보여줄 수도 있습니다. 이런 수들은 실제로 필요한 것보다 훨씬 많은 자릿수를 담고 있으며, 반올림은 얼마만큼의 정밀도를 유지하는지 정직하게 밝히면서 그런 수를 더 간단한 값으로 줄이는 방법입니다.

반올림은 추측도 아니고 속임수도 아닙니다. 상황에 맞는 정밀도 수준을 정한 다음, 남기려는 마지막 자리를 바로 다음 자리의 숫자에 따라 조정하는 것입니다. 그 결과는 ≈ 기호로 자주 표기되며, '거의 같다'로 읽습니다. 7.846 ≈ 7.85가 그 예입니다. 이 습관만 제대로 익히면 가격이든 측정값이든 모델의 출력 점수든 무엇이든 반올림할 수 있습니다.

기억해 둘 만한 그림이 하나 있습니다. 우량계는 옆면에 눈금이 그려진 그저 물을 받는 원통일 뿐입니다. 빗물이 눈금 중 정확히 하나에 딱 맞춰 차는 경우는 거의 없으므로, 물이 두 눈금 사이에 있다면 더 가까운 쪽을 읽어서 기록합니다. 자릿수를 더 붙인다고 해서 측정이 더 정직해지는 것은 아닙니다. 오히려 우량계가 실제로는 보여줄 수 없는 정밀함을 보여주는 척하는 것일 뿐입니다. 아래에서 직접 해 보세요. 점을 선을 따라 끌면서 일의 자리, 소수 첫째 자리, 소수 둘째 자리로 반올림하는 것을 전환해 보고, 어느 눈금이 선택되는지 지켜보세요.

머신러닝에서의 위치컴퓨터는 거의 모든 실수 값을 유한한 정밀도로 저장합니다. 화면에서는 완벽히 깔끔해 보이는 값도, 그 밑바탕에서는 이미 이진수로 근사된 값일 수 있습니다. 이는 생각보다 중요한 문제입니다. 아주 작은 그래디언트는 낮은 정밀도에서 완전히 사라져 버릴 수 있고, 아주 큰 값은 오버플로를 일으킬 수 있습니다. 결과를 보고할 때도 같은 원칙이 적용됩니다. 모델의 정확도를 0.873642라고 적었다고 해서, 그 여섯 자리 소수 모두가 실제로 의미 있는 정밀도를 지닌다는 뜻은 아닙니다. 규모 역시 중요합니다. 학습 전에 값의 범위를 맞춰 재조정하지 않으면, 수천 단위로 측정된 특성이 소수점 이하 단위로 측정된 특성을 조용히 압도해 버릴 수 있습니다.
▶ 반올림, 근사, 규모
← 10의 거듭제곱변수란 무엇인가 →