Search
Duplicate

수학/ 기초 미분 연산

미분(Differential)은 도함수(Derivative)를 구하는 과정을 의미한다. 여기서 도함수는 함수의 입력 값의 차이에 대한 출력 값의 차이의 민감도를 측정하는 방법으로 그 결과를 변화율이나 기울기로 이해할 수 있다.
도함수가 연속인 경우에만 존재하므로 미분은 연속인 경우에만 정의가 되며, 이산인 경우에는 차분(Difference)이라는 방법을 이용한다. 미분을 통해 구한 변화율을 적분하면 변화량이 되지만, 차분은 변화율을 구할 수 없는 대신 변화량을 직접 정의한다.

미분 기호

함수 ff에 대한 미분 기호는 다음과 같다. 분자에는 미분할 대상, 분모에는 그 대상 안의 실제 미분할 매개변수라고 이해하면 쉽다.
f=ddx(f)=ddxf=dfdx=ddx(y)=ddxy=dydxf' = {d \over dx}(f) = {d \over dx} f = {df \over dx} = {d \over dx}(y) = {d \over dx}y = {dy \over dx}
미분을 2번 하는 경우 다음과 같이 표시한다. 이것을 일반화 시키면 nn번에 대해 표기 가능하다.
f=d2dx2(f)=d2dx2f=d2fdx2=d2dx2(y)=d2dx2y=d2ydx2f'' = {d^2 \over dx^2}(f) = {d^2 \over dx^2} f = {d^2 f \over dx^2} = {d^2 \over dx^2}(y) = {d^2 \over dx^2}y = {d^2 y \over dx^2}
일반적으로 미분을 나타내는 식 dfdx{df \over dx}에서 dxdxxx로 함수 ff를 미분한다는 표기일 뿐이지만, 경우에 따라 dxdxxx에 대한 미소변화량을 나타내는 변수로 생각해도 타당하다. 이것은 다음이 성립한다는 뜻이다. 이 경우 함수 f(x)f(x)xx에 대한 미소변화량 dxdx로 나눈다는 의미가 된다. 이는 점 xx에서의 미분이 해당 점에서의 기울기를 의미한다는 점에서 타당하다.
df(x)dx=g(x)df(x)=g(x)dx{df(x) \over dx} = g(x) \Rightarrow df(x) = g(x)dx
이것은 적분에 대해서도 비슷한 개념으로 적용할 수 있다. 다시 말해 아래의 적분은 구간 [,][-\infty, \infty]에 걸쳐 함수 f(x)f(x)xx의 미소변화량 dxdx를 곱한 것을 모두 합한다는 의미로 생각할 수 있다. 이는 애초에 적분이 구간에 걸쳐 미소한 양으로 쪼갠 뒤 그것을 모두 합한다는 의미에서 볼 때 타당하다.
f(x)dx\int_{-\infty}^{\infty} f(x) dx

상수 미분

상수를 미분하면 0이 된다.
ddx(c)=0{d \over dx}(c) = 0

거듭제곱 미분

이는 역수나 제곱근에서도 동일하게 적용할 수 있다.
ddx(xn)=nxn1ddx1x2=ddxx2=2x3=2x3ddxx=ddxx12=12x12\begin{aligned} {d \over dx} (x^n) &= n x^{n-1}\\ {d \over dx} {1 \over x^2} &= {d \over dx} x^{-2} = -2x^{-3} = -{2 \over x^3} \\ {d \over dx} \sqrt{x} &= {d \over dx} x^{1 \over 2} = {1 \over 2}x^{-{1 \over 2}} \end{aligned}
상수가 곱해진 경우는 상수를 미분 연산 밖으로 뺀 후에 계산한다. 이것은 이하 모든 미분 연산에 대해 동일하므로 이후에는 생략.
ddx(2xn)=2ddx(xn)=2nxn1{d \over dx} (2x^n) = 2\cdot{d \over dx} (x^n) = 2 \cdot n x^{n-1}

지수 미분

ddxax=axlogea=axlna (a>0)ddxex=exlogee=ex\begin{aligned} {d \over dx} a^x &= a^x \log_e a = a^x \ln a \ (a > 0) \\ {d \over dx} e^x &= e^x \log_e e = e^x \end{aligned}

로그 미분

ddx(logax)=1xlogea=1xlnaddx(logex)=1xlogee=1x\begin{aligned} {d \over dx}(\log_a x) &= {1 \over x \log_e a} = {1 \over x \ln a} \\ {d \over dx} (\log_e x) &= {1 \over x \log_e e} = {1 \over x} \end{aligned}

삼각함수 미분

