본문 바로가기

개념 이론 수학

[수학] 기초 미분 (Basic Derivative)

미분이란?
함수를 작게 나누는것으로 X의 값을 아주 미세하게 변화시킨 후 그 결과값이 어떻게 바뀌는지 보며  0에 가깝게 만드는것.
즉, 특정한 파라미터 값 (input, x)에 대해서 나오는 결과값(output, y)이 변화하는 정도를 (0에 가까운 부분을 찾기 위해) 계산하는 것.

Data Science 에서의 미분은 Simple Linear Regression (단순선형회귀)에서 주로 사용 한다.

== X로 y를 예측할 수 있는 하나의 선을 그린다.

ŷ = b0 + b1x

b0 = y intercept

b1 = Slope

 

 

* 미분 공식 Python

기본 공식 : f′(x)=f(x+Δx)−f(x) / Δx    

 == f(x+Δx)−f(x−Δx) / 2Δx

Δx→0 하지만 실제로 0으로 나눌 수는 없기 때문에 0에 매우 근사한 값을 사용하게 됩니다.

보통  Δx= 1e−5  을 t사용. 이러한 접근 방식을 numerical method 라는 방법으로 표현.

 

* ML에서 많이 쓰이는 미분 공식

1. f(x) = 상수 → f′(x) = 0

f'(x)가 상수 (constant)인 경우에는 x를 아무리 늘리거나 줄여도 늘 같은 숫자이기 때문에 변화가 전혀 없습니다. 그 말은 즉 변화율이 0이기 때문에 미분계수도 늘 0입니다

# 예시 1 : Numerical Method

# f(x) = 5
def f(x):
    return 5

def numerical_derivative(fx, x):
    delta_x = 1e-5

    return (fx(x + delta_x) - fx(x)) / delta_x

print(numerical_derivative(f, 1))

# 예시 2 : Scipy의 derivative 활용
from scipy.misc import derivative

# 두 방법의 결과값 비교
derivative(f,1, dx=1e-6) == numerical_derivative(f, 1)

2.f(x)=ax^n  f′(x)=anx^(n−1)

Power Rule로도 알려져있는 미분법입니다. x 기준으로 n승을 미분할 경우 n을 내려보내서 곱해준 후, 이후에 n승에서 "하나"를 가져왔기 때문에 빼주는 방법.

예시
f(x)=3x^4+10 를 미분
먼저 4승에서 하나를 내려보내서 앞에 있는 3과 곱.
(10은 상수이기 때문에 미분을 하면 0)f′(x)=(4∗3)x^4
이후에는 4승에서 1을 빼줍니다 ("빌려줬기 때문에")f′(x)=(4∗3)x^(4−1)
최종적으로 f(x)의 도함수는 이렇게 계산됩니다.f′(x)=12x^3
x = 2일 때 f'(x)는 다음과 같습니다
f′(2)=96
# 같은 결과를 numerical method를 활용해서 계산해보겠습니다
# 예시 1 :  함수정의하여 미분
def f(x):
    return 3*(x**4) + 10

def numerical_derivative(fx, x):
    delta_x = 1e-5
    return (fx(x + delta_x) - fx(x)) / delta_x

print(numerical_derivative(f, 2))

# 예시 2 : Scipy의 derivative 활용
from scipy.misc import derivative

# 두 방법의 결과값 비교
print(derivative(f,2, dx=1e-5))
derivative(f,2, dx=1e-5) == numerical_derivative(f, 2)  
#delta X의 값은 같지만 Rounding 에러로 인해 두 결과가 미묘하게 다른 것을 확인하실 수 있습니다.

3.f(x)=e^x   →   f′(x)=e^x

지수 함수의 경우에도 도함수 역시 지수 함수.

4.f(x)=lnx   →   f′(x)=1/x

자연 로그의 미분은 주로 Logistic Regression 이나 신경망의 활성 함수인 sigmoid 함수를 미분할 때 상당히 편하게 미분을 할 수 있도록 도와준다. sigmoid 함수에 자연로그를 씌움으로서 미분을 훨씬 수월하게 할 수 있게 되기 때문입니다.