[Zero to ML Master #12] 머신러닝 수식 읽는 법 — 그리스 문자·수학 기호 사전과 읽기 규칙 10가지 (ML 공식 100선, 1부)

오톨로리즘·4일 전
post-thumbnail

논문이나 책에서 θ←θ−α∇L(θ)\theta \leftarrow \theta - \alpha \nabla L(\theta) 같은 식을 만나면 눈앞이 하얘지나요? 😵 그건 수학을 못해서가 아니라, 아직 기호를 소리로 바꾸는 법을 배우지 않았기 때문입니다.

영어를 읽으려면 A부터 Z까지 알아야 하듯, 머신러닝 수식을 읽으려면 기호의 알파벳부터 알아야 해요. 1부에서는 그리스 문자와 연산 기호 사전, 처음 보는 수식도 읽어 내는 읽기 규칙 10가지, 그리고 ML 공식 100선 중 50개(최적화·손실함수·확률·신경망·정규화)를 소리 내어 읽고 파이썬 코드와 짝지어 봅니다.

📘 이 글은 위키독스 도서 Zero to 머신러닝 딥러닝 Master 의 01-02 그리스 문자와 수학 기호 — ML 수식의 알파벳 (예제 100선) (1부) 을 블로그용으로 다듬은 글입니다.
💻 실습 코드: GitHub · 🏠 mldict.net · ✍️ 기술 블로그

💻 이 글의 코드: 01-02-greek-letters-math-symbols · Open in Colab — 핵심 코드와 실제 실행 결과는 글 아래 💻 GitHub 실습 섹션에 있습니다.

⬅️ 이전 글: #11 머신러닝에 수학이 왜 필요할까? — 라면과 요리로 보는 AI 수학 공부법 (파이썬 20줄 맛보기) \
➡️ 다음 글: #13 머신러닝 공식 100선 읽기 — 선형대수·정보이론·어텐션·강화학습·평가지표 (2부)

TL;DR — 3줄 요약

  • 그리스 문자는 어려운 개념이 아니라 자주 쓰는 개념에 붙인 표지판입니다. α\alpha를 보면 학습률, μ\mu를 보면 평균이 떠오르면 충분해요.
  • 첨자·햇(^)·노름(‖‖)·화살표·물결표(~)·아그맥스 같은 읽기 규칙 10가지만 알면 처음 보는 수식도 소리 내어 읽을 수 있습니다.
  • 공식마다 읽는 법 → 기호 풀이 → 뜻 → 쓰이는 곳 → 파이썬 순서로 연결하면, 수식이 곧 코드 한두 줄이라는 게 보입니다.

✏️ 꼭 알아야 할 TIP

수식은 '푸는 것'이 아니라 먼저 '읽는 것'입니다\
수학 기호 = 외국어 알파벳과 같습니다. 영어를 읽으려면 A~Z를 먼저 알아야 하듯, 수학을 읽으려면 기호를 소리 내어 읽을 줄 알아야 합니다. 이 장에서는 기호 사전 → 읽기 규칙 10가지 → ML 공식 100가지 낭독 훈련 순서로, 수식을 '보면 들리는' 상태까지 끌어올립니다.

🎯 🔤 핵심 학습 내용

왜 읽기부터인가? 논문을 못 읽는 대부분의 이유는 수학이 어려워서가 아니라, 기호를 소리로 바꾸지 못해서입니다. 소리 내어 읽을 수 없는 문장은 이해할 수도 없습니다. 그래서 이 장의 모든 공식에는 읽는 법이 반드시 붙어 있습니다.

이 장의 학습 4단계

단계학습 내용도달 목표
1기호 사전 (그리스 문자 26 + 연산 기호 22)기호를 보면 이름이 떠오릅니다
2읽기 규칙 10가지 (첨자·햇·노름·화살표)처음 보는 수식도 읽어 냅니다
3ML 공식 100가지 낭독 훈련읽기 → 뜻 → 용도 → 코드로 연결합니다
4읽기 훈련 연습문제 + 해설스스로 검증할 수 있습니다

🔗 이전 장 연결: 01-01에서 다룬 '수학은 언어다'라는 관점을 이어받아, 이번 장에서는 그 언어의 발음 교본을 만듭니다.

📖 처음부터 끝까지 상세 풀이

01-02-A 🟢 왜 하필 그리스 문자일까요?

수학에서는 변수에 이름을 붙여야 하는데, 라틴 알파벳 26개는 너무 빨리 바닥납니다. 게다가 "이것은 평범한 변수가 아니라 특별한 의미를 가진 값(학습률·평균·표준편차)"임을 한눈에 구분하고 싶을 때, 그리스 문자를 빌려와 "이 기호가 보이면 항상 이런 뜻"이라는 약속을 만들었습니다.

🎨 더 쉽게 이해하기 — 도로 표지판

운전자는 빨간 팔각형을 보면 글자를 읽기 전에 이미 '멈춤'을 압니다. 그리스 문자도 같습니다. α\alpha를 보는 순간 "아, 학습률이구나", μ\mu를 보는 순간 "평균이구나" 하고 읽기 전에 뜻이 먼저 도착합니다. 그래서 그리스 문자는 어려운 개념이 아니라 자주 쓰는 개념에 붙인 표지판입니다.

01-02-B 🟢 기호 대사전 — 그리스 문자 26 + 연산 기호 22

외울 필요는 없습니다. 표를 눈으로 훑으면서 "이 기호는 이렇게 읽고 이런 뜻이구나"를 느끼기만 하면 충분합니다. 나중에 막힐 때마다 이 표로 돌아오세요.

① 그리스 문자 (자주 쓰는 순)

기호읽는 법ML에서의 의미예시
α\alpha알파학습률, 유의수준α=0.01\alpha=0.01
β\beta베타모멘텀 계수, 회귀계수β1=0.9\beta_1=0.9
γ\gamma감마감가율, BN 스케일γ=0.99\gamma=0.99
δ\delta델타TD 오차, 아주 작은 변화δt\delta_t
ϵ\epsilon엡실론아주 작은 수, 탐험 확률1e−81e{-}8
ζ\zeta제타리만 제타 함수(드묾)ζ(s)\zeta(s)
η\eta에타학습률(α와 혼용)η=0.1\eta=0.1
θ\theta세타모델 파라미터 전체fθ(x)f_\theta(x)
ι\iota이오타거의 안 씀—
κ\kappa카파조건수, 커널κ(A)\kappa(A)
λ\lambda람다고유값, 정규화 계수λ∥W∥2\lambda\Vert W\Vert ^2
μ\mu뮤평균μ=0\mu=0
ν\nu뉴자유도ν\nu
ξ\xi크사이보조 변수, 슬랙 변수ξi≥0\xi_i\ge 0
π\pi파이원주율, 강화학습의 정책π(a∣s)\pi(a\vert s)
ρ\rho로상관계수, 밀도ρXY\rho_{XY}
σ\sigma시그마표준편차, 시그모이드σ(x)\sigma(x)
Σ\Sigma대문자 시그마합산, 공분산 행렬∑ixi\sum_i x_i
τ\tau타우온도(temperature), 시간 상수τ=0.7\tau=0.7
ϕ\phi파이(피)특성 사상, 활성함수ϕ(x)\phi(x)
Φ\Phi대문자 파이정규분포의 누적분포함수Φ(x)\Phi(x)
χ\chi카이카이제곱 검정χ2\chi^2
ψ\psi프사이보조 함수, 디감마ψ(x)\psi(x)
ω\omega오메가가중치(고전 표기), 각속도ωTx\omega^T x
Ω\Omega대문자 오메가표본공간, 복잡도Ω(n)\Omega(n)
Π\Pi대문자 파이곱셈 기호∏ipi\prod_i p_i

② 연산·관계 기호

기호읽는 법의미예시
∇\nabla나블라 / 델그래디언트(모든 편미분을 모은 벡터)∇L\nabla L
∂\partial파셜 / 라운드 디편미분∂L/∂w\partial L/\partial w
∑\sum시그마 / 합합산∑i=1n\sum_{i=1}^{n}
∏\prod파이 / 곱곱셈 누적∏ipi\prod_i p_i
∫\int인테그럴 / 적분연속 합산∫p(x)dx\int p(x)dx
y^\hat{y}와이 햇추정값·예측값y^\hat{y}
xˉ\bar{x}엑스 바평균값xˉ\bar{x}
x~\tilde{x}엑스 틸데변형·근사된 값x~\tilde{x}
∥x∥2\Vert x\Vert _2엑스의 엘투 노름벡터의 길이∥x∥2\Vert x\Vert _2
⊙\odot오도트 / 원소별 곱같은 자리끼리 곱하기a⊙ba\odot b
⊗\otimes크로네커 곱블록 행렬 생성A⊗BA\otimes B
∼\sim틸데 / 를 따른다확률분포를 따름x∼Nx\sim\mathcal{N}
∝\propto비례한다상수배를 무시한 같음p∝e−Ep\propto e^{-E}
∈\in원소이다집합에 속함x∈Rdx\in\mathbb{R}^d
∀\forall모든전칭 기호∀i\forall i
∃\exists존재한다존재 기호∃x\exists x
←\leftarrow대입한다값 갱신θ←θ′\theta\leftarrow\theta'
≈\approx근사적으로 같다거의 같음e≈2.72e\approx 2.72
arg⁡max⁡\arg\max아그맥스최댓값을 만드는 입력arg⁡max⁡ipi\arg\max_i p_i
E\mathbb{E}기댓값 이평균적으로 기대되는 값E[X]\mathbb{E}[X]
N\mathcal{N}정규분포 엔가우시안 분포N(μ,σ2)\mathcal{N}(\mu,\sigma^2)
Rd\mathbb{R}^d알 디차원d차원 실수 공간x∈R768x\in\mathbb{R}^{768}

01-02-C 🔵 ⭐ 읽기 규칙 10가지 — 처음 보는 수식도 읽어 내는 법

기호를 다 외워도 조립 규칙을 모르면 문장이 되지 않습니다. 아래 10가지는 거의 모든 ML 논문 수식을 읽어 내는 문법입니다.

규칙 1. 아래첨자는 '번호·소속'이다

xi,  β1,  μBx_i,\;\beta_1,\;\mu_B

🗣 소리 내어 엑스 아이 / 베타 원 / 뮤 비

아래첨자는 '몇 번째인가' 또는 '무엇에 속하는가'를 나타냅니다. xix_i는 i번째 샘플, μB\mu_B는 배치(Batch)의 평균입니다.

규칙 2. 위첨자는 '거듭제곱' 또는 '층 번호'다

x2,  W(2),  AT,  A−1x^2,\;W^{(2)},\;A^T,\;A^{-1}

🗣 소리 내어 엑스 제곱 / 더블유 위첨자 이 / 에이 트랜스포즈 / 에이 인버스

괄호가 있으면 거듭제곱이 아니라 이름표입니다. W(2)W^{(2)}는 2층의 가중치, ATA^T는 전치, A−1A^{-1}은 역행렬입니다.

규칙 3. 모자(햇)와 막대(바)는 '진짜가 아님'을 뜻한다

y^,  xˉ,  θ^\hat{y},\;\bar{x},\;\hat{\theta}

🗣 소리 내어 와이 햇 / 엑스 바 / 세타 햇

  ^\hat{\;}는 모델이 추정한 값,   ˉ\bar{\;}는 평균 낸 값입니다. 모자가 붙으면 '예측', 막대가 붙으면 '평균'으로 읽으면 거의 맞습니다.

규칙 4. 세로 막대는 상황에 따라 셋으로 갈린다

P(A∣B),  ∣x∣,  ∥x∥2P(A|B),\;|x|,\;\|x\|_2

🗣 소리 내어 비가 주어졌을 때 에이의 확률 / 엑스의 절댓값 / 엑스의 엘투 노름

괄호 안에 있으면 조건부(given), 하나면 절댓값, 두 겹이면 노름(길이)입니다.

규칙 5. 합·곱 기호는 '아래에서 위까지'로 읽는다

∑i=1nxi\sum_{i=1}^{n} x_i

🗣 소리 내어 아이가 일부터 엔까지 엑스 아이의 합

먼저 범위를 읽고 나중에 대상을 읽습니다. ∏\prod이면 '합' 대신 '곱'으로 바꾸기만 하면 됩니다.

규칙 6. 괄호 안의 기호는 '입력', 밖은 '연산'이다

σ(Wx+b)\sigma(Wx+b)

🗣 소리 내어 시그모이드에 (더블유 엑스 더하기 비)를 넣은 값

안쪽부터 바깥쪽으로 읽습니다. 수식은 항상 가장 안쪽 괄호부터 계산되고, 읽는 순서도 같습니다.

규칙 7. 화살표는 방향에 따라 뜻이 다르다

θ←θ′,f:X→Y\theta \leftarrow \theta',\quad f: X \rightarrow Y

🗣 소리 내어 세타에 세타 프라임을 대입한다 / 에프는 엑스에서 와이로 가는 함수

왼쪽 화살표는 갱신(대입), 오른쪽 화살표는 사상(함수의 방향)입니다.

규칙 8. 물결표는 '~를 따른다'로 읽는다

ε∼N(0,1)\varepsilon \sim \mathcal{N}(0,1)

🗣 소리 내어 엡실론은 평균 영, 분산 일인 정규분포를 따른다

∼\sim 뒤에는 항상 확률분포가 옵니다. '~에서 뽑는다(sampling)'로 읽어도 뜻이 통합니다.

규칙 9. 아그맥스는 '값'이 아니라 '위치'를 준다

y^=arg⁡max⁡ipi\hat{y}=\arg\max_i p_i

🗣 소리 내어 와이 햇은 피 아이를 최대로 만드는 아이

max⁡\max는 가장 큰 값을, arg⁡max⁡\arg\max는 그 값을 만든 입력(인덱스)을 돌려줍니다. 분류의 최종 답은 언제나 아그맥스입니다.

규칙 10. 굵은 글씨·대문자는 '차원'을 알려 준다

x,  x,  Xx,\;\mathbf{x},\;X

🗣 소리 내어 스칼라 엑스 / 벡터 엑스 / 행렬 엑스

보통 소문자는 스칼라, 굵은 소문자는 벡터, 대문자는 행렬입니다. 이 규칙만 알아도 수식의 모양(shape)이 눈에 보입니다.

⚠️ 자주 하는 실수

① y^\hat{y}를 "와이 핸"으로 읽는 경우 → 올바른 발음은 "와이 햇(hat)"입니다.\
② σ\sigma(소문자)와 Σ\Sigma(대문자)를 섞어 쓰는 경우 → 소문자는 표준편차·시그모이드, 대문자는 합산·공분산 행렬입니다.\
③ W(2)W^{(2)}를 "더블유 제곱"으로 읽는 경우 → 괄호가 있으면 층 번호입니다.\
④ max⁡\max와 arg⁡max⁡\arg\max를 같게 보는 경우 → 앞은 값, 뒤는 위치입니다.

01-02-D 🔵 🚀 ML 공식 100가지 낭독 훈련 — 읽는 법·기호·뜻·용도·파이썬

여기부터가 이 장의 본론입니다. 100개의 공식마다 다음 다섯 가지가 붙어 있습니다.

항목내용
🗣 읽는 법기호를 소리 내어 읽는 한국어 발음
🔠 기호 풀이등장하는 모든 문자의 뜻
💡 뜻 풀이수식이 말하려는 바를 직관적으로
🎯 쓰이는 곳어떤 ML/DL 상황에서 등장하는가
🐍 파이썬NumPy · PyTorch · scikit-learn 구현

훈련 방법: 먼저 수식만 보고 소리 내어 읽어 본 뒤, '읽는 법'과 맞춰 보세요. 틀린 부분이 곧 여러분이 아직 모르는 기호입니다.

📚 카테고리 1: 경사하강법과 최적화 (10가지)

1.

θ←θ−α∇L(θ)\theta \leftarrow \theta - \alpha \nabla L(\theta)

🗣 읽는 법 세타는, 세타 빼기 알파 곱하기 그래디언트 엘 세타로 갱신한다

🔠 기호 풀이 θ 모델 파라미터 전체 · α 학습률 · ∇ 그래디언트 · L 손실함수 · ← 대입(갱신)

💡 뜻 풀이 손실이 가장 가파르게 줄어드는 방향(기울기의 반대)으로 학습률만큼 파라미터를 한 걸음 옮깁니다.

🎯 쓰이는 곳 모든 딥러닝 학습의 기본 골격. SGD 옵티마이저 한 스텝.

🐍 PYTHON

theta = theta - alpha * grad          # NumPy
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
optimizer.step()                      # PyTorch

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L17–L19

2.

g=∂L∂θg = \frac{\partial L}{\partial \theta}

🗣 읽는 법 지는, 세타에 대한 엘의 편미분

🔠 기호 풀이 ∂ 편미분(파셜) · L 손실 · θ 파라미터 · g 기울기 값

💡 뜻 풀이 다른 변수는 고정하고 θ만 아주 조금 움직였을 때 손실이 얼마나 변하는지의 비율입니다.

🎯 쓰이는 곳 역전파가 계산해 주는 값. 옵티마이저의 입력.

🐍 PYTHON

loss.backward()        # 역전파로 모든 파라미터의 편미분 계산
g = param.grad         # 계산된 기울기 꺼내기

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L23–L24

3.

mt=β1mt−1+(1−β1)gtm_t = \beta_1 m_{t-1} + (1-\beta_1) g_t

🗣 읽는 법 티 번째 엠은, 베타원 곱하기 이전 엠 더하기 (일 빼기 베타원) 곱하기 티 번째 지

🔠 기호 풀이 m 1차 모멘트(기울기의 이동평균) · β₁ 감쇠계수, 보통 0.9 · t 현재 스텝 · g 현재 기울기

💡 뜻 풀이 과거 기울기를 90% 기억하고 새 기울기를 10%만 반영해, 방향이 흔들리지 않게 관성을 줍니다.

🎯 쓰이는 곳 Momentum·Adam 옵티마이저의 속도 항.

🐍 PYTHON

m = beta1 * m + (1 - beta1) * g       # 지수이동평균
torch.optim.Adam(params, betas=(0.9, 0.999))

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L28–L29

4.

vt=β2vt−1+(1−β2)gt2v_t = \beta_2 v_{t-1} + (1-\beta_2) g_t^2

🗣 읽는 법 티 번째 브이는, 베타투 곱하기 이전 브이 더하기 (일 빼기 베타투) 곱하기 지 제곱

🔠 기호 풀이 v 2차 모멘트(기울기 제곱의 이동평균) · β₂ 보통 0.999 · g² 원소별 제곱

💡 뜻 풀이 기울기의 크기를 추적합니다. 값이 크면 그동안 많이 움직인 파라미터라는 뜻입니다.

🎯 쓰이는 곳 RMSProp·Adam에서 파라미터마다 학습률을 다르게 조절할 때.

🐍 PYTHON

v = beta2 * v + (1 - beta2) * g ** 2
update = g / (np.sqrt(v) + 1e-8)      # 많이 움직인 축은 보폭 축소

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L33–L34

5.

m^t=mt1−β1 t,v^t=vt1−β2 t\hat{m}_t = \frac{m_t}{1-\beta_1^{\,t}}, \quad \hat{v}_t = \frac{v_t}{1-\beta_2^{\,t}}

🗣 읽는 법 엠 햇은 엠 나누기 (일 빼기 베타원의 티제곱), 브이 햇은 브이 나누기 (일 빼기 베타투의 티제곱)

🔠 기호 풀이 ^ 햇 = 보정(추정)값 · β₁ᵗ 베타의 t제곱 · t 1부터 시작하는 스텝 수

💡 뜻 풀이 m과 v는 0에서 출발해 처음엔 너무 작습니다. 그 편향을 나눗셈으로 되돌려 놓습니다.

🎯 쓰이는 곳 Adam의 bias correction. 학습 초반이 불안정할 때 이 항이 살립니다.

🐍 PYTHON

m_hat = m / (1 - beta1 ** t)
v_hat = v / (1 - beta2 ** t)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L38–L39

6.

θ←θ−αm^tv^t+ϵ\theta \leftarrow \theta - \alpha \frac{\hat{m}_t}{\sqrt{\hat{v}_t}+\epsilon}

🗣 읽는 법 세타는, 세타 빼기 알파 곱하기 (엠 햇 나누기 (루트 브이 햇 더하기 엡실론))

🔠 기호 풀이 ε 0으로 나눔 방지용 아주 작은 수, 1e-8 · √ 제곱근 · m̂/√v̂ 방향 나누기 크기

💡 뜻 풀이 방향은 모멘텀이, 보폭은 기울기 크기가 정합니다. 자주 변하는 파라미터는 작게, 드문 파라미터는 크게 움직입니다.

🎯 쓰이는 곳 Adam 최종 갱신식. 오늘날 딥러닝의 기본 옵티마이저.

🐍 PYTHON

theta -= alpha * m_hat / (np.sqrt(v_hat) + 1e-8)
torch.optim.Adam(model.parameters(), lr=1e-3, eps=1e-8)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L43–L44

7.

∥∇L(θ)∥2<ϵ\|\nabla L(\theta)\|_2 < \epsilon

🗣 읽는 법 그래디언트 엘의 엘투 노름이 엡실론보다 작다

🔠 기호 풀이 ‖·‖₂ L2 노름 = 벡터의 길이 · ε 허용 오차(임계값) · < 보다 작다

💡 뜻 풀이 기울기 벡터의 길이가 거의 0이면 더 내려갈 곳이 없다는 뜻입니다.

🎯 쓰이는 곳 최적화 수렴 판정, early stopping 조건.

🐍 PYTHON

if np.linalg.norm(grad) < 1e-5:
    break                              # 수렴했으므로 학습 종료

8.

αt=α0⋅γ⌊t/s⌋\alpha_t = \alpha_0 \cdot \gamma^{\lfloor t/s \rfloor}

🗣 읽는 법 티 번째 알파는, 알파 영 곱하기 감마의 (티 나누기 에스의 내림) 제곱

🔠 기호 풀이 α₀ 초기 학습률 · γ 감쇠율, 보통 0.1~0.5 · s 감쇠 주기(에폭) · ⌊·⌋ 내림(floor)

💡 뜻 풀이 일정 에폭마다 학습률에 γ를 곱해 계단식으로 줄입니다. 처음엔 성큼, 나중엔 조심조심.

🎯 쓰이는 곳 StepLR 학습률 스케줄링. 후반부 미세조정에 필수.

🐍 PYTHON

sched = torch.optim.lr_scheduler.StepLR(opt, step_size=30, gamma=0.1)
sched.step()

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L54–L55

9.

αt=12α0(1+cos⁡(πtT))\alpha_t = \tfrac{1}{2}\alpha_0\left(1+\cos\left(\frac{\pi t}{T}\right)\right)

🗣 읽는 법 티 번째 알파는, 이분의 일 알파 영 곱하기 (일 더하기 코사인 (파이 티 나누기 티))

🔠 기호 풀이 π 원주율 · T 전체 스텝 수 · cos 코사인 함수

💡 뜻 풀이 학습률이 코사인 곡선을 따라 부드럽게 0까지 내려갑니다. 계단식보다 충격이 적습니다.

🎯 쓰이는 곳 Cosine annealing. 트랜스포머·대형 모델 학습의 표준.

🐍 PYTHON

sched = torch.optim.lr_scheduler.CosineAnnealingLR(opt, T_max=100)

10.

θ←θ−H−1∇L(θ),Hij=∂2L∂θi∂θj\theta \leftarrow \theta - H^{-1}\nabla L(\theta), \quad H_{ij}=\frac{\partial^2 L}{\partial \theta_i \partial \theta_j}

🗣 읽는 법 세타는, 세타 빼기 에이치 인버스 곱하기 그래디언트. 에이치의 아이제이 성분은 세타 아이와 세타 제이에 대한 이계 편미분

🔠 기호 풀이 H 헤시안 행렬(곡률) · H⁻¹ 역행렬 · ∂² 이계 편미분

💡 뜻 풀이 기울기뿐 아니라 '휘어진 정도'까지 보고 한 번에 최저점으로 점프합니다.

🎯 쓰이는 곳 뉴턴법·L-BFGS. 파라미터가 적은 문제에서 매우 빠른 수렴.

🐍 PYTHON

H = np.array([[2.0, 0.0], [0.0, 4.0]])
theta = theta - np.linalg.inv(H) @ grad

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L63–L64

📚 카테고리 2: 손실함수 — 무엇을 줄일 것인가 (10가지)

11.

MSE=1n∑i=1n(yi−y^i)2\mathrm{MSE}=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2

🗣 읽는 법 엠에스이는, 엔분의 일 곱하기 아이가 일부터 엔까지 (와이 아이 빼기 와이 햇 아이) 제곱의 합

🔠 기호 풀이 n 샘플 개수 · yᵢ i번째 정답 · ŷᵢ i번째 예측값(와이 햇) · ∑ 합산

💡 뜻 풀이 예측이 정답에서 벗어난 거리를 제곱해 평균 냅니다. 크게 틀리면 훨씬 크게 벌점.

🎯 쓰이는 곳 회귀 문제의 기본 손실함수. 집값·수요 예측 등.

🐍 PYTHON

mse = np.mean((y - y_pred) ** 2)
loss = torch.nn.MSELoss()(pred, target)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L68–L69

12.

MAE=1n∑i=1n∣yi−y^i∣\mathrm{MAE}=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i|

🗣 읽는 법 엠에이이는, 엔분의 일 곱하기 (와이 빼기 와이 햇)의 절댓값의 합

🔠 기호 풀이 |·| 절댓값 · n 샘플 수

💡 뜻 풀이 오차의 크기를 그대로 평균 냅니다. 제곱하지 않아 이상치에 덜 흔들립니다.

🎯 쓰이는 곳 이상치가 많은 회귀 문제, 중앙값 예측.

🐍 PYTHON

mae = np.mean(np.abs(y - y_pred))
loss = torch.nn.L1Loss()(pred, target)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L73–L74

13.

Lδ(e)={12e2∣e∣≤δδ(∣e∣−12δ)elseL_\delta(e)=\begin{cases}\frac{1}{2}e^2 & |e|\le\delta\\ \delta(|e|-\frac{1}{2}\delta)& \text{else}\end{cases}

🗣 읽는 법 델타 후버 손실은, 오차의 절댓값이 델타 이하이면 이분의 일 이 제곱, 아니면 델타 곱하기 (절댓값 이 빼기 이분의 델타)

🔠 기호 풀이 e 오차 y − ŷ · δ 전환 임계값 · cases 경우 나누기

💡 뜻 풀이 오차가 작으면 MSE처럼, 크면 MAE처럼 동작합니다. 두 손실의 장점을 합친 것입니다.

🎯 쓰이는 곳 이상치가 섞인 회귀, 강화학습 DQN의 손실.

🐍 PYTHON

loss = torch.nn.HuberLoss(delta=1.0)(pred, target)
from sklearn.linear_model import HuberRegressor

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L78–L79

14.

L=−1n∑i[yilog⁡y^i+(1−yi)log⁡(1−y^i)]L=-\frac{1}{n}\sum_{i}\left[y_i\log \hat{y}_i+(1-y_i)\log(1-\hat{y}_i)\right]

🗣 읽는 법 엘은, 마이너스 엔분의 일 곱하기 (와이 곱하기 로그 와이 햇 더하기 (일 빼기 와이) 곱하기 로그 (일 빼기 와이 햇))의 합

🔠 기호 풀이 log 자연로그 · yᵢ 정답 0 또는 1 · ŷᵢ 예측 확률 0~1

💡 뜻 풀이 정답이 1이면 앞항만, 0이면 뒷항만 살아남습니다. 확신을 갖고 틀리면 벌점이 무한대로 커집니다.

🎯 쓰이는 곳 이진 분류(스팸 여부, 질병 유무)의 표준 손실.

🐍 PYTHON

loss = torch.nn.BCELoss()(pred, target)
loss = torch.nn.BCEWithLogitsLoss()(logit, target)   # 수치적으로 안전

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L83–L84

15.

L=−∑c=1Cyclog⁡y^cL=-\sum_{c=1}^{C} y_c \log \hat{y}_c

🗣 읽는 법 엘은, 마이너스 시 가 일부터 대문자 시까지 와이 시 곱하기 로그 와이 햇 시의 합

🔠 기호 풀이 C 클래스 개수 · y_c 원-핫 정답 벡터 · ŷ_c 클래스 c의 예측 확률

💡 뜻 풀이 정답 클래스에 매긴 확률의 로그만 남습니다. 정답에 높은 확률을 줄수록 손실이 0에 가까워집니다.

🎯 쓰이는 곳 다중 분류(MNIST, ImageNet), 언어모델의 다음 토큰 예측.

🐍 PYTHON

loss = torch.nn.CrossEntropyLoss()(logits, labels)   # softmax 내장
loss = -np.sum(y_onehot * np.log(y_pred + 1e-12))

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L88–L89

16.

L=max⁡(0,  1−y⋅f(x))L=\max(0,\;1-y\cdot f(x))

🗣 읽는 법 엘은, 영과 (일 빼기 와이 곱하기 에프 엑스)의 최댓값

🔠 기호 풀이 y 정답 −1 또는 +1 · f(x) 모델의 결정함수 출력 · max 최댓값

💡 뜻 풀이 정답 쪽으로 여유(마진) 1 이상 떨어져 있으면 손실 0, 부족하면 그만큼 벌점.

🎯 쓰이는 곳 SVM(서포트 벡터 머신)의 힌지 손실.

🐍 PYTHON

loss = np.maximum(0, 1 - y * f_x)
from sklearn.svm import LinearSVC   # loss='hinge'

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L93–L94

17.

FL(pt)=−αt(1−pt)γlog⁡(pt)\mathrm{FL}(p_t)=-\alpha_t(1-p_t)^{\gamma}\log(p_t)

🗣 읽는 법 포컬 로스는, 마이너스 알파 곱하기 (일 빼기 피 티)의 감마 제곱 곱하기 로그 피 티

🔠 기호 풀이 p_t 정답 클래스의 예측 확률 · γ 집중 계수, 보통 2 · α 클래스 가중치

💡 뜻 풀이 이미 잘 맞히는 샘플의 손실을 (1−p)^γ로 확 줄여, 어려운 샘플에만 집중하게 만듭니다.

🎯 쓰이는 곳 클래스 불균형이 심한 객체 탐지(RetinaNet), 의료 영상.

🐍 PYTHON

pt = torch.exp(-ce_loss)
focal = alpha * (1 - pt) ** 2 * ce_loss

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L98–L99

18.

DKL(P∥Q)=∑xP(x)log⁡P(x)Q(x)D_{KL}(P\|Q)=\sum_x P(x)\log\frac{P(x)}{Q(x)}

🗣 읽는 법 케이엘 다이버전스 피 대 큐는, 피 엑스 곱하기 로그 (피 엑스 나누기 큐 엑스)의 합

🔠 기호 풀이 P 기준 분포(정답) · Q 비교 분포(예측) · ‖ 다이버전스 구분 기호

💡 뜻 풀이 P를 Q로 흉내 냈을 때 추가로 낭비되는 정보량. 0이면 두 분포가 같습니다. 대칭이 아닙니다.

🎯 쓰이는 곳 VAE의 정칙화 항, 지식 증류, 분포 정렬.

🐍 PYTHON

kl = np.sum(p * np.log(p / q))
kl = torch.nn.KLDivLoss(reduction='batchmean')(q.log(), p)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L103–L104

19.

L=max⁡ ⁣(0,  d(a,p)−d(a,n)+m)L=\max\!\left(0,\;d(a,p)-d(a,n)+m\right)

🗣 읽는 법 엘은, 영과 (디 에이 피 빼기 디 에이 엔 더하기 엠)의 최댓값

🔠 기호 풀이 a 기준 샘플(anchor) · p 같은 클래스(positive) · n 다른 클래스(negative) · m 마진 · d 거리 함수

💡 뜻 풀이 같은 것끼리는 가깝게, 다른 것끼리는 최소 m만큼 멀게 임베딩 공간을 재배치합니다.

🎯 쓰이는 곳 얼굴 인식(FaceNet), 검색용 임베딩 학습.

🐍 PYTHON

loss = torch.nn.TripletMarginLoss(margin=1.0)(anchor, pos, neg)

20.

cos⁡(θ)=a⋅b∥a∥ ∥b∥\cos(\theta)=\frac{\mathbf{a}\cdot\mathbf{b}}{\|\mathbf{a}\|\,\|\mathbf{b}\|}

🗣 읽는 법 코사인 세타는, 에이 내적 비 나누기 (에이의 노름 곱하기 비의 노름)

🔠 기호 풀이 a·b 두 벡터의 내적 · ‖a‖ 벡터의 길이 · θ 두 벡터 사잇각

💡 뜻 풀이 길이를 없애고 방향만 비교합니다. 1이면 같은 방향, 0이면 직교, −1이면 반대 방향.

🎯 쓰이는 곳 문장 임베딩 유사도, 추천 시스템, RAG 검색.

🐍 PYTHON

from sklearn.metrics.pairwise import cosine_similarity
sim = cosine_similarity(a.reshape(1, -1), b.reshape(1, -1))
sim = torch.nn.functional.cosine_similarity(a, b, dim=0)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L112–L114

📚 카테고리 3: 확률과 통계의 기본기 (10가지)

21.

P(A∣B)=P(B∣A) P(A)P(B)P(A|B)=\frac{P(B|A)\,P(A)}{P(B)}

🗣 읽는 법 비가 주어졌을 때 에이의 확률은, 에이가 주어졌을 때 비의 확률 곱하기 에이의 확률 나누기 비의 확률

🔠 기호 풀이 P(A|B) 사후확률 · P(A) 사전확률 · P(B|A) 가능도(우도) · | given, ~가 주어졌을 때

💡 뜻 풀이 새 증거 B를 보고 나서 믿음 A를 얼마나 바꿔야 하는지 알려 주는 갱신 공식입니다.

🎯 쓰이는 곳 나이브 베이즈 분류기, 베이지안 최적화, 스팸 필터.

🐍 PYTHON

from sklearn.naive_bayes import GaussianNB
model = GaussianNB().fit(X, y)
posterior = model.predict_proba(X_new)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L118–L120

22.

E[X]=∑xx P(x)  =  ∫x p(x) dxE[X]=\sum_x x\,P(x) \;=\; \int x\,p(x)\,dx

🗣 읽는 법 엑스의 기댓값은, 엑스 곱하기 피 엑스의 합. 연속형이면 적분

🔠 기호 풀이 E[·] 기댓값(평균) · P(x) 확률질량함수 · p(x) 확률밀도함수 · ∫ 적분

💡 뜻 풀이 값 × 그 값이 나올 확률을 모두 더한 것. 무한히 반복했을 때의 평균값입니다.

🎯 쓰이는 곳 손실의 기댓값 최소화, 강화학습의 기대 보상.

🐍 PYTHON

ex = np.sum(x * p)
ex = np.mean(samples)     # 표본으로 근사(몬테카를로)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L124–L125

23.

Var(X)=E[X2]−(E[X])2\mathrm{Var}(X)=E[X^2]-(E[X])^2

🗣 읽는 법 엑스의 분산은, 엑스 제곱의 기댓값 빼기 엑스 기댓값의 제곱

🔠 기호 풀이 Var 분산 · E[X²] 제곱의 평균 · (E[X])² 평균의 제곱

💡 뜻 풀이 '제곱의 평균 − 평균의 제곱'. 데이터가 평균에서 얼마나 흩어져 있는지 나타냅니다.

🎯 쓰이는 곳 특성 스케일링, 분산 축소 기법, 불확실성 추정.

🐍 PYTHON

var = np.mean(x ** 2) - np.mean(x) ** 2
var = np.var(x)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L129–L130

24.

σ=1n∑i=1n(xi−μ)2\sigma=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i-\mu)^2}