ddx(sinx)=cosxddx(cosx)=sinxddx(tanx)=sec2xddx(cotx)=csc2xddx(secx)=secxtanxddx(cscx)=cscxcotx\begin{aligned} {d \over dx} (\sin x) &= \cos x \\ {d \over dx} (\cos x) &= -\sin x \\ {d \over dx} (\tan x) &= \sec^2 x \\ {d \over dx} (\cot x) &= -\csc^2 x \\ {d \over dx} (\sec x) &= \sec x \cdot \tan x \\ {d \over dx} (\csc x) &= -\csc x \cdot \cot x \end{aligned}

미분함수 연산

두 함수 f,gf, g와 상수 cc에 대해 다음의 미분 연산이 성립한다.
ddx(cf+g)=cdfdx+dgdxddx(fg)=fdgdx+gdfdxddx(fg)=f(x)g(x)f(x)g(x)g(x)2\begin{aligned} & {d \over dx}(c f + g) = c {df \over dx} + {dg \over dx} \\ & {d \over dx}(f \cdot g) = f \cdot {dg \over dx} + g \cdot {df \over dx} \\ &{d \over dx} \left( { f\over g} \right) = {f'(x)g(x) - f(x)g'(x) \over g(x)^2}\end{aligned}

편미분(Partial Derivative)

2개의 매개변수를 받는 함수 f(x,y)f(x, y) 에 대해 편미분은 다음과 같이 표기한다.
fx(x,y)=fxfy(x,y)=fy\begin{aligned} f_x(x, y) &= {\partial f \over \partial x} \\ f_y(x, y) &= {\partial f \over \partial y} \end{aligned}
편미분을 2번 할 때는 편미분하는 순서에 따라 다음과 같이 표기한다. 함수 아래첨자는 왼쪽이 먼저하는 것이고, 미분 표기법에서는 오른쪽이 먼저 하는 것이다. 이것을 일반화 시키면 nn번 편미분하는 것에 대해 표기 가능하다.
fxx(x,y)=2fx2fyy(x,y)=2fy2fxy(x,y)=2fyxfyx(x,y)=2fxy\begin{aligned} f_{xx}(x, y) &= {\partial^2 f \over \partial x^2} \\ f_{yy}(x, y) &= {\partial^2 f \over \partial y^2} \\ f_{xy}(x, y) &= {\partial^2 f \over \partial y \partial x} \\ f_{yx}(x, y) &= {\partial^2 f \over \partial x \partial y} \end{aligned}
참고로 편미분을 각각 다른 매개변수로 할 때, 그 순서와 관계 없이 결과가 같아지는데, —위의 예시에서 xx를 먼저하고 yy를 다음에 하는 것이나, yy를 먼저하고 xx를 다음에 하는 것이나 결과가 같다— 이를 슈와르츠 정리(Schwarz’s theorem)라고 한다. 편미분을 하면 다른 매개변수는 상수 취급이 되서 다 날아가기 때문에 어느 것을 먼저하든 상관 없다.

전미분(Total Derivative)

전미분은 각 매개변수의 미소변화량에 따라 함수가 어떻게 변하는지를 나타내는 개념으로, 다른 매개변수를 상수로 취급하는 편미분과 달리 각 매개변수에 대해 개별적으로 편미분을 하고 하나의 함수로 나타낸다. 예컨대 2개의 매개변수를 받는 함수 f(x,y)f(x, y) 에 대해 전미분은 다음과 같이 표기한다. 각각의 매개변수에 대해 미소 변화량이 곱해지는 것에 유의.
df=fxdx+fydydf = {\partial f \over \partial x}dx + {\partial f \over \partial y}dy
함수 f(x,y)=x2+y2f(x, y) = x^2 + y^2에 대한 전미분은 다음과 같이 계산된다. dx,dydx, dy가 각각 곱해지는 것에 주의
df=2xdx+2ydydf = 2xdx + 2ydy

연쇄 법칙(Chain Rule)

