목차9개 항목
출처와 참고
고려사이버대학교 「대학일반수학」(2024-1학기) 강의 내용을 바탕으로 정리했다.
미분은 "지금 이 순간 얼마나 빨리 변하는가", 적분은 "그 변화가 쌓이면 얼마인가"를 묻는다. 둘은 서로 거꾸로 된 연산이다. 개발자에게는 머신 러닝의 경사 하강법, 물리 시뮬레이션, 최적화 문제에서 다시 만난다.
극한과 연속
극한 lim_{x→a} f(x) = L은 x를 a에 한없이 가깝게 할 때 f(x)가 L에 한없이 가까워진다는 뜻이다. x = a에서 함수값이 정의되어 있지 않아도 극한은 있을 수 있다. 왼쪽에서 다가갈 때와 오른쪽에서 다가갈 때의 값(좌극한·우극한)이 같아야 극한이 존재한다.
예를 들어 4시간마다 약을 주사하는 환자의 혈중 약물량은 주사 직전에 가장 낮다가 주사 순간 뛰어오른다. 그 시각에서 좌극한과 우극한이 달라 그래프가 끊긴다.
연속은 끊김이 없다는 뜻이다. lim_{x→a} f(x) = f(a)이면 x = a에서 연속이다. 연속 함수에는 중간값 정리가 성립한다. 닫힌 구간 [a, b]에서 연속인 f가 f(a)와 f(b) 사이의 모든 값을 어딘가에서 반드시 지난다. 방정식의 근을 반씩 좁혀 찾는 이분법이 이 정리에 기대고 있고, 이분 탐색과 같은 발상이다.
도함수: 순간변화율
평균변화율은 두 점을 잇는 직선의 기울기 (f(x+h) − f(x)) / h다. h를 0으로 보내면 한 점에서의 접선 기울기, 즉 순간변화율이 된다.
f'(x) = lim_{h→0} (f(x+h) − f(x)) / h위치 함수 x(t)를 미분하면 속도 v(t) = x'(t), 한 번 더 미분하면 가속도 a(t) = v'(t) = x''(t)다. 다리 위에서 돌을 떨어뜨리면 떨어진 거리가 시간의 제곱에 비례하므로(y = h₀ − 4.9t²) 속도는 y' = −9.8t, 가속도는 일정한 −9.8 m/s²이다.
미분 규칙
| 규칙 | 식 |
|---|---|
| 거듭제곱 | (xⁿ)' = n·xⁿ⁻¹ |
| 상수배·합 | (c·f + g)' = c·f' + g' |
| 곱 | (f·g)' = f'·g + f·g' |
| 몫 | (f/g)' = (f'·g − f·g') / g² |
| 연쇄 법칙(합성 함수) | (f(g(x)))' = f'(g(x)) · g'(x) |
연쇄 법칙이 가장 중요하다. 바깥 함수를 미분하고 안쪽 함수의 미분을 곱한다. 예: (sin(2x + 2))' = cos(2x + 2) · 2. 신경망의 오류 역전파는 연쇄 법칙을 층마다 거꾸로 적용하는 알고리즘이다.
자주 쓰는 도함수
| 함수 | 도함수 |
|---|---|
eˣ | eˣ |
aˣ | aˣ · ln a |
ln x | 1/x |
sin x | cos x |
cos x | −sin x |
tan x | sec² x |
삼각함수의 도함수는 lim_{θ→0} sin θ / θ = 1이라는 극한에서 출발한다. 이 극한 덕분에 sin을 미분하면 cos이 나온다.
미분으로 최적화하기
f'(x)의 부호가 함수의 모양을 알려 준다.
f'(x) > 0인 구간에서 f는 증가하고,f'(x) < 0인 구간에서 감소한다.- 증가에서 감소로 바뀌는 점(f' = 0)이 극대, 감소에서 증가로 바뀌는 점이 극소다.
- 닫힌 구간의 최댓값·최솟값은 f' = 0인 점과 구간 양 끝 중에서 나온다.
예: 둘레가 20m인 울타리로 만들 수 있는 가장 넓은 직사각형. 가로를 x라 하면 세로는 10 − x, 넓이는 A(x) = x(10 − x). A'(x) = 10 − 2x = 0에서 x = 5, 정사각형일 때 넓이 25m²가 최대다.
식이 복잡해 f' = 0을 직접 풀 수 없으면 기울기 반대 방향으로 조금씩 움직이는 경사 하강법을 쓴다. 머신 러닝에서 손실 함수를 줄이는 방법이 이것이다(머신 러닝 기초).
def derivative(f, x, h=1e-6):
return (f(x + h) - f(x - h)) / (2 * h) # 중앙 차분: 오차가 h²에 비례
def gradient_descent(f, x, lr=0.1, steps=100):
for _ in range(steps):
x -= lr * derivative(f, x)
return x
loss = lambda x: (x - 3) ** 2 + 1
gradient_descent(loss, x=0.0) # 약 3.0 (최솟값 위치)적분: 변화의 누적
부정적분
미분해서 f가 되는 함수 F를 f의 부정적분(원시함수)이라 하고 ∫ f(x) dx = F(x) + C로 쓴다. 상수는 미분하면 사라지므로 C(적분 상수)가 붙는다. 미분 표를 거꾸로 읽으면 된다.
| 함수 | 부정적분 |
|---|---|
xⁿ (n ≠ −1) | xⁿ⁺¹ / (n+1) + C |
1/x | ln|x| + C |
eˣ | eˣ + C |
sin x | −cos x + C |
cos x | sin x + C |
sec² x | tan x + C |
정적분과 미적분학의 기본 정리
정적분 ∫_a^b f(x) dx는 구간 [a, b]를 잘게 나눠 f(x) × 폭을 모두 더한 값의 극한이다. f가 양수면 그래프 아래 넓이다.
미분과 적분을 잇는 것이 미적분학의 기본 정리다.
∫_a^b f(x) dx = F(b) − F(a) (F' = f)넓이를 구하려고 무한히 많은 직사각형을 더할 필요 없이, 원시함수 하나를 찾아 양 끝값의 차만 구하면 된다.
속도를 적분하면 이동 거리가 된다. 시속 80km(약 22.2m/s)로 달리던 차가 매초 7m/s씩 감속하면 v(t) = 22.2 − 7t이고 약 3.2초 뒤 멈춘다. 멈출 때까지 간 거리는 ∫₀^3.2 v(t) dt ≈ 35m다.
원시함수를 구하기 어려우면 구간을 잘게 나눠 직접 더한다(수치 적분).
def integrate(f, a, b, n=10_000):
h = (b - a) / n
s = (f(a) + f(b)) / 2
for i in range(1, n):
s += f(a + i * h)
return s * h # 사다리꼴 공식
integrate(lambda t: 22.2 - 7 * t, 0, 22.2 / 7) # 약 35.2정리
- 극한은 "가까워지는 값", 연속은 "끊기지 않음"이다. 연속 함수에는 중간값 정리가 성립한다.
- 도함수는 순간변화율이고, 연쇄 법칙이 역전파의 바탕이다.
- f'의 부호로 증감과 극값을 찾아 최적화하고, 식을 못 풀면 경사 하강법으로 근사한다.
- 적분은 변화의 누적이며, 미적분학의 기본 정리로 원시함수의 양 끝값 차로 계산한다.
관련 노트: 머신 러닝 기초, 퍼셉트론과 다층 퍼셉트론, 이분 탐색, 선형 점화식의 일반항, 푸리에 변환