🗣 읽는 법 시그마는, 엔분의 일 곱하기 (엑스 아이 빼기 뮤) 제곱의 합의 제곱근

🔠 기호 풀이 σ 표준편차 · μ 평균 · n 표본 수 · √ 제곱근

💡 뜻 풀이 분산의 제곱근이라 원래 데이터와 단위가 같습니다. '평균에서 보통 이만큼 떨어져 있다'는 값.

🎯 쓰이는 곳 표준화(z-score), 이상치 탐지, 가중치 초기화 규모 결정.

🐍 PYTHON

sigma = np.std(x)
z = (x - np.mean(x)) / np.std(x)   # 표준화

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L134–L135

25.

Cov(X,Y)=E[(X−μX)(Y−μY)]\mathrm{Cov}(X,Y)=E[(X-\mu_X)(Y-\mu_Y)]

🗣 읽는 법 엑스와 와이의 공분산은, (엑스 빼기 뮤 엑스) 곱하기 (와이 빼기 뮤 와이)의 기댓값

🔠 기호 풀이 Cov 공분산 · μ_X X의 평균 · μ_Y Y의 평균

💡 뜻 풀이 둘이 함께 커지면 양수, 반대로 움직이면 음수. 단위에 따라 크기가 달라지는 게 단점입니다.

