본문바로가기
[인공지능, 수학으로 타파] 편도함수로 딥러닝 따라하기
수학동아 2020.11.02 14:41

 

 

Mathematics for AI #7

편도함수로 딥러닝 따라하기

 

 

 

 

*출제자의 한 마디*

 

저번 시간에는 어떻게 하면 복잡한 함수를 직접 풀지 않고 컴퓨터를 이용하여 원하는 만큼 정밀한 근삿값을 구할 수 있는지에 대하여 간단하게 살펴보았어요. 복잡한 함수에 대하여 테일러 전개를 통해 우리가 잘 아는 이차, 삼차함수 등과 같은 다항함수로 근사시켜서 오차가 적은 근사값을 구할 수 있었습니다. 또한 테일러 전개를 통해 구한 다항식의 차수가 커질수록 다항함수의 모양도 원래의 함수에 점점 가까워짐을 실습을 통해 확인할 수 있었습니다.   

 

이번 시간에는 편도함수(Partial Derivative)에 대하여 간단히 살펴봅시다.

 

 

 

--------------

 

 

편도함수

 

편도함수란 변수가 여러개인 다변수 함수를 미분할 때 특정 변수를 제외한 나머지 변수들은 상수로 생각하고, 특정한 하나의 변수를 기준으로 삼아 미분하여 나온 함수를 말합니다. 좀 더 쉬운 예시를 들어보겠습니다. 두 개의 변수를 가진 함수 f(x,y)에서  y를 상수로 생각한 다음, x에 대하여 미분할 수 있어요. 이렇게 나온 결과를 함수 f의 변수 x에 관한 편도함수라고 부릅니다.

 

z=f(x,y)는 아래 그림에서 보듯이 곡면의 방정식입니다. 곡면의 임의의 한 점 P(x_{1}, y_{1}, z_{1})을 지나고 xz평면과 평행인 평면으로 곡면을 자르면 한 곡선 APB를 얻을 수 있습니다. 한 점이 이 곡선을 따라 움직이면 그 z좌표는 x에 따라서 변하지만 y는 변하지 않게 되며, 따라서 점 P에서의 곡선 APB의 접선의 기울기는 이 점에서의 x에 관한 z의 변화율이 됩니다. 마찬가지로 점 P에서의 곡선 CPD의 접선의 기울기는 이 점에서의 y에 관한 z의 변화율입니다. 따라서 다음을 알 수 있습니다.

 

 

이러한 편도함수의 계산은, 다변수 함수에 포함된 변수가 아무리 많아지더라도 동일한 방법으로 어느 하나의 변수에 대하여 미분한 결과를 쉽게 얻을 수 있습니다. 예컨대 공간 안에 있는 곡면으로 나타나는 함수에 대하여, 접선의 변화율을 구할 수 있게 됩니다. 

 

편도함수를 이용하면 좌표축과 평행하는 방향의 함수 변화를 쉽게 파악할 수 있으며, 이후에 배우게 되는 임의의 방향에서의 함수 변화를 계산할 수 있는 기초를 제공합니다. 따라서 머신러닝과 딥러닝의 최적화에서 항상 빼놓지 않고 등장하는 경사하강법 등의 과정을 이해하는데 중요하게 쓰이고 있으며, 또한 영화속 특수효과와 무선 영상통신, 비디오 화질 개선 등 실생활에도 큰 영향을 미치고 있습니다.

 

이러한 편도함수를 표현하는데 꼭 쓰이는 편미분 기호 를 처음 고안하여 사용한 사름은 프랑스의 수학자이자 철학자인 니콜라 드 콩도르세(Nicolas de Condorcet)입니다.   

 

 

 

 

*편미분 기호 '{\color{Blue} \partial}'와 니콜라 드 콩도르세 

  

 

프랑스의 수학자이자 철학자인 니콜라 드 콩도르세는 16살 때부터 수학 업적을 쌓으면서 26세의 젊은 나이에 18세기 프랑스 과학의 발전을 이끄는 ‘과학 아카데미’의 회원이 됐다.

콩도르세는 1770년에 오늘날 편미분 기호로 사용하는 ‘∂’를 미분에서 처음 사용한 것으로 알려져 있다. 편미분이란 2개 이상의 변수가 있을 때 나머지 변수를 상수로 보고 특정 변수에 대해 미분하는 것이다. f (x, y)를 x에 대해 미분하면 f ′x , ∂x f{\color{Blue} {\color{Blue} }\frac{\partial }{\partial x}f}, {\color{Blue} \frac{\partial f}{\partial x}}로 표기할 수 있다. 편미분은 영화 속 특수효과와 무선 영상 송신, 비디오 화질 개선 등 실생활에도 큰 영향력을 미치고 있다.

 

--------------

 

 

z=f(x,y)xy의 함수라 하자. 도함수는 함수를 미분해 얻은 함수를 말하고, 편도함수는 변수가 2개 이상인 함수를 각각의 변수에 대해 미분해 얻은 함수다.fxy에 관한 편도함수는 각각 다음과 같이 정의한다.

               f_{x}(x,y)=\lim_{h\rightarrow 0}\frac{f(x+h, y)-f(x,y)}{h}, f_{y}(x,y)=\lim_{h\rightarrow 0}\frac{f(x, y+h)-f(x,y)}{h}                

 

문제

함수 f(x,y)=x^{2}+xy+y^{2}xy에 관한 편도함수 f_{x}(x,y), f_{y}(x,y) 를 각각 구해보자  

 

 

 

 

 

 

--------------

 

 

풀이에 필요한 SageMath 코딩 명령어

 

 

var('x, y')

f(x, y) = x^2+x*y+y^2

변수 x, y를 지정한 뒤, 함수  f(x,y)=x^{2}+xy+y^{2}를 입력한다.

 

 

f_x = diff( f(x, y), x, 1 )

f_y = diff( f(x, y), y, 1 )

함수 f(x,y) 에 대한 편도함수 f_{x}(x,y), f_{y}(x,y)를 각각 계산한다. 

 

print("fx(x, y) =", f_x)

print("fy(x, y) =", f_y)

편도함수 f_{x}(x,y), f_{y}(x,y)를 각각 출력한다. 

 

 

 

 

-끝-

 

 

  •  
    부분해결
    수락 Lv.7 2020.11.02 22:35 비밀댓글
    비밀 댓글이 등록 되었습니다.
    댓글 작성하기 댓글수1
    •  
      조현영 기자 Lv.2 2020.11.03 10:29 비밀댓글
      비밀 댓글이 등록 되었습니다!
  •  
    해결
    수락 Lv.7 2020.11.03 10:40 비밀댓글
    비밀 댓글이 등록 되었습니다.
    댓글 작성하기 댓글수1
    •  
      수학동아 2020.11.05 10:55

      정답입니다!! 아주 잘 했습니다 ^^ 문제 해결 딱지 쾅!!!!!

      좋아요0
  • 폴리매스 문제는 2019년도 정부의 재원으로 한국과학창의재단의 지원을 받아 수행된 성과물입니다.

  • ☎문의 02-6749-3911