Coursera ML class – week01 Linear regression with one Variable part II

이 포스트는 Coursera Machine Learning 강의(Andrew Ng 교수)를 요약 정리한 것 입니다. 포스트에 사용된 이미지 중 많은 내용은 동영상 강의 자료의 이미지 캡쳐임을 밝힙니다.

Course Home: Coursera Machine Learning

(이 글은 Coursera ML class – week01 Linear regression with one Variable part I에서 이어집니다.)

 

Gradient descent algorithm

week01의 두번째 part에서는 Gradient Descent algorithm 대하여 자세히 알아보자.

Gradient Descent를 계산하는 방법은 미분의 개념을 최적화 문제에 적용한 대표적 방법 중 하나로 minimum을 찾는 때까지 지속적으로 θ0 과 θ1를 업데이트 하는 것이다. 여기서 α 는 learning rate라고 한다. 여기서 주의해야 할 것은 θ0 와θ1는 동시에 업데이트 해줘야 한다는 점이다.

1-2-1

 * A := B는 B의 값으로 A값을 assign 하는 것을 말함

개념을 쉽게 이해하기 위하여 θ0 =0으로 두고 진행해보자 θ0 =0 이기 때문에 J는 θ1

에만 영향을 받는 함수가 된다. 이 때 θ1 이 정수라고 했을 때,  ≥0 (접선의 기울기가 0보다 큰 경우)인 경우에 대하여 생각해보자. α 역시 0보다 큰 정수라고 한다면  ≤ 0이고, θ1 은 계산이 반복될수록 값이 점점 줄어들게 되므로, x축을 기준으로 왼쪽으로 이동하게 된다.

1-2-2

반대의 경우도 생각해보자. 즉,  ≤0 인 경우(접선의 기울기가 0보다 작은 경우)에 대하여 생각해보자. α 가0보다 큰 정수라고 한다면  ≥ 0이고, θ1 은 계산이 반복될수록 값이 점점 증가하므로, x축을 기준으로 오른쪽으로 이동하게 된다.

1-2-3

이번에는 α 값에 따라서는 어떻게 변하는지 살펴보자. 아래 그림과 같이 α값이 너무 작으면 θ1 값의 변화가 작아지게 되어 조금씩 움직이므로 최소값을 찾는데 오랜 시간이 걸릴 것이다. 반면에 α값이 너무 크게 되면 minimum값을 찾기도 전에 다른 방향으로 가게 되어 최소값을 찾는 것에 실패할 수도 있다.

1-2-4

따라서 효용성을 고려하여 적당한 α 값을 설정하는 것이 중요하다.

 

 

Gradient descent algorithm – Linear Regression model

이제 Gradient descent algorithm을 어떻게 Linear Regression Model에 연관 시킬지를 생각하여 보자.

1-2-5

위의 그림 오른쪽 Linear Regression Model에 있는 J(θ0, θ1) 값을 Gradient descent algorithm에 대입해보자.

1-2-6

의 식이 성립되는 것을 알 수 있다.
1-2-7

 

위의 식을 θ0, θ1 에 대하여 각각 미분을 하면 아래와 같은 식을 구할 수 있다.

1-2-8

그래서 최종으로 유도되는 식은 아래와 같다. 마찬가지로 θ0, θ1는 동시에 업데이트 되어야만 한다.

1-2-9

 

앞서 보았던 J(θ0, θ1) 그래프를 떠올려 보면, 여러 개의 local optimum 존재하는 경우 처음 선정한 시작 위치가 다를 경우 결과값도 다르게 나타난다고 했었다.

1-2-10

 

그러나, Linear Regression인 경우는 항상 오목한 그릇 모양(bowl-shaped)을 가진 convex function 형태이다. 따라서 이 함수는 항상 하나의 global optimum을 가진다. 즉, 여러 개의 Local optimum을 가지지 않고 하나의 특이값만 갖는 것이 특징이다.

1-2-11

 

그러면 Gradient Descent Algorithm이 적용된 linear regression model을 살펴보자.

아래 그림에서 hθ(x)그래프와 J(θ0, θ1) 그래프가 어떻게 변하는지 살펴보자. 횟수가 반복될수록  점점 hθ(x) 그래프는 training data값과 가까워지는 straight function이 되어가고 J(θ0, θ1 ) 는 등고선 안쪽으로 들어가는 모습을 볼 수 있다. 이러한 반복작업을 통하여 최적의 hypothesis를 찾을 수 있게 된다.

1-2-12

 

이상 week01 에서는 변수가 하나인 선형 회귀, Cost Function, Gradient descent algorithm을 살펴봤다. week02에는 변수가 여러 개인 선형 회귀를 다룰 것이다.

<끝>

 

Course Home: Coursera Machine Learning

Andrew Ng 교수님 소개: https://www.coursera.org/instructor/andrewng

Advertisements

2 thoughts on “Coursera ML class – week01 Linear regression with one Variable part II

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.