의 그래프에서 (2, 4)를 지나는 tangent line을 그리면 왼쪽 그림과 같았다.

Tangent Plane을 찾는 방법은 다음과 같다.
로 결정한 공간은 parabolic line이 되며 이 때의 derivative는 로 표현된다.
로 결정된 공간 역시 parabolic line이 형성되며 이 때의 derivative는 다.




어떠한 값을 constant로 취급했을 때, function은 변수 에 대해서만 관련 있어지는 것을 확인할 수 있었다.



우리는 두 가지 step을 밟을 수 있다.
위의 방법론을 적용한 와 는 각각 와 다.


, 가 곱해진 형태의 function 또한 다른 변수를 masking하여 편미분한다.


의 function을 변수별로 편미분하여 나타내면 하나의 긴 vector 꼴로 concaternate하여 나타낼 수 있다.

(2, 3) 지점에서의 gradient를 구하는 방법은 각 변수별로 편미분 한 와 를 대입하는 것으로 해결할 수 있다.

왼쪽 그림과 같은 변수가 하나인 function을 minimize하는 방법은 slope를 0으로 만드는 를 찾는 일이었다.

따라서 각 변수별로 편미분하여 각각의 derivative function이 0이 되는 와 를 찾아야 한다.

이전에 예시로 들었던 Sauna 문제를 생각해보자.

Starting point가 아래와 같이 여러 개라고 하면 여러 direction으로 뻗어나갈 수 있다.




이 그래프의 function 꼴은 사실 매우 복잡하다.


우리가 찾은 후보군들에 대해서 모든 가능한 조합을 만들어보고, 각 점을 대입해보라.

세 전봇대의 좌표가 (1, 2), (2, 5), (3, 3)으로 주어진다고 해보자.
Linear Regression은 data point들의 연관성을 가장 잘 설명하는 하나의 line을 찾는 일이다.

Data point의 좌표와 Linear Regression으로 예측한 line의 좌표를 고려해보자.
(두 값의 차이)의 제곱을 기하학적으로 표현해보면 아래와 같은 사각형의 합이 된다.






그렇다면 이러한 과 값은 어떻게 찾을 것인가?

1 variable을 갖는 function에서의 Gradient Descent가 무엇인지를 얘기해보자.
의 그래프가 아래와 같은 smooth한 function으로 정의되었다.
Minimum인 값은 어디인가?

의 derivative 가 0인 지점은 일 때이고, 이 지점에서 전체 함수가 최소인 지점을 갖는다.

다른 방법으로 minimum을 찾아가는 방식이 있을까?

여러 step을 반복하다 보면 최소 지점을 찾게 될 수 있지 않을까?
Ensure that the "steps" are small enough.


Slope의 부호에 따라 step을 어디로 가야할지 생각해보자.
Negative slope을 갖는다면 left로 향해야 하고, Positive slope을 갖는다면 right로 향해야 한다.

이 때 매우 큰 step으로 update된다면 값이 크게 뛸 수 있다. (chaotic)




이를 알고리즘으로 표현하면 아래와 같다.

예시로 몇 가지 점들을 대입해 보자.


그렇다면 Good learning rate는 얼마인가?
learning rate가 얼마일 때가 최적일지에 대한 의문은 Machine learning에서의 중요한 논의 내용 중 하나이다.

딱 알맞는 just right한 learning rate를 찾는 rule은 불행하게도 존재하지 않는다.

Gradient Descent의 치명적인 약점(Drawback)은 local minima에 빠질 수 있다는 점이다.

이제 2 variables를 갖는 function의 Gradient Descent를 얘기해보자.




그러면 minimum으로 향하는 direction은 어떻게 정의될까?
Initial point 에서 각 variable 마다의 미분 함수를 구해보자.
를 대입한 각각의 gradient vector를 찾으면 아래 평면에 놓인 검은색 두 방향 벡터로 나타낼 수 있다.
전체 벡터는 두 방향 벡터의 합이므로 의 방향은 초록색 벡터(바깥 방향)으로 표현된다.
우리가 움직여야 할 방향은 이러한 방향 벡터(gradient)에 -를 붙인 방향이라는 것도 알아 두자.
물리학에서의 퍼텐셜 에너지 미분이 힘의 방향이라는 것과 유사하다.

Initialize한 position ()로부터 힘의 방향으로 밀어 넣으면

이전에 다뤘던 , variables를 갖는 온도 함수 를 다뤄보자.

Starting point 에서의 미분으로 gradient를 찾고
초기값을 대입한 방향 벡터를 구하여 learning rate와의 곱으로 move하면

다시 움직인 지점에서 gradient를 찾아 lr을 곱한 값으로 해당 지점을 move하면

아래의 알고리즘을 머신러닝에서의 parameter 와 로 정리해 보았다.

지금까지 소개한 Gradient Descent는 초기 parameter point에 민감하다는 단점이 있다.


function의 최소점은

Linear Regression에서의 Loss(Error) function을 미분한 gradient vector를 찾으면
로 전개된다.

기존에 다뤘던 Linear regression에서의 loss는 (각 데이터 포인트 - 추론값 )의 square(넓이) 합으로 나타낼 수 있었다.

임의의 선형 방정식을 아래 그림과 같이 오차가 크게 설정한다면 Loss(square 합) 또한 커질 것이다.

만일 최적의 parameter 한 쌍을 찾게 된다면 해당 지점에서의 Loss point는 0이 될 것이다.


육안으로 보기에도 광고에 돈을 많이 들일수록 매출이 높다는 상관관계를 추측할 수 있다.

Loss는 정답 와 추론 의 단순 차이로도 나타낼 수 있다.

편차가 양수(+), 음수(-)를 동시에 가질 때, 이를 합하는 것은 오류를 불러일으킬 수 있기 때문에 제곱을 사용한다.

각 데이터 point들이 총 개가 있다고 하면 Loss는 각 지점에서의 오차의 평균으로 나타낼 수 있다.

Starting point 에서의 gradient descent로

에서의 gradient descent로

에서의 gradient descent로

이렇게 여러 번(현재 수식 내에서는 번)의 과정을 반복하여 찾아낸