합성함수에 대해 미분할 때 Chain Rule이 적용된다.
f(x)=h(g(x))dfdx=dhdgdgdx\begin{aligned} f(x) &= h(g(x)) \\ {df \over dx} &= {dh \over dg} \cdot {dg \over dx} \end{aligned}
일반적으로 log 함수가 내부에 식을 갖고 있다면 내부의 식을 치환한 후 합성 함수로 풀어야 한다. f(x)=ln(ax+b)f(x) = \ln (ax + b)를 미분할 때, g(x)=ax+bg(x) = ax + b로 치환하여 h(x)=lng(x)h(x) = \ln g(x)로 놓고 연쇄법칙으로 계산한다.
ddxln(ax+b)=ddgh(x)ddxg(x)=ddgln(ax+b)ddx(ax+b)=1ax+ba\begin{aligned} {d \over dx} \ln(ax+b) &= {d \over dg} h(x) \cdot {d \over dx}g(x) \\&= {d \over dg} \ln (ax+b) \cdot {d \over dx} (ax+b) \\&= {1 \over ax+b} \cdot a \end{aligned}
결론적으로 이런 형식이 된다.
ddxlnf(x)=1f(x)f(x)=f(x)f(x){d\over dx} \ln f(x) = {1\over f(x)} \cdot f'(x) = {f'(x) \over f(x)}
위 식을 변형하면 이렇게 작성할 수 있다.
f(x)=f(x)lnf(x)f'(x) = f(x) \cdot \ln f(x)
이건 지수 함수에 대해서도 마찬가지로 적용한다. f(x)=eax+bf(x) = e^{ax + b}를 미분할 때, g(x)=ax+bg(x) = ax + b로 치환하여 h(x)=eg(x)h(x) = e^{g(x)}로 놓고 연쇄법칙으로 계산한다. 일반적으로 지수로 올리면 표기가 잘 안보이기 때문에 eax+b=exp(ax+b)e^{ax+b} = \exp(ax+b)로 표기한다.
ddxeax+b=ddgh(x)ddxg(x)=ddgexp(ax+b)ddx(ax+b)=exp(ax+b)a\begin{aligned} {d \over dx} e^{ax+b} &= {d \over dg} h(x) \cdot {d \over dx}g(x) \\&= {d \over dg} \exp (ax+b) \cdot {d \over dx} (ax+b) \\&= \exp(ax+b) \cdot a \end{aligned}
결론적으로 이런 형식이 된다.
ddxef(x)=ef(x)f(x){d\over dx}e^{f(x)} = e^{f(x)} \cdot f'(x)

다변수함수와 연쇄법칙

다변수함수의 미분을 구할 때도 함수가 연결되어 있으면 연쇄법칙이 적용된다. 예컨대 변수 xx를 입력으로 가지는 함수가 f1,f2,...,fnf_1, f_2, ... , f_n과 같이 nn개가 있고 각각의 출력을 y1,y2,...,yny_1, y_2, ... , y_n이라고 하자.
y1=f1(x)y2=f2(x)...yn=fn(x)\begin{aligned} y_1 &= f_1(x) \\ y_2 &= f_2(x) \\ ... \\ y_n &= f_n(x) \end{aligned}
그리고 이 y1,y2,...,yny_1, y_2, ... , y_n 값에 의존하는 다른 함수 gg가 있다고 하자. gg의 출력은 zz라고 한다.
z=g(y1,y2,...,yn)z = g(y_1, y_2, ... , y_n)
이때 변수 xx값의 변화에 따른 zz값의 변화는 다음처럼 계산한다.
dzdx=zy1dy1dx+zy2dy2dx+...+zyndyndx{dz \over dx} = {\partial z \over \partial y_1} {d y_1 \over dx} + {\partial z \over \partial y_2} {d y_2 \over dx} + ... + {\partial z \over \partial y_n} {d y_n \over dx}
이번에는 함수 f1,f2,...,fnf_1, f_2, ... , f_nx1,x2,...,xmx_1, x_2, ... , x_m을 입력으로 가지는 다변수함수라고 하자.
y1=f1(x1,x2,...,xm)y2=f2(x1,x2,...,xm)...yn=fn(x1,x2,...,xm)\begin{aligned} y_1 &= f_1(x_1, x_2, ... , x_m) \\ y_2 &= f_2(x_1, x_2, ... , x_m) \\ ... \\ y_n &= f_n(x_1, x_2, ... , x_m)\end{aligned}
이때의 변수 xx 값의 변화에 따른 xx값의 변화도 마찬가지로 계산할 수 있다.
dzdx1=zy1dy1dx1+zy2dy2dx1+...+zyndyndx1dzdx2=zy1dy1dx2+zy2dy2dx2+...+zyndyndx2...dzdxm=zy1dy1dxm+zy2dy2dxm+...+zyndyndxm\begin{aligned} {dz \over dx_1} &= {\partial z \over \partial y_1} {d y_1 \over dx_1} + {\partial z \over \partial y_2} {d y_2 \over dx_1} + ... + {\partial z \over \partial y_n} {d y_n \over dx_1} \\ {dz \over dx_2} &= {\partial z \over \partial y_1} {d y_1 \over dx_2} + {\partial z \over \partial y_2} {d y_2 \over dx_2} + ... + {\partial z \over \partial y_n} {d y_n \over dx_2} \\ ... \\ {dz \over dx_m} &= {\partial z \over \partial y_1} {d y_1 \over dx_m} + {\partial z \over \partial y_2} {d y_2 \over dx_m} + ... + {\partial z \over \partial y_n} {d y_n \over dx_m} \end{aligned}