Code › codeit-ai-sprint

평균변화율에서 미분까지

머신러닝 기본기 강의에서 다시 정리한 함수, 변화율, 미분의 기본기

오늘은 선형대수를 지나 평균변화율, 순간변화율, 미분을 배웠다.

이번에 가장 먼저 다시 잡은 건 함수의 의미였다. 함수는 하나의 입력이 들어오면 하나의 출력이 정해지는 관계다. 예를 들어 y=3x+6y = 3x + 6이라는 식이 있으면 yyxx에 따라 결정되고, 이를 f(x)=3x+6f(x) = 3x + 6처럼 쓸 수 있는데, 입력이 꼭 하나일 필요는 없고 f(x,y)=x+2yf(x, y) = x + 2y처럼 입력이 여러 개인 함수도 있다.


기울기는 결국 변화율이다. 직선 y=2x+1y = 2x + 1에서 기울기 2는 xx가 1만큼 늘어날 때 yy가 2만큼 늘어난다는 뜻. 두 점을 잡으면 기울기는 yy의 변화량 / xx의 변화량으로 계산할 수 있다.

기울기=ΔyΔx=y2y1x2x1\text{기울기} = \frac{\Delta y}{\Delta x} = \frac{y_2 - y_1}{x_2 - x_1}

여기서 살짝 궁금했던 건 순서였다. 꼭 x2x1x_2 - x_1을 분모로 두어야 할까. 결론은 순서만 맞추면 상관없다. 분모를 x1x2x_1 - x_2로 잡으면 분자도 y1y2y_1 - y_2로 잡아야 한다.

y1y2x1x2=(y2y1)(x2x1)=y2y1x2x1\frac{y_1 - y_2}{x_1 - x_2} = \frac{-(y_2 - y_1)}{-(x_2 - x_1)} = \frac{y_2 - y_1}{x_2 - x_1}

중요한 건 어느 방향으로 뺄지 일관되게 정하는 것이다. 한쪽만 순서를 바꾸면 부호가 달라지지만, 분자와 분모를 같은 방향으로 맞추면 같은 기울기가 나온다.


직선은 어느 지점에서 재도 기울기가 일정하지만, 곡선은 그렇지 않다. y=x22x+1y = x^2 - 2x + 1 같은 곡선은 위치마다 휘어진 정도가 다르기 때문에 전체를 대표하는 하나의 기울기를 말하기 어렵다. 그래서 특정 지점에서의 기울기, 즉 접선의 기울기를 구해야 한다.

문제는 기울기를 구하려면 원래 점이 두 개 필요하다는 점이다. 점 하나에서의 기울기를 구하려면 일단 곡선 위의 두 점을 잡고 평균변화율을 구한 뒤, 두 점 사이의 간격을 점점 줄여야 한다.

평균변화율=f(b)f(a)ba\text{평균변화율} = \frac{f(b) - f(a)}{b - a}

처음에는 이 식이 괜히 어렵게 보였는데, 뜯어보면 앞에서 본 Δy/Δx\Delta y / \Delta x와 같다. yyf(x)f(x)로 표현되니까 y2y_2 대신 f(b)f(b), y1y_1 대신 f(a)f(a)를 쓴 것뿐이다.

그다음 강의에서는 bba+ha + h로 바꿔서 썼다.

f(a+h)f(a)h\frac{f(a + h) - f(a)}{h}

이렇게 바꾸는 이유도 결국 두 점 사이의 간격을 다루기 위해서였다. bab - a라는 거리 자체를 hh라고 두면, 두 점을 겹치게 만드는 과정을 hh를 0에 가깝게 보낸다는 말로 표현할 수 있다. hh가 0에 가까워질수록 평균변화율은 특정 지점의 순간변화율에 가까워진다.

limh0f(a+h)f(a)h\lim_{h \to 0} \frac{f(a + h) - f(a)}{h}

이게 미분의 핵심이었다. 점 하나에서 갑자기 기울기를 꺼내는 게 아니라, 두 점 사이의 평균변화율을 계속 좁혀서 한 지점의 변화율로 보내는 과정이다.


실제로 f(x)=x22x+1f(x) = x^2 - 2x + 1에서 x=2x = 2일 때의 순간변화율을 구해보면, 식을 정리한 뒤 hh를 0으로 보내면서 기울기가 2로 나온다. 특정 값 하나를 넣는 대신 xx를 그대로 둔 채 계산하면 2x22x - 2라는 식이 나오는데, 이것이 미분함수, 즉 도함수(Derivative)다. 원래 함수인 f(x)로부터 유도된 함수라는 뜻.

f(x)=x22x+1f(x) = x^2 - 2x + 1 f(x)=2x2f'(x) = 2x - 2

도함수가 있으면 매번 극한 과정을 처음부터 풀지 않아도 된다. x=2x = 2에서의 기울기가 궁금하면 2x22x - 2에 2를 넣으면 되고, x=5x = 5에서의 기울기가 궁금하면 5를 넣으면 된다. 원래 함수가 위치별 값을 알려준다면, 도함수는 위치별 변화율을 알려주는 함수라고 볼 수 있다.

표기법에도 궁금한점이 있었다. 처음에는 df(x)dx\frac{df(x)}{dx}df(x)dx\frac{d f(x)}{dx}가 갑자기 튀어나온 기호처럼 보였는데, 뜻을 풀어보면 앞에서 계속 봤던 변화량 표기와 연결되어 있었다. Δx\Delta xΔy\Delta y는 실제로 떨어져 있는 두 점 사이의 변화량이고, 여기서 Δ\Delta는 “유한한 차이”라고 볼 수 있다고 한다. 그런데 두 점 사이의 간격을 계속 줄여서 거의 0에 가까운 아주 작은 변화로 보내면, 그때는 Δ\Delta 대신 dd를 써서 dydx\frac{dy}{dx}처럼 적는다.

그래서 dydx\frac{dy}{dx}는 단순한 분수라기보다, xx가 아주 조금 변할 때 yy가 얼마나 변하는지를 나타내는 표기라고 이해하면 된다. df(x)dx\frac{d f(x)}{dx}도 같은 흐름이다. 함수 f(x)f(x)의 값을 yy로 본다면, 결국 f(x)f(x)의 아주 작은 변화량을 xx의 아주 작은 변화량으로 나누어 보겠다는 뜻이고, 그래서 이 함수를 xx에 대해서 미분한다고 말한다.

미분 공식 자체는 익숙했다. 다항함수에서는 차수를 앞으로 내리고, 차수를 하나 줄이면 된다.

x22xx^2 \to 2x 2x2-2x \to -2 101 \to 0

상수항이 사라지는 이유도 공식으로만 보면 x0x^0의 차수 0이 앞으로 내려오기 때문이지만, 직관적으로 봐도 자연스럽다. 미분은 변화율을 보는 일이고, 상수는 변하지 않는다. 변하지 않는 값의 변화율은 0이다.


예전에는 막연하게 넘어갔던 부분을 확실히 짚어서 정리하고 넘어가니 재미가 있는 것 같다.