🎯 쓰이는 곳 PCA의 공분산 행렬, 다변량 정규분포, 포트폴리오 위험.

🐍 PYTHON

cov = np.cov(x, y)[0, 1]
C = np.cov(X.T)          # 특성 간 공분산 행렬

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L139–L140

26.

ρXY=Cov(X,Y)σXσY\rho_{XY}=\frac{\mathrm{Cov}(X,Y)}{\sigma_X \sigma_Y}

🗣 읽는 법 로 엑스와이는, 공분산 나누기 (시그마 엑스 곱하기 시그마 와이)

🔠 기호 풀이 ρ 피어슨 상관계수(로) · σ_X X의 표준편차 · Cov 공분산

💡 뜻 풀이 공분산을 각자의 표준편차로 나눠 −1~1로 정규화합니다. 단위와 무관하게 관계 강도를 비교할 수 있습니다.

🎯 쓰이는 곳 특성 선택, 다중공선성 진단, 상관 히트맵.

🐍 PYTHON

rho = np.corrcoef(x, y)[0, 1]
import pandas as pd
df.corr()

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L144–L146

27.

p(x)=1σ2πexp⁡ ⁣(−(x−μ)22σ2)p(x)=\frac{1}{\sigma\sqrt{2\pi}}\exp\!\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

