[기초수학] 극한과 도함수

7 분 소요

## 이 문서는 성균관대학교 수학과 이상구 교수님의 강의인 인공지능을 위한 기초수학을 정리한 내용입니다.

## 인공지능은 데이터를 바탕으로 모델을 만들고 가장 적합한 파라미터를 찾기 위하여 최적화 과정을 거치게 되는데, 이때 극한과 미분, 도함수의 개념이 필요하다. 최적해는 어떤 집합에서 정의된 함수가 최댓값이나 최솟값을 갖게 하는 해이다. 최적해를 구하는 문제는 도함수의 일반화된 개념과 연산들을 포함된다.

함수의 극한

고등학교에서 배운 지식을 다시 복습해보자.

x가 1에 한없이 가까이 갈 때, f(x) = X^2-1/x-1의 값은 어떻게 될까?

이 함수 f(x)는 x=1에서 분모가 0이 되므로 함숫값이 정의되지 않는다. 그러나 x != 1 일때, f(x)는

위에 제시된 극한의 정의는 고등학교에서 배우는 직관적인 것으로 극한의 엄밀한 정의는 고등학교 수준을 넘는다.

우극한와 자극한이 모두 존재하고, 그 값이 같으면 x=a에서의 극한값이 존재한다고 한다.

함수의 극한에서는 x=a일 때, f(x) 값이 존재여부가 중요하지 않다. 즉 f(a)가 존재하지 않아도 극한은 정의될 수 있다. 만약 f(a)가 정의되고 lim_(x->a)f(x)=f(a)면 f(x)는 x=a에서 연속(continuous)라고 한다.

도함수와 미분

점 P(1, 1)에서 포물선 𝒚 = 𝒙² 에 대한 접선의 방정식을 구하시오.

함수 𝑓(𝒙) 위의 점 P(𝒙₀, 𝑓(𝒙₀)) 에서 접선의 기울기가 𝑚 임을 알면 다음 공식에 의해 접선의 방정식을 쉽게 구할 수 있다.

𝒚 - 𝑓(𝒙₀) = 𝑚(𝒙-𝒙₀)

따라서 𝒚 = 𝒙² 위의 점 P(1,1)에 대하여 기울기는 다음과 같이 놓을 수 있다.

image

이를 그래프로 표현해보자. 포물선 𝒚 = 𝒙² 위의 점 P(1, 1) 근처에서 한 점 Q(𝒙, 𝒙²)를 선택하여 할선 PQ의 기울기를 구해보면,

image

점 Q를 점 P로 이동함에 따라 할선 PQ는 접선에 가까워짐을 볼 수 있다. 따라서 접선의 기울기는 할선 PQ의 기울기의 Q→P일 때의 극한으로 정의하는 것이 타당하다.

포물선 𝒚 = 𝒙² 위의 점 P(1, 1) 에서의 접선의 방정식은 다음과 같다.

𝒚 - 1 = 2(𝒙 - 1) 즉, 𝒚 = 2𝒙 - 1

image

함수 𝑓의 정의역 내에 속하는 점 a에 대하여, 아래 그림과 같은 극한값

이 존재하면 함수 𝑓는 𝒙 = a에서 미분가능(differentiable)하다고 하고, 이 극한값을 𝒙 = a에서의 함수 𝑓의 미분계수(differential coefficient)라 하며 𝑓 ‘(a)로 나타낸다. 앞서 언급한 접선을 생각하면 미분계수는 접선의 기울기를 나타낸다. 따라서 (𝒙₀, 𝑓(𝒙₀))에서의 접선의 방정식은 다음과 같이 쓸 수 있다.

𝒚 - 𝑓(𝒙₀) = 𝑓 ‘(𝒙₀)(𝒙 - 𝒙₀)

𝑓(𝒙)는 𝒙 = a 에서 미분가능이면 𝒙 = a 에서 연속이다 (그러나 역은 성립하지 않는다). 즉 𝑓(𝒙)가 𝒙 = a 에서 연속이라도 반드시 미분가능인 것은 아니다.

image

