AI 수학 로드맵 노트 2 — 지수와 로그, 폭발과 압축의 언어

표 3 · 도식 1작성 Rhymbro

제1원리 질문. 로그는 왜 필요한가. 곱셈을 반복하면 수가 순식간에 폭발하는데, 그 폭발한 수를 사람이 다룰 수 있는 크기로 되돌려 ‘몇 번 곱했는지’만 남겨 주는 도구가 필요했기 때문이다.

지수 표현과 로그 표현을 나란히 놓고 말로 풀어 쓴 표
개념도 — 지수와 로그의 대응. 본문 내용을 바탕으로 자체 제작

핵심 — 같은 관계를 양쪽에서 읽기

로드맵 13주차의 한 줄 요약은 “로그는 자릿수 감각, 폭발과 압축의 언어”다. 지수와 로그는 같은 관계를 반대 방향에서 읽는 것이다.

지수로 읽기 로그로 읽기 말로 풀면
210 = 1024 log2 1024 = 10 2를 10번 곱하면 1024
103 = 1000 log10 1000 = 3 10을 3번 곱하면 1000
106 = 1,000,000 log10 1,000,000 = 6 0이 6개

2x와 log₂ x지수는 위로 폭발하고, 로그는 옆으로 누운 채 천천히 오른다xyy = 2^xy = log2 x2^4 = 16log2 16 = 4

두 곡선은 y = x에 대해 서로 대칭이다. (4, 16)과 (16, 4)가 같은 관계의 앞뒷면이다.

코드로 번역하기

파이썬에서 거듭제곱은 **, 로그는 np.log2, np.log10, 자연로그는 np.log다. 마지막 반복문은 ‘자릿수 = log10 n의 내림 + 1’을 확인하는 코드다.

import numpy as np

# 거듭제곱: 2를 10번 곱하기
print(2 ** 10)                 # 1024

# 로그: "몇 번 곱해야 그 수가 되나"
print(np.log2(1024))           # 10.0  (2를 10번)
print(np.log10(1000))          # 3.0   (10을 3번)

# 로그 = 자릿수 감각: 자릿수 = floor(log10(n)) + 1
for n in [7, 58, 4096, 1_000_000]:
    print(n, "->", int(np.floor(np.log10(n))) + 1, "자리")

실행 결과

1024
10.0
3.0
7 -> 1 자리
58 -> 2 자리
4096 -> 4 자리
1000000 -> 7 자리

사례 적용 — 왜 AI에서 로그를 자주 만나는가

7과 1,000,000은 약 14만 배 차이지만, 로그를 씌우면 1자리와 7자리, 즉 1과 7의 차이로 줄어든다. 이렇게 큰 범위를 작은 범위로 눌러 담는 성질 때문에 로그는 데이터 전처리에서 값의 편차가 너무 클 때 쓰인다. 또 곱셈을 덧셈으로 바꿔 주는 성질(log(ab) = log a + log b)이 있어서, 아주 작은 확률을 여러 번 곱하는 계산을 로그의 덧셈으로 바꾸는 데도 쓰인다.

로드맵 순서상 로그의 미분은 38주차(‘e가 특별한 이유 한 가지’)에서, 확률과의 연결은 4단계 이후에 다시 나온다. 지금 단계에서는 ‘몇 번 곱했나를 되묻는 함수’라는 감각 하나만 잡아 두면 충분하다.

1분 개념 체크

로드맵 교재 템플릿의 ‘1분 개념 체크’ 형식을 빌려 스스로 확인할 문제 두 개를 만들었다.

질문 답 근거
log2 32는? 5 2를 5번 곱하면 32
12,345는 몇 자리이고 log10 값은 대략 얼마인가? 5자리, 약 4.09 floor(4.09) + 1 = 5, 자릿수 공식

내 해석 — Rhymbro가 읽은 것

로그를 ‘자릿수’로 읽으니 공학에서 쓰는 데시벨(dB) 눈금이 같은 원리라는 게 보였다. 진동이나 소음처럼 범위가 수십만 배로 넓은 양을 한 그래프에 담으려면 로그 눈금이 필요하다. 모터 특성 곡선이나 주파수 응답 그래프에서 가로축이 로그 눈금인 것도 같은 이유라고 생각한다.

반대로 지수의 폭발성은 복리나 개체 수 증가처럼 ‘증가량이 현재 크기에 비례하는’ 현상에서 나온다는 점을 함께 적어 둔다.

한계로, 로그는 0과 음수에서 정의되지 않으므로 전처리에 쓸 때는 값이 0인 데이터를 어떻게 처리할지 따로 정해야 한다.

요약

항목 정리
지수 같은 수를 반복해서 곱함, 빠르게 폭발
로그 몇 번 곱했는지 되묻는 함수
자릿수 floor(log10 n) + 1
핵심 성질 log(ab) = log a + log b, 곱셈 → 덧셈

그래서 나는 무엇을 하기로 했나

이번 주는 주변에서 범위가 넓은 수(파일 크기, 인구, 주파수)를 다섯 개 골라 log10을 씌워 보고, 자릿수와 맞는지 코드로 확인하기로 했다.

주제와 순서는 개인 학습용으로 정리한 104주 AI 수학 로드맵 목차를 따랐고, 설명과 예제는 그 목차를 바탕으로 내 언어로 다시 썼다. 코드는 Python 3 + NumPy 2.x에서 실행해 출력을 확인했으며, 예시 수치는 설명용 가정 값이다.

함께 읽기: AI 수학, 네 기둥만 먼저 세운다 — 내가 잡은 로드맵

같은 카테고리에서 함께 읽기

강의자료 121편

5개의 댓글

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다