🗣 읽는 법 피 엑스는, (시그마 곱하기 루트 이 파이) 분의 일 곱하기 지수함수 마이너스 (엑스 빼기 뮤) 제곱 나누기 이 시그마 제곱

🔠 기호 풀이 exp 지수함수 e의 거듭제곱 · μ 중심(평균) · σ 퍼짐(표준편차) · π 원주율

💡 뜻 풀이 종 모양 곡선. 평균에서 멀어질수록 확률이 지수적으로 급격히 작아집니다.

🎯 쓰이는 곳 가중치 초기화, 노이즈 모델, VAE의 잠재분포.

🐍 PYTHON

from scipy.stats import norm
pdf = norm.pdf(x, loc=mu, scale=sigma)
samples = np.random.normal(mu, sigma, size=1000)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L150–L152

28.

θ^MLE=arg⁡max⁡θ∏i=1np(xi∣θ)\hat{\theta}_{MLE}=\arg\max_{\theta}\prod_{i=1}^{n}p(x_i\mid\theta)

🗣 읽는 법 세타 햇 엠엘이는, 세타에 대해 아이가 일부터 엔까지 피 (엑스 아이 given 세타)의 곱을 최대로 만드는 값

🔠 기호 풀이 ∏ 곱(대문자 파이) · arg max 최댓값을 만드는 입력값 · θ̂ 추정된 파라미터

