Loading
2015.04.07 12:57 - 성돌

구배(gradient)란 무엇일까? (개념적인 이해)




구배(gradient)에 대해서 알아보자.


Gradient는 공간에 대한 기울기를 말한다.

이 말이 어려운가?
공간에 대한 기울기는.... 미분했는데, 미분하는 것이 x, y, z같은 것이라는 거다.
시간인 t가 아니라.. 말이다.

아무튼 시간에 대해서 제외한 거라는 걸 빼고는...
Gradient는 그냥 '기울기'이고... 영어로는 slope이 될 것이다.



공식으로 나타내자면,
xy를 변수로 가지는 2변수 스칼라 함수 (x,y)의 gradient는 아래와 같이 표현된다.


여기서 
ex방향은 x방향으로의 단위벡터이며,  ey방향은 y방향으로의 단위벡터이다.

 즉, xy평면에서 방향을 가진 벡터이다.

주의해야 할 것은 모든 방향에 대해 다 해줘야 한다는 것이다.
여기서는 2차원이었기에 x와 y방향만 해준거고...

3차원문제 였으면 아래와 같이 해주어야 한다.
물론, 이 문제에서는 /z가 0이기에 결과적으로는 마지막 부분이 0이 되겠지만...






(x,y)가 스칼라 함수가 아닐 때에는 gradient가 벡터의 형태로 주어지지 않지만...
여기서는 구배의 개념을 설명하기 위한 것이니
 
(x,y)가 무엇인지는 별로 중요치 않기에...
(x,y)가 가장 단순한 스칼라 함수의 경우에 국한시켜서 보도록 하자.


아무튼 이 
벡터(gradient)는 방향을 가지고 있다.

그렇다면 이 벡터는 어느 방향을 가르키고 있는가?

이를 이해하기 위해서 우리가 고등학교 때 배웠던 일변수 함수의 경우를 살펴보도록 하자.

아래와 같은 이차함수인 y=x2함수를 살펴보자.


x= -1에서 기울기가 -2이고, x=1에서 기울기가 2인 것을 쉽게 계산할 수 있을 것이다.

여기서 기울기(gradient)의 방향이 어디를 가르키고 있는가?

일변수 함수에서는 방향이란... 
x가 커지거나 작아지는 방향 밖에는 없는데...

그래프에서 파란색 화살표를 보면 알 수 있듯이...
x= -1에서는 x가 작아지는 방향을 가르키고 있고, (기울기가 음수이기에...)
x=1에서는 x가 커지는 방향을 가르키고 있다. (기울기가 양수이기에...)

그렇다면 이 방향이 가르키는 방향은 바로 함수값인 y가 커지는 방향인 것이다.

즉, gradient의 방향은 함수값이 커지는 방향이다.
따라서 이것을 최대점을 찾는 데에 사용할 수 있다.

그렇다면 gradient의 반대방향은 무엇이겠는가?
최소값을 향해 가는 방향인 것이다.



그렇다면 이제 2변수의 경우를 보도록 하자.

일변수에서는 방향이 한 축의 양쪽 방향밖에 없어서...
음수인지 양수인지로 방향을 알 수 있었다.

그러나 2변수 이상부터는 스칼라 함수에 대해서 
gradient가 벡터로 구해지게 된다.
(일변수의 경우 성분이 하나인 벡터로 생각할 수 있다.)

아래는 wikipedia에 있는 예인데,
(xy) = xe−(x2 + y2)는 함수를 그리면 아래와 같다.


-http://en.wikipedia.org/wiki/Gradient-


그래프에서 빨간색으로 표시된 부분은 함수값이 큰 부분이고,
파란색 부분은 함수값이 작은 부분이다.

위에서 화살표가 가리키고 있는 것이 gradient의 방향인데,
함수값이 작은 부분에서 벗어나서 함수값이 큰 부분으로 가려고 하는 것
을 볼 수 있을 것이다.

  1. 딩굴감자 2015.04.20 14:13

    기계공학과 다니는 학생인데 좋은 글 보고 가게 되네요..
    오버 좀 해서 정말 좋은 선배님을 만난 느낌이네요. 좋은 글들 정말로 감사합니다 ^^

    • BlogIcon 성돌 2015.04.20 21:35 신고

      도움이 되어서 정말 다행이네요-
      열심히 공부하시고 좋은 기계공학자로 성장할 수 있기를 바래요-

  2. 정주나 2016.09.06 08:35

    ㅋㅋ저도 기계관데 잘보고 가요~

  3. BlogIcon 누아니 2016.11.27 18:41 신고

    [Gradient] 저는 기계공학과는 아니고 컴공입니다. 수치해석의 Steepest Descent Method를 공부중인데 그래디언트가 도무지 이해가 안 됐어요.
    이번에 성돌님이 올려주신 글 덕분에 확실하게 이해하고 갑니다. 소중한 정보에 다시 한 번 감사드립니다.

댓글을 입력하세요