본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Algorithm

미분과 적분 기초

작성 2026. 10. 31.추가
목차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 x1/x
sin xcos x
cos x−sin x
tan xsec² 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/xln|x| + C
eˣeˣ + C
sin x−cos x + C
cos xsin x + C
sec² xtan 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'의 부호로 증감과 극값을 찾아 최적화하고, 식을 못 풀면 경사 하강법으로 근사한다.
  • 적분은 변화의 누적이며, 미적분학의 기본 정리로 원시함수의 양 끝값 차로 계산한다.

관련 노트: 머신 러닝 기초, 퍼셉트론과 다층 퍼셉트론, 이분 탐색, 선형 점화식의 일반항, 푸리에 변환

댓글

GitHub 계정으로 댓글을 남길 수 있어요.