💡 뜻 풀이 지금 관측한 데이터가 가장 그럴듯해지도록 파라미터를 고릅니다.

🎯 쓰이는 곳 거의 모든 지도학습의 이론적 출발점. 손실 최소화 = 우도 최대화.

🐍 PYTHON

nll = -np.sum(np.log(likelihood))   # 최소화 문제로 변환
res = scipy.optimize.minimize(nll_fn, theta0)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L156–L157

29.

ℓ(θ)=∑i=1nlog⁡p(xi∣θ)\ell(\theta)=\sum_{i=1}^{n}\log p(x_i\mid\theta)

🗣 읽는 법 스크립트 엘 세타는, 로그 피 (엑스 아이 given 세타)의 합

🔠 기호 풀이 ℓ 로그 우도 · log 곱을 합으로 바꾸는 도구 · ∑ 합산

💡 뜻 풀이 곱셈은 값이 너무 작아져 컴퓨터가 0으로 만듭니다. 로그를 씌워 덧셈으로 바꾸면 안전합니다.

🎯 쓰이는 곳 언어모델 학습, EM 알고리즘, 통계 추론.

🐍 PYTHON

log_lik = np.sum(np.log(probs + 1e-12))
loss = -torch.log_softmax(logits, dim=-1).gather(1, y).sum()

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L161–L162