𝒚 = 𝑓(𝒙)가 어떤 구간의 각 점 𝒙에서 미분가능일 때 𝑓(𝒙)는 이 구간에서 미분가능이라고 한다. 이 경우 각 점 𝒙에 그 점에서의 미분계수를 대응시킴으로써 정해지는 함수를 𝑓(𝒙)의 도함수(derivative)라 하고 다음 기호들로 나타낸다.

image

함수 𝑓(𝒙)의 도함수를 구하는 것을 𝑓(𝒙)를 미분한다(differentiate)고 하고, 함수 𝒚 = 𝑓(𝒙)의 아래와 같은 도함수는 식으로 구한다.

image

따라서 어떤 함수를 미분하여 얻은 그 함수가 도함수이고, 거기에 변수의 값을 대입하면 그 점에서의 미분계수가 나오는 것이다.

함수 𝒚 = 𝑓(𝒙)의 도함수 𝒚’ = 𝑓 ‘(𝒙)가 다시 미분가능이면 그 도함수 (𝒚’)’를 𝒚 = 𝑓(𝒙)의 2계 도함수(2nd derivative)라 하고, 2계 도함수가 또 다시 미분가능이면 3계 도함수(3rd derivative)를 생각할 수 있게 된다. 이와 같이 𝒚 = 𝑓(𝒙)를 계속하여 n번 미분하면 n계 도함수가 정의되며, n계 도함수(n-th derivative)는 다음 기호로 나타낸다.

𝑓⁽ⁿ⁾(𝒙)가 존재하는 경우 𝑓(𝒙)는 n번 미분가능하다고 하며, 미분계수의 응용인 속도와 가속도는 각각 거리를 나타내는 함수의 1계 도함수와 2계 도함수의 예이다.

미분에 관하여 다음과 같은 성질이 있다.

image

1계 도함수의 응용

함수의 1계 도함수를 이용하여 함수의 증가, 감소를 판단하고, 함수의 2계도함수를 이용하여 함수의 오목, 볼록성 판단하는 방법을 알아보자.

함수 𝑓가 구간 𝐼에서 정의되어 있을 때, 𝐼 내의 𝒙₁ <𝒙₂인 임의의 두 점 𝒙₁, 𝒙₂에 대하여 𝑓(𝒙₁)<𝑓(𝒙₂)를 만족하면 𝑓는 구간 𝐼에서 증가(increasing)한다고 하며, 𝒙₁ <𝒙₂인 𝐼 내의 임의의 두 점 𝒙₁, 𝒙₂에 대하여 𝑓(𝒙₁)>𝑓(𝒙₂)를 만족하면 𝑓는 구간 𝐼에서 감소(decreasing)한다고 한다. 도함수는 다음과 같이 함수가 증가하거나 감소하는 상황을 알려준다.

image

복잡하게 보이지만, 위 그림에서 쉽게 확인해볼 수 있다. 주어진 구간에서 함수값이 항상 증가하면, 함수가 주어진 구간에서 증가한다는 의미이고, 그 구간에서 x_1보다 X_2가 큰데, f(x_2)보다 항상 더 작으면 그림에서 보듯이 감소한다고 이야기하는 것이다.

함수 𝑓가 폐구간 [a, b]에서 연속이고 개구간 (a, b)에서 미분가능하다고 하자. 그러면 다음이 성립한다.

① 구간 (a, b)내의 모든 점에서 𝑓 ‘(𝒙) > 0 이면, 𝑓는 [a, b]에서 증가한다.

② 구간 (a, b)내의 모든 점에서 𝑓 ‘(𝒙) < 0 이면, 𝑓는 [a, b]에서 감소한다.

즉 도함수는 그 함수가 증가하냐, 감소하냐에 대한 답을 제공한다는 의미이다.

예를 들어, 𝑓 ‘(c) > 0 이면 𝒙 = c 에서의 접선의 기울기가 양수이므로, 𝒙 = c 의 근방에서는 함수가 증가함을 알 수 있다. 마찬가지로 𝑓 ‘(c) < 0 이면 𝒙 = c 의 근방에서는 함수가 감소함을 알 수 있다.

예1) 함수 𝑓(𝒙) = 𝒙³-6𝒙²+9𝒙+1이 증가하는 구간과 감소하는 구간을 구하시오.

