Week 01: Parameter Learning


해당 수업에서는 첫 번째 Machine Learning 알고리즘이면서, 빈번하게 사용되는 gradient descent 알고리즘을 학습 한다.

Gradient Descent Algorithm

Cost Fuction이 다음과 같이 있다고 가정하다.

J(θ0,θ1)


당연히 이러한 Cost Fucntion의 값이 최소가 되는 θ0와 θ1을 우리는 찾고 싶을 것이다.

minθ0,θ1J(θ0,θ1)

최적화된 Cost Function을 찾는 방법을 Gradient Descent 알고리즘이라 한다.

  • Start with some θ0,θ1
  • Keep Changing θ0,θ1 to reduce J(θ0,θ1) untile we hopfully end up at a minimum

아래와같이 최소 지역을 찾을 수고 있고,

아래와 같이 약간 옆으로 시작할경우 local minimum 문제에 빠질 수도 있다.

수식으로 Gradient descent algorithm을 표현하면 아래와 같다.
구현상의 중요점은 θ0,θ1두 개가 모두 한번에 업데이트 되어야 한다는 것이다.
그리고 temp를 이용해서 저장하고 그것을 반영해야한다.

Gradient Descent Algorithm Intuition

좀 더 직관적으로 쉽게 이해해보자.
일단 단하나의 변수 θ1만 존재하는 Cost Function을 생각해보자. 아래와 같이 간단히 구할 수 있다.

추가로 learning rate에 따라서 최적화가 될 수도 있고 안될 수도 있다.

아래는 간단한 Quize이다.

이렇게 local minimum에서 빠져 나오지 못하는것은
자체적으로 점점 더 값이 작아지기 때문이다.
알파 값을 고저이켜도 결국 minimum 값에 converge 하게 된다.

이러한 gradient descent algorithm을 이용해서 어떠한 cost function도 최적화 할 수 있다.
단 local minimum의 문제는 여전히 존재 한다.

Gradient Descent for Linear Regression

실제 cost function인 linear regression에서의 measn sqaured error 를 생각해보자.
당연히 θ0,θ1으로 두개의 변수를 가지고 있다.
각각에 대해서 partial derivative (편미분)하면 아래와 같다.

실제 partialderivative (편미분)을 통해서 optimal 함수를 구하는 것은 알아냈다.
이제는 좀 더 실제적으로 local fucntion을 구하는것을 알아보자.

bow shape을 따른다 Linear regression의 cost function의 경우에는

아래와같은 모양을 convex fucntion이라고 하고 이것을 bow-shaped 이라고 인포멀리 부른다.
이러한 convex fucntion은 local minimum이 존재하지 않고, 오로지 global minimum만이 존재한다.

따라서 linear regression의 cost function은 convex이기 때문에 local minimum문제 없이 언제나 global minimum에 도달하게 된다.

좀 더 포멀하게 cost function을 최적화 하는 것을 생각해보자.
θ0=900,θ1=0.1의 값을 생각해보자.
이때 hypothesis function h(x) = -0.1x+900

그리고 이것을 반복하면 최종적으로 global minimum에 도달하게 된다.

그리고 이렇게 전체 Traning set을 가지고 gradient descent하는 것을 Batch Gradient Descent라 한다.

Quize

+ Recent posts