30.

P(X=k)=(nk)pk(1−p)n−kP(X=k)=\binom{n}{k}p^k(1-p)^{n-k}

🗣 읽는 법 엑스가 케이일 확률은, 엔 초즈 케이 곱하기 피의 케이 제곱 곱하기 (일 빼기 피)의 (엔 빼기 케이) 제곱

🔠 기호 풀이 n 시행 횟수 · k 성공 횟수 · p 1회 성공 확률 · C(n,k) 조합, 엔 초즈 케이

💡 뜻 풀이 동전을 n번 던져 앞면이 k번 나올 확률. 성공/실패가 반복되는 상황의 기본 분포입니다.

🎯 쓰이는 곳 이진 분류의 확률 모델, A/B 테스트, 드롭아웃 마스크.

🐍 PYTHON

from scipy.stats import binom
prob = binom.pmf(k=3, n=10, p=0.5)
mask = np.random.binomial(1, 0.5, size=shape)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L166–L168

📚 카테고리 4: 신경망과 활성함수 (10가지)

31.

z=Wx+bz = W\mathbf{x} + b

🗣 읽는 법 제트는, 더블유 곱하기 엑스 더하기 비

🔠 기호 풀이 W 가중치 행렬 · x 입력 벡터(굵은 글씨 = 벡터) · b 편향 · z 활성화 전 값(로짓)

💡 뜻 풀이 입력에 중요도(가중치)를 곱해 모두 더하고, 기준선(편향)을 더합니다. 신경망 한 층의 핵심.

🎯 쓰이는 곳 완전연결층(Linear/Dense)의 순전파.

🐍 PYTHON

z = W @ x + b
layer = torch.nn.Linear(in_features=784, out_features=128)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L172–L173

32.

σ(x)=11+e−x\sigma(x)=\frac{1}{1+e^{-x}}

🗣 읽는 법 시그모이드 엑스는, 일 더하기 이의 마이너스 엑스 제곱 분의 일

🔠 기호 풀이 σ 시그모이드 함수 · e 자연상수 2.718... · e^{-x} 이의 마이너스 엑스 제곱

💡 뜻 풀이 어떤 실수든 0~1 사이로 눌러 담아 '확률'처럼 해석하게 해 줍니다. S자 곡선.

🎯 쓰이는 곳 이진 분류 출력층, LSTM/GRU의 게이트.

🐍 PYTHON

s = 1 / (1 + np.exp(-x))
s = torch.sigmoid(x)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L177–L178

33.

tanh⁡(x)=ex−e−xex+e−x\tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}

🗣 읽는 법 하이퍼볼릭 탄젠트 엑스는, (이의 엑스 제곱 빼기 이의 마이너스 엑스 제곱) 나누기 (이의 엑스 제곱 더하기 이의 마이너스 엑스 제곱)

🔠 기호 풀이 tanh 쌍곡탄젠트 · e^x 이의 엑스 제곱

💡 뜻 풀이 출력이 −1~1이라 중심이 0입니다. 시그모이드보다 학습이 잘 흐릅니다.

🎯 쓰이는 곳 RNN/LSTM의 은닉 상태 활성함수.

🐍 PYTHON

t = np.tanh(x)
t = torch.tanh(x)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L182–L183

34.

ReLU(x)=max⁡(0,x)\mathrm{ReLU}(x)=\max(0,x)

🗣 읽는 법 렐루 엑스는, 영과 엑스의 최댓값

🔠 기호 풀이 max 최댓값 · 0 음수를 자르는 기준

💡 뜻 풀이 음수는 0으로 끊고 양수는 그대로 통과. 계산이 매우 싸고 기울기 소실이 거의 없습니다.

🎯 쓰이는 곳 CNN·MLP의 기본 활성함수.

🐍 PYTHON

r = np.maximum(0, x)
r = torch.relu(x)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L187–L188

35.

LeakyReLU(x)=max⁡(αx,  x),α=0.01\mathrm{LeakyReLU}(x)=\max(\alpha x,\;x),\quad \alpha=0.01

🗣 읽는 법 리키 렐루 엑스는, 알파 엑스와 엑스의 최댓값, 알파는 영점영일

🔠 기호 풀이 α 음수 영역의 작은 기울기 · max 최댓값

💡 뜻 풀이 음수도 아주 조금은 흘려보내, 뉴런이 완전히 죽는 문제(dying ReLU)를 막습니다.

🎯 쓰이는 곳 GAN 판별자, 깊은 CNN.

🐍 PYTHON

r = np.where(x > 0, x, 0.01 * x)
r = torch.nn.LeakyReLU(0.01)(x)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L192–L193

36.

softmax(xi)=exi∑j=1Kexj\mathrm{softmax}(x_i)=\frac{e^{x_i}}{\sum_{j=1}^{K} e^{x_j}}

🗣 읽는 법 소프트맥스 엑스 아이는, 이의 엑스 아이 제곱 나누기 제이가 일부터 케이까지 이의 엑스 제이 제곱의 합

🔠 기호 풀이 K 클래스 개수 · x_i i번째 로짓 · ∑_j 분모: 전체 합

💡 뜻 풀이 점수를 모두 양수로 만들고 합이 1이 되게 나눕니다. 가장 큰 점수가 확률을 크게 가져갑니다.

🎯 쓰이는 곳 다중 분류 출력층, 어텐션 가중치 계산.

🐍 PYTHON

e = np.exp(x - np.max(x))    # 오버플로 방지
p = e / e.sum()
p = torch.softmax(x, dim=-1)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L197–L199

37.

GELU(x)=x⋅Φ(x)\mathrm{GELU}(x)=x\cdot\Phi(x)

🗣 읽는 법 겔루 엑스는, 엑스 곱하기 대문자 파이 엑스

🔠 기호 풀이 Φ 표준정규분포의 누적분포함수(파이) · x·Φ(x) 입력에 통과 확률을 곱함

💡 뜻 풀이 ReLU가 0/1로 딱 자르는 것을 확률적으로 부드럽게 만든 버전입니다.

🎯 쓰이는 곳 BERT·GPT 등 트랜스포머의 표준 활성함수.

🐍 PYTHON

g = torch.nn.functional.gelu(x)
g = 0.5 * x * (1 + torch.erf(x / np.sqrt(2)))

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L203–L204

38.

Swish(x)=x⋅σ(βx)\mathrm{Swish}(x)=x\cdot\sigma(\beta x)

🗣 읽는 법 스위시 엑스는, 엑스 곱하기 시그모이드 (베타 엑스)

🔠 기호 풀이 σ 시그모이드 · β 기울기 조절 계수, 보통 1

💡 뜻 풀이 자기 자신에 게이트를 건 형태. 음수 근처에서 부드럽게 휘어 성능이 좋습니다.

🎯 쓰이는 곳 EfficientNet, LLaMA(SwiGLU) 계열.

🐍 PYTHON

s = x * torch.sigmoid(x)
s = torch.nn.SiLU()(x)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L208–L209

39.

