머신러닝 모델 학습은 최적화(Optimization) 입니다.
- 회귀(Regression): 데이터 포인트를 가장 잘 설명하는 직선 찾기
- 분류(Classification): 데이터를 가장 잘 나누는 경계선 찾기
두 경우 모두 처음에는 임의의 선에서 시작해, 점차 가장 적합한 위치로 조정(tweak) 해나갑니다. 이 과정을 최적화라 부르고, 어느 방향으로 얼마나 조정할지를 알려주는 것이 바로 미분입니다.
자동차의 속도계를 생각해봅시다. 전체 여정의 평균 속도는 쉽게 구할 수 있습니다.
평균 속도=Δ시간Δ거리=t2−t1y(t2)−y(t1)
하지만 특정 순간의 속도는 어떻게 구할까요? 시간 간격을 점점 줄여나가면 됩니다.
순간 속도=limΔt→0ΔtΔy
이것이 바로 도함수(Derivative) — 함수의 순간 변화율입니다.
예시: t=10∼15초 사이 평균 속도
v=15−10y(15)−y(10)=5202−122=16 m/s
t=12∼13초 사이로 좁히면 t=12.5초의 근사 순간 속도를 구할 수 있습니다.
핵심 비유: 거리 = 함수 f(x), 속도 = 도함수 f′(x)
순간 변화율 은 그래프 위 한 점에서의 접선(tangent line)의 기울기와 같습니다.
접선이란 곡선 위의 한 점에 닿되, 그 점에서 곡선을 가로지르지 않는 직선입니다.
f′(x)=limΔx→0Δxf(x+Δx)−f(x)
도함수=접선의 기울기
함수의 최대·최소는 어디서 일어날까요?
핵심 원리: 함수의 최댓값 또는 최솟값은 도함수가 0인 점(기울기 = 0인 점)에서 발생합니다.
f′(x)=0⇒최댓값 또는 최솟값 후보
| 도함수 부호 | 의미 |
|---|
| f′(x)>0 | 함수가 증가 중 |
| f′(x)=0 | 기울기 0 — 극값(최대/최소) 후보 |
| f′(x)<0 | 함수가 감소 중 |
실무에서는? 손실 함수의 미분이 0이 되는 지점이 모델의 최적 파라미터입니다. 경사 하강법(Gradient Descent)은 이 지점을 향해 조금씩 이동합니다.
도함수를 표기하는 방법은 여러 가지입니다.
| 표기 | 의미 |
|---|
| f′(x) | 라그랑주 표기법 |
| dxdf | 라이프니츠 표기법 |
| f˙ | 뉴턴 표기법 (주로 시간 미분) |
f(x)=c⇒f′(x)=0
상수는 변하지 않으므로 변화율이 0입니다.
f(x)=ax+b⇒f′(x)=a
기울기 a 가 일정하므로 모든 점에서 도함수 = a. 상수항 b 는 변화율에 영향 없음.
f(x)=x2⇒f′(x)=2x
직관적 유도:
Δx(x+Δx)2−x2=Δx2xΔx+(Δx)2=2x+ΔxΔx→02x
f(x)=xn⇒f′(x)=nxn−1
규칙: 지수를 계수로 내리고, 지수를 1 줄입니다.
| 함수 | 도함수 |
|---|
| x3 | 3x2 |
| x4 | 4x3 |
| x−1 | −x−2 |
| x=x1/2 | 21x−1/2 |
역함수는 원래 함수가 입력에 한 일을 되돌리는 함수입니다.
g=f−1⇒g′(x)=f′(g(x))1
역함수의 도함수 = 원함수 도함수의 역수
dxdsin(x)=cos(x)
dxdcos(x)=−sin(x)
dxdtan(x)=sec2(x)
직관: Δx 를 극한으로 줄이면 삼각형의 빗변이 Δx 에 수렴하고, 이를 정리하면 삼각함수 미분 공식이 도출됩니다.
은행 이자를 예시로:
e=limn→∞(1+n1)n≈2.71828…
n 이 커질수록 결과값이 e 에 수렴합니다.
dxdex=ex
ex 는 자기 자신이 도함수인 유일한 함수입니다. 미분해도 변하지 않습니다.
실무에서는? 시그모이드 함수 σ(x)=1+e−x1 의 미분이 딥러닝 역전파(backpropagation)의 핵심입니다.
dxdln(x)=x1
관계: ln(x) 는 ex 의 역함수이므로, 역함수 미분 법칙에 의해 x1 가 됩니다.
모든 함수가 모든 점에서 미분 가능한 것은 아닙니다.
| 경우 | 예시 | 이유 |
|---|
| 꺾임점 (Cusp) | ∥x∥ 의 x=0 | 좌미분 ≠ 우미분 |
| 불연속점 (Jump) | 계단 함수 | 해당 점에서 함수가 정의 불연속 |
| 수직 접선 | x1/3 의 x=0 | 기울기 = ∞ (0으로 나누기) |
이러한 함수들을 미분 불가능 함수(Non-differentiable function) 라고 합니다.
실무에서는? ReLU 활성화 함수 max(0,x) 는 x=0 에서 미분 불가능하지만, 실제로는 0 또는 1 중 하나를 사용하는 근사(subgradient) 방식으로 학습합니다.
dxd[c⋅f(x)]=c⋅f′(x)
함수에 상수를 곱하면, 도함수도 그 상수를 곱한 값이 됩니다.
dxd[5x3]=5⋅3x2=15x2
dxd[f(x)+g(x)]=f′(x)+g′(x)
두 함수의 합의 도함수 = 각 도함수의 합.
f(x)=2x, g(x)=x2⇒(f+g)′(x)=2+2x
직관: 기차 위를 달리는 아이의 속도 = 기차 속도 + 아이 속도
dxd[f(x)⋅g(x)]=f′(x)g(x)+f(x)g′(x)
예시: f(x)=xex
f′(x)=(x)′⋅ex+x⋅(ex)′=ex+xex=ex(1+x)
합성 함수의 미분 법칙입니다.
dxd[f(g(x))]=f′(g(x))⋅g′(x)
직관: 높이 → 온도 → 시간 의 변화율을 알 때:
d시간d온도=d높이d온도×d시간d높이
예시: f(x)=e2x
g(x)=2x,f(g)=eg
f′(x)=e2x⋅(2x)′=2e2x
실무에서는? 딥러닝의 역전파(Backpropagation) 는 연쇄 법칙을 반복 적용해 각 레이어의 기울기를 계산하는 알고리즘입니다.
| 함수 | 도함수 |
|---|
| c (상수) | 0 |
| xn | nxn−1 |
| ex | ex |
| ln(x) | x1 |
| sin(x) | cos(x) |
| cos(x) | −sin(x) |
| tan(x) | sec2(x) |
| 법칙 | 공식 |
|---|
| 스칼라 곱 | (cf)′=cf′ |
| 합의 법칙 | (f+g)′=f′+g′ |
| 곱의 법칙 | (fg)′=f′g+fg′ |
| 연쇄 법칙 | (f∘g)′=f′(g)⋅g′ |
Q1. 다음 함수를 미분하세요.
f(x)=3x4−2x2+5x−7
정답 보기
합의 법칙 + 스칼라 곱 + 거듭제곱 법칙 적용:
f′(x)=12x3−4x+5
Q2. f(x)=x2ex 를 미분하세요.
정답 보기
곱의 법칙: (fg)′=f′g+fg′
f′(x)=2x⋅ex+x2⋅ex=ex(2x+x2)=xex(x+2)
Q3. f(x)=ln(x2+1) 을 미분하세요.
정답 보기
연쇄 법칙: g(x)=x2+1, f(g)=ln(g)
f′(x)=x2+11⋅2x=x2+12x
Q4. 다음 중 x=0 에서 미분 불가능한 함수는?
- f(x)=x2
- f(x)=∣x∣
- f(x)=ex
- f(x)=sin(x)
정답 보기
2번 f(x)=∣x∣
x=0 에서 좌미분 = −1, 우미분 = 1 로 서로 달라 미분이 존재하지 않습니다. (꺾임점, Cusp)
Q5. f(x)=sin(3x2) 을 미분하세요.
정답 보기
연쇄 법칙 2번 적용: h(x)=3x2, g(h)=sin(h)
f′(x)=cos(3x2)⋅6x=6xcos(3x2)
다음 글에서는 최적화(Optimization), 편미분(Partial Derivative), 그래디언트(Gradient) 와 경사 하강법을 다룰 예정입니다.