f(x) = x^3 - 6*x^2 + 9*x + 1
df(x) = diff(f(x), x)
p = plot(f(x), (x, -1, 4), ymin = -5)  # 함수의 그래프
show(p)
print("f'(x) = ", df(x))  # 도함수
solve(df(x) > 0, x)  # 도함수가 0보다 크게 되는 x값의 범위

image

그래프와 x값의 범위를 보면 알 수 있는것 처럼 함수는 x<1, x>3일 때 증가, 1<x<3일 때 감소한다.

2계 도함수의 응용

함수 𝑓가 𝒙 = c에서 미분가능하고 (c, 𝑓(c))가 곡선 𝒚 = 𝑓(𝒙) 위의 점이라 할 때, 점 c를 포함하는 적당한 개구간 𝐼가 존재하여 𝒙 ≠ c 인 구간 𝐼의 각 점 𝒙에 대응하는 곡선 위의 모든 점 (𝒙. 𝑓(𝒙))가 점 (c. 𝑓(c))에서의 접선 아래쪽에 있으면 곡선 𝒚 = 𝑓(𝒙)는 점 (c. 𝑓(c))에서 위로 볼록 또는 아래로 오목하다고 하고, 반대로 접선의 위쪽에 있으면 아래로 볼록 또는 위로 오목하다고 한다.

또, 곡선 𝒚 = 𝑓(𝒙)가 점 𝒙 = c에서 연속일 때 (𝑓 ‘(c))는 존재하지 않아도 무방함), 곡선 위의 점 (c, 𝑓(c))를 경계로 한쪽에서는 위로 볼록하고 다른 쪽에서는 아래로 볼록할 때, (c. 𝑓(c))를 곡선 𝒚 = 𝑓(𝒙)의 변곡점이라 한다. 2계 도함수는 다음과 같이 함수가 위로 볼록하거나 아래로 볼록하는 상황을 알려준다.

image

함수 𝑓가 점 c를 포함하는 적당한 개구간 𝐼에서 미분가능하고 𝑓 ‘‘(c)가 존재할 때, 다음이 성립한다.

① 𝑓 ‘‘(c) > 0 이면, 곡선 𝑓는 점 (c, 𝑓(c)) 에서 아래로 볼록하다.

② 𝑓 ‘‘(c) < 0 이면, 곡선 𝑓는 점 (c, 𝑓(c)) 에서 위로 볼록하다.

이를 조금 풀어서 설명하면, 이계도함수의 부호가 양수라는 것은 도함수를 미분했을 때 양수라는 것이므로, 도함수가 증가한다는 이야기이다. 즉, 접선의 기울기가 증가한다는 의미이다. 그리고 이계도함수의 부호가 음수라는 것은 도함수를 미분했을 때, 음수라는 것이므로 도함수가 감소한다는 의미이다. 이것은 접선의 기울기가 감소한다는 의미이다.

image

극대,극소,최대,최소

𝑓(𝒙)가 폐구간 [a, b] 에서 연속이면 이 구간에서 𝑓(𝒙)가 최댓값을 취하는 점 및 최솟값을 취하는 점이 존재한다.

이 점을 구하기 위해서는 먼저 극대, 극소에 관하여 알아야 한다.

함수 𝑓 가 𝒙 = c 의 근방의 모든 점 𝒙에 대하여 𝑓(𝒙) ≤ 𝑓(c) 가 성립하면 함수 𝑓 는 𝒙 = c 에서 극댓값 𝑓(c)를 갖는다. 반대로 함수 𝑓 가 𝒙 = c 의 근방의 모든 점 𝒙에 대하여 𝑓(𝒙) ≥ 𝑓(c) 가 성립하면 함수 𝑓 는 𝒙 = c 에서 극솟값 𝑓(c)를 갖는다. 또, 𝑓 의 극댓값과 극솟값을 통틀어 극값이라 하고, 극대점 또는 극소점 (c, 𝑓(c))를 극점(extreme point)이라 한다.

image

그림에서 볼 수 있듯이, 극댓값을을 다 구하고, 그 전체 중에서 가장 큰 값이 최댓값이고 그 중 가장 작은 값이 최솟값이 된다.