∂L∂W=∂L∂z⋅∂z∂W\frac{\partial L}{\partial W}=\frac{\partial L}{\partial z}\cdot\frac{\partial z}{\partial W}

🗣 읽는 법 더블유에 대한 엘의 편미분은, 제트에 대한 엘의 편미분 곱하기 더블유에 대한 제트의 편미분

🔠 기호 풀이 ∂L/∂z 위층에서 내려온 기울기 · ∂z/∂W 이 층의 국소 기울기 · · 곱하기

💡 뜻 풀이 연쇄법칙. 멀리 떨어진 W의 영향을 중간 단계 기울기의 곱으로 이어 붙입니다.

🎯 쓰이는 곳 역전파 알고리즘 그 자체.

🐍 PYTHON

dW = dz @ x.T          # 수동 역전파
loss.backward()        # 자동 미분이 연쇄법칙 수행

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L213–L214

40.

y^=arg⁡max⁡i  p^i\hat{y}=\arg\max_{i}\;\hat{p}_i

🗣 읽는 법 와이 햇은, 아이에 대해 피 햇 아이를 최대로 만드는 인덱스

🔠 기호 풀이 arg max 최댓값의 위치(인덱스) · p̂ᵢ 클래스 i의 예측 확률

💡 뜻 풀이 확률이 가장 높은 클래스 번호를 최종 답으로 고릅니다. 값이 아니라 '위치'를 돌려줍니다.

🎯 쓰이는 곳 분류 모델의 추론 단계.

🐍 PYTHON

pred = np.argmax(probs, axis=1)
pred = logits.argmax(dim=-1)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L218–L219

📚 카테고리 5: 정규화·초기화·과적합 방지 (10가지)

41.

x^=x−μBσB2+ϵ\hat{x}=\frac{x-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}

🗣 읽는 법 엑스 햇은, (엑스 빼기 뮤 비) 나누기 (루트 시그마 비 제곱 더하기 엡실론)

🔠 기호 풀이 μ_B 미니배치 평균 · σ_B² 미니배치 분산 · ε 0 나눗셈 방지, 1e-5

💡 뜻 풀이 배치 안에서 평균 0, 분산 1로 맞춥니다. 층마다 분포가 흔들리는 문제를 잡아 줍니다.

🎯 쓰이는 곳 배치 정규화 1단계. CNN 학습 안정화·가속.

🐍 PYTHON

x_hat = (x - x.mean(0)) / np.sqrt(x.var(0) + 1e-5)
bn = torch.nn.BatchNorm2d(num_features=64)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L223–L224

42.

y=γx^+βy=\gamma\hat{x}+\beta

🗣 읽는 법 와이는, 감마 곱하기 엑스 햇 더하기 베타

🔠 기호 풀이 γ 학습되는 스케일 파라미터 · β 학습되는 시프트 파라미터 · x̂ 정규화된 값

💡 뜻 풀이 무조건 평균 0·분산 1이 최선은 아니므로, 모델이 스스로 최적의 분포를 되찾도록 학습합니다.

🎯 쓰이는 곳 배치/레이어 정규화 2단계.

🐍 PYTHON

y = gamma * x_hat + beta
bn.weight   # 감마,  bn.bias  # 베타

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L228–L229

43.

LN(x)=γx−μLσL2+ϵ+β\mathrm{LN}(x)=\gamma\frac{x-\mu_L}{\sqrt{\sigma_L^2+\epsilon}}+\beta

🗣 읽는 법 레이어 노름 엑스는, 감마 곱하기 (엑스 빼기 뮤 엘) 나누기 루트 (시그마 엘 제곱 더하기 엡실론) 더하기 베타

🔠 기호 풀이 μ_L 샘플 하나의 특성축 평균 · σ_L 같은 축의 표준편차

💡 뜻 풀이 배치가 아니라 '샘플 하나 안'에서 정규화합니다. 배치 크기에 영향을 받지 않습니다.

🎯 쓰이는 곳 트랜스포머·RNN의 표준 정규화.

🐍 PYTHON

ln = torch.nn.LayerNorm(normalized_shape=512)
out = ln(x)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L233–L234

44.

Ltotal=L+λ∥W∥22L_{total}=L+\lambda\|W\|_2^2

🗣 읽는 법 전체 손실은, 엘 더하기 람다 곱하기 더블유의 엘투 노름 제곱

🔠 기호 풀이 λ 정규화 세기 · ‖W‖₂² 모든 가중치 제곱의 합

💡 뜻 풀이 가중치가 커지면 벌점을 줍니다. 모델이 특정 특성에 과하게 의존하지 못하게 합니다.

🎯 쓰이는 곳 L2 정규화 = 가중치 감쇠(weight decay). 과적합 방지.

🐍 PYTHON

torch.optim.Adam(params, weight_decay=1e-4)
from sklearn.linear_model import Ridge   # alpha=lambda

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L238–L239

45.

Ltotal=L+λ∥W∥1L_{total}=L+\lambda\|W\|_1

🗣 읽는 법 전체 손실은, 엘 더하기 람다 곱하기 더블유의 엘원 노름

🔠 기호 풀이 ‖W‖₁ 가중치 절댓값의 합 · λ 정규화 세기

💡 뜻 풀이 절댓값 벌점은 쓸모없는 가중치를 정확히 0으로 만듭니다. 자동 특성 선택 효과.

🎯 쓰이는 곳 Lasso 회귀, 희소 모델, 모델 압축.

🐍 PYTHON

l1 = lam * sum(p.abs().sum() for p in model.parameters())
from sklearn.linear_model import Lasso

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L243–L244

46.

Ltotal=L+λ1∥W∥1+λ2∥W∥22L_{total}=L+\lambda_1\|W\|_1+\lambda_2\|W\|_2^2

🗣 읽는 법 전체 손실은, 엘 더하기 람다원 곱하기 엘원 노름 더하기 람다투 곱하기 엘투 노름 제곱

🔠 기호 풀이 λ₁ L1 세기 · λ₂ L2 세기

💡 뜻 풀이 L1의 희소성과 L2의 안정성을 함께 씁니다. 상관 높은 특성들이 같이 살아남습니다.

🎯 쓰이는 곳 Elastic Net. 특성 수가 샘플 수보다 많을 때.

🐍 PYTHON

from sklearn.linear_model import ElasticNet
model = ElasticNet(alpha=0.1, l1_ratio=0.5).fit(X, y)

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L248–L249

47.

y=m⊙x1−p,m∼Bernoulli(1−p)y=\frac{m\odot x}{1-p},\quad m\sim \mathrm{Bernoulli}(1-p)

🗣 읽는 법 와이는, 엠 원소별 곱 엑스 나누기 (일 빼기 피). 엠은 베르누이 (일 빼기 피)를 따른다

🔠 기호 풀이 ⊙ 원소별 곱(하다마르 곱) · p 드롭 확률 · ~ ~를 따른다 · m 0/1 마스크

💡 뜻 풀이 학습 중 뉴런 일부를 무작위로 끄고, 남은 값을 키워 크기를 보존합니다(inverted dropout).

🎯 쓰이는 곳 과적합 방지. 추론 시에는 끕니다.

🐍 PYTHON

drop = torch.nn.Dropout(p=0.5)
model.eval()      # 추론 시 드롭아웃 자동 비활성화

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L253–L254

48.

W∼N ⁣(0,  2nin+nout)W\sim\mathcal{N}\!\left(0,\;\frac{2}{n_{in}+n_{out}}\right)

🗣 읽는 법 더블유는, 평균 영이고 분산이 (엔 인 더하기 엔 아웃) 분의 이인 정규분포를 따른다

🔠 기호 풀이 N 정규분포(캘리그래픽 엔) · n_in 입력 노드 수 · n_out 출력 노드 수

💡 뜻 풀이 층을 지나도 신호의 분산이 유지되도록 초기 가중치 크기를 정합니다.

🎯 쓰이는 곳 Xavier(Glorot) 초기화. tanh·sigmoid 계열에 적합.

🐍 PYTHON

torch.nn.init.xavier_normal_(layer.weight)
W = np.random.randn(n_out, n_in) * np.sqrt(2 / (n_in + n_out))

