본문 바로가기

머신러닝, 딥러닝

편미분

아래의 식을 한번 살펴보자. 우리가 평상시 보던 함수와는 무언가 구조가 다르다.

앞의 예와는 달리 변수가 2개라는 점이 다르다.

이 식은 파이썬으로 다음과 같이 구현 할 수 있다.

def function(x):

return x[0]**2 + x[1]**2 # 인수 x는 numpy배열이라고 가정.

인수 x는 넘파이배열이라고 가정한다. 이 코드는 넘파이 배열의 각 원소를 제곱하고 그 합을 구할 뿐인 간단한 구현이다. ( np.sum(x**2) ) 로 구현 가능.

이 함수를 그래프로 그려보면 다음과 같다.

위의 식을 미분해보자. 여기서 우리가 배워왔던 미분과는 다른 점이 있다면, 변수가 2개라는 것이다. 그래서 “ 어느 변수에 대한 미분이냐 “, 즉 x0 와 x1중에 어느 변수에 대한 미분이냐를 잘 구분해야 한다.

덧붙여 이와 같이 변수가 여럿인 함수에 대한 미분을 편미분 이라고 한다.

예제로 편미분에 대한 문제를 한번 풀어보자.

X0= 3, x1 =4 일때 X0에 대한 편미분을 구하라.

위의 식에서 x0에 대한 편미분을 구하는 것이므로, x0를 제외한 모든 변수는 상수 취급한다.

좌변은 편미분을 나타내는 수식이다.

우변은 x0를 제외한 모든 변수는 상수 취급 하므로, x1는 미분이 되면 0이다. x0는 x0^2이므로, 2x0로 변환된다.

한가지 더 풀어보자.

그러므로 f( 3, 4 ) ‘ = 6

X0 = 3 x1 = 4 일때 x1에 대한 편미분을 구하라.

정답은 8이다. 파이썬으로도 한번 구현해보는걸 추천한다.

이처렴 편미분은 변수가 하나인 미분과 마찬가지로 특정 장소의 기울기를 구한다. 단 여러 변수 중 목표 변수 하나에 초점을 맞추고 다른 변수는 값을 고정한다.

'머신러닝, 딥러닝' 카테고리의 다른 글

합성곱 연산  (0) 2020.01.20
기울기  (0) 2020.01.20
수치 미분 ( numerical differentiation )  (0) 2020.01.20
왜 손실함수를 사용하는가?  (0) 2020.01.20
미니 배치 학습  (0) 2020.01.20