극값이 생길 수 있는 후보들은 𝑓 ‘(c) = 0 이거나 𝑓 ‘(c)가 존재하지 않는 점 𝒙 = c 이다. 함수의 미분계수가 0이거나 존재하지 않는 점을 함수의 임계점(critical point)이라고 한다.

[Fermat의 임계점 정리]

함수 𝑓 가 개구간 (a, b)에서 연속이고 𝒙 = c(∈(a, b))에서 극값을 갖는다면, 𝑓 ‘(c) = 0 이거나 𝑓 ‘(c)가 존재하지 않는다.

fermat의 임계점 정리에서 우리가 극값을 찾는다면, 𝑓 ‘(c) = 0 이거나 𝑓 ‘(c)가 존재하지 않는 점들만 찾으면, 극값은 그 중에서 존재한다고 이해하면 된다.

예3) 함수 𝑓(𝒙) = -2𝒙³+3𝒙²의 임계점을 구하시오.

f(x) = -2*x^3 + 3*x^2
df(x) = diff(f(x), x) # 1차 도함수를 구하고
solve(df(x) == 0, x) # 1차 도함수의 값이 0 인 해를 찾는다.

𝑓 ‘ = -6𝒙²+6𝒙 = 0에서 임계점은 𝒙 = 0 또는 𝒙 = 1 이다.

도함수를 이용하면 극댓값과 극솟값을 쉽게 판정할 수 있다. 함수 𝑓 가 정의역 내의 한 점 c 에서 𝑓 ‘과 𝑓 ‘‘을 가지며, 𝑓 ‘(c) =0일 때,

① 𝑓 ‘‘(c) < 0이면, 𝑓 (c)는 함수 𝑓 의 극댓값이다.

② 𝑓 ‘‘(c) > 0이면, 𝑓 (c)는 함수 𝑓 의 극솟값이다.

𝑓 ‘‘(c) < 0이면 점 (c, 𝑓(c))에서 위로 볼록인데, 𝑓 ‘(c) =0 이므로 다음 그림에서 𝑓 (c)는 함수 𝑓 의 극댓값임을 쉽게 알 수 있다. 마찬가지로 𝑓 ‘‘(c) > 0이면 아래로 볼록이므로 𝑓 (c)는 함수 𝑓 의 극솟값임을 알 수 있다.

image

폐구간에서 연속인 함수 𝑓의 최댓값과 최솟값은 임계점에서의 함숫값과 구간의 양 끝점에서의 함숫값을 비교하여 구하면 된다.

[1 단계] 구간 𝐼 에서 𝑓 의 임계점들을 찾는다.

[2 단계] 이 각각의 임계점들과 양 끝점에서 𝑓 의 값을 계산한다. 그 중 가장 큰 값이 최댓값이고, 가장 작은 값이 최솟값이다.

예4) 함수 𝑓(𝒙) = ⅓𝒙³-𝒙²-3𝒙+4가 구간 [-2. 6]에서 정의되었다고 할 때, 𝑓의 극댓값과 극솟값을 구하라. 또, 𝑓의 최댓값과 최솟값을 구하라

f(x) = 1/3*x^3 - x^2 - 3*x + 4
df(x) = diff(f(x), x)
d2f(x) = diff(df(x), x)
solve(diff(f(x)) == 0, x)  # 여기까지 실행하면 [x == 3, x == -1]을 얻음

print(d2f(3), d2f(-1))  # 3일 때 극댓값, -1일 때 극솟값
print("극댓값 =", f(3))
print("극솟값 =", f(-1))
print(f(-2), f(6))  # 구간의 양 끝점에서의 함숫값과 비교

-4 4 극댓값 = 17/3 극솟값 = -5 10/3 22

Fermat의 읨계점 정리에 의해 최적해(Optimal solution) X*는 다음을 만족한다.

𝑓 ‘(x*) =0

따라서 방정식 𝑓 ‘(x) =0을 풀어서 나온 해들이 최적해가 되는지 판단하면 되는데, 그러나 함수 𝑓가 복잡한 경우는 방정식을 풀어서 임계점을 구하는 것이 쉽지 않다. 이러한 경우 수치적인 방법으로 임계점을 구하는데, 대표적인 방법이 경사하강법(Gradient descent method)이다.