🔗 GitHub에서 코드 보기 — 01_02_greek_letters_math_symbols.py L258–L259

49.

W∼N ⁣(0,  2nin)W\sim\mathcal{N}\!\left(0,\;\frac{2}{n_{in}}\right)

🗣 읽는 법 더블유는, 평균 영이고 분산이 엔 인 분의 이인 정규분포를 따른다

🔠 기호 풀이 n_in 입력 노드 수 · 2 ReLU가 절반을 죽이는 것을 보상하는 계수

💡 뜻 풀이 ReLU가 음수 절반을 잘라 분산이 반토막 나므로, 미리 2배로 키워 둡니다.

🎯 쓰이는 곳 He 초기화. ReLU 계열 깊은 신경망의 기본값.

🐍 PYTHON

torch.nn.init.kaiming_normal_(layer.weight, nonlinearity='relu')

50.

g←g⋅cmax⁡(c,∥g∥2)g \leftarrow g\cdot\frac{c}{\max(c,\|g\|_2)}

🗣 읽는 법 지는, 지 곱하기 (시 나누기 (시와 지의 엘투 노름의 최댓값))

🔠 기호 풀이 c 클리핑 임계값(clip norm) · ‖g‖₂ 기울기 벡터의 길이

💡 뜻 풀이 기울기 길이가 c를 넘으면 방향은 그대로 두고 길이만 c로 잘라 냅니다.

🎯 쓰이는 곳 기울기 폭발 방지. RNN·트랜스포머 학습에 필수.

🐍 PYTHON

torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)

💻 GitHub 실습 — 코드로 직접 확인하기

📂 이 장의 코드 폴더: book/01-ml-math-basics-python/01-02-greek-letters-math-symbols

책에 실린 코드를 장(절)별로 모아 둔 폴더입니다. 아래 파일을 열어 보거나, Colab에서 바로 실행해 보세요.

파일용도링크
01_02_greek_letters_math_symbols.py책의 코드 블록 101개를 순서대로 모은 실행 스크립트 (# %% 셀 구분)코드 보기
01_02_greek_letters_math_symbols.ipynb같은 코드를 블록당 셀 1개로 담은 주피터 노트북보기 · Colab
README.md코드 블록 목록 · 실행 방법 · 검증 결과보기

🧪 저장소 검증 상태: 🧩 문맥 필요(조각) — 기호별 한두 줄짜리 예시 100개 모음 — 대부분 theta, x, grad 등 미리 정의된 변수를 가정한 조각이라 단독 실행되지 않습니다. Block 7(break 조각)은 .py 에서 주석 처리.

🔑 핵심 코드 1 — 경사하강법 갱신식 θ ← θ − α∇L(θ) — NumPy·PyTorch

📄 01_02_greek_letters_math_symbols.py L17–L19 · Block 1 (01-02-D 🔵 🚀 ML 공식 100가지 낭독 훈련 — 읽는 법·기호·뜻·용도·파이썬)

theta = theta - alpha * grad          # NumPy
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
optimizer.step()                      # PyTorch

📝 이 코드는 단독으로 실행되지 않아 실행 결과를 싣지 않았습니다. 실제로 실행해 보면 NameError: name 'theta' is not defined — 앞에서 정의된 변수·모델을 가정한 설명용 코드 조각입니다.

🔑 핵심 코드 2 — 교차 엔트로피 손실 — PyTorch와 NumPy 두 가지 표현

📄 01_02_greek_letters_math_symbols.py L88–L89 · Block 15 (01-02-D 🔵 🚀 ML 공식 100가지 낭독 훈련 — 읽는 법·기호·뜻·용도·파이썬)

loss = torch.nn.CrossEntropyLoss()(logits, labels)   # softmax 내장
loss = -np.sum(y_onehot * np.log(y_pred + 1e-12))

📝 이 코드는 단독으로 실행되지 않아 실행 결과를 싣지 않았습니다. 실제로 실행해 보면 NameError: name 'logits' is not defined — 앞에서 정의된 변수·모델을 가정한 설명용 코드 조각입니다.

📝 실행 메모

  • 이 장의 코드 블록 101개 중 97개는 앞에서 정의된 변수(theta, grad, x 등)를 가정한 한두 줄짜리 설명용 조각이라 단독 실행하면 NameError가 납니다. 수식과 코드를 짝지어 읽는 용도로 보시고, 실제로 돌아가는 계산 예제는 01-03 벡터 장부터 이어집니다.

☁️ Colab에서 바로 실행

👉 Open in Colab — 01_02_greek_letters_math_symbols.ipynb · 설치 없이 브라우저에서 셀을 위에서부터 순서대로 실행하세요.

🖥️ 내 컴퓨터에서 실행하기

git clone https://github.com/otoloism/Zero_to_ML_Master.git
cd Zero_to_ML_Master
python -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -r book/requirements.txt   # 책 전체용 (PyTorch 등 포함, 용량 큼)
# 이 장만 실행한다면 이것만으로 충분합니다: pip install numpy pandas scikit-learn scipy
cd book/01-ml-math-basics-python/01-02-greek-letters-math-symbols
python 01_02_greek_letters_math_symbols.py

⚠️ 이 장의 .py는 설명용 조각 모음이라 위처럼 한 번에 실행하면 첫 조각에서 NameError로 멈춥니다. 노트북(Colab)에서 공식별 셀을 골라 읽고, 궁금한 식은 필요한 변수(예: theta, grad)를 직접 만들어 실험해 보세요.

⭐ GitHub Star / Fork

⭐ 코드가 도움이 되셨다면 GitHub 저장소에 Star를 눌러 주세요. 새 장의 코드가 올라올 때 가장 먼저 알 수 있습니다.
🍴 직접 고쳐 보며 실험하고 싶다면 Fork 해서 내 저장소에서 마음껏 바꿔 보세요. 오류 제보·개선 제안은 Issues로 환영합니다!


🔮 다음 글 예고

다음 글은 01-02 그리스 문자와 수학 기호 (2부) — ML 공식 51~100번 🔤 입니다. 내적과 행렬 곱 같은 선형대수, KL 발산·엔트로피 같은 정보이론과 거리, softmax(QK⊤/dk)V\mathrm{softmax}(QK^{\top}/\sqrt{d_k})V로 대표되는 어텐션과 트랜스포머, 강화학습의 벨만 방정식, 그리고 평가지표와 생성모델까지 나머지 50개 공식을 읽고, 연습문제로 마무리합니다.

⬅️ 이전 글: #11 머신러닝에 수학이 왜 필요할까? — 라면과 요리로 보는 AI 수학 공부법 (파이썬 20줄 맛보기) \
➡️ 다음 글: #13 머신러닝 공식 100선 읽기 — 선형대수·정보이론·어텐션·강화학습·평가지표 (2부)


📚 더 깊이 공부하고 싶다면

이 시리즈는 수학을 놓았던 비전공자가 AI를 직접 구현하기까지의 공부 기록을 그대로 옮긴 연재입니다. 원문 책, 코드, 개념 사전을 함께 보면 훨씬 빨리 늡니다. 🚀

바로가기이런 분께
📘 책 (위키독스, 무료)Zero to 머신러닝 딥러닝 Master5권 · 20개 장 · 163개 절 전체를 순서대로 읽고 싶은 분
📄 이 글의 원문01-02 그리스 문자와 수학 기호 — ML 수식의 알파벳 (예제 100선) (1부)연습문제·해설까지 전부 보고 싶은 분
💻 실습 코드 (GitHub)otoloism/Zero_to_ML_Master.py·.ipynb를 Colab에서 바로 돌려보고 싶은 분
🏠 머신러닝 백과사전mldict.net본문 속 핵심 개념을 카드로 다시 확인하고 싶은 분
✍️ 기술 블로그wikidocs.net/blog/@mldict새 글 알림을 가장 먼저 받고 싶은 분

⭐ 도움이 되셨다면 velog 팔로우와 GitHub Star를 눌러 주세요. 다음 글을 쓰는 가장 큰 힘이 됩니다. 궁금한 점은 댓글로 편하게 남겨 주세요! 🙌

profile
자유주의자

0개의 댓글