코딩뚠뚠

[머신러닝 공부] 9. 경사 하강법 1 본문

공부/ML&DL

[머신러닝 공부] 9. 경사 하강법 1

로디네로 2021. 1. 20. 00:01
반응형

 

머신러닝 입문자들의 필수코스라고 할 수 있는 앤드류 응 님의 강의를 번역해놓은 아래 브런치를 참고하여 공부하고 핵심내용만 정리해보고자 한다.

 

원문 출처 : brunch.co.kr/@linecard/446

 

앤드류 응의 머신러닝 (2-5) : 경사 하강법

온라인 강의 플랫폼 코세라의 창립자인 앤드류 응 (Andrew Ng) 교수는 인공지능 업계의 거장입니다. 그가 스탠퍼드 대학에서 머신 러닝 입문자에게 한 강의를 그대로 코세라 온라인 강의 (Coursera.org

brunch.co.kr

 

지난 포스팅까지 비용함수 J에 대해 알아봤다.

 

글 마지막에 비용함수 J를 최소화 하기 위해서는 Optimization을 해야한다고 했다.

 

Cost를 최소화 하는 방법 = Optimization (최적화) => 경사하강법이 그 예 (Gradient Descent)

 


 

비용함수 J(θ0,θ1)을 최소화 하는 경사하강법 알고리즘 (Gradient Descent Algorithm)

 

1. 파라미터 θ0 θ1의 초기값들을 추측한다.

( 일반적으로 θ0=0 / θ1=0 으로 설정한다.)

 

2. θ0과 θ1의 값을 조금씩 바꾸면서 J(θ0,θ1)의 값을 조금이라도 줄여나가면서 최소값을 찾는다.

 

 


 

경사 하강법의 공식

 

 

:=는 지정연산자로 코드 상에서의 = 와 동일하다. a:=b (b의 값을 a에 넣는다.)

 

 

1. a

 

a는 학습률(learning rate)이다. 이는 Descent 를 수행할 때 어느정도의 간격으로 하강할지를 결정한다.

 

a가 크다면 한번 수행할 때 넓은 폭을 뛸 것이다.

 

batch size와도 관련이 있는 a는 나중에 설명하도록 한다.

 

 

2. θ0,θ1업데이트

 

위에서 j=0 or j=1 이고 이에 따라 θ0 과  θ1을 정의할 수 있게된다.

 

temp0 := θ0 - 값

temp1 := θ1 - 값

이후

θ0 = temp0

θ1 = temp1 을 수행한다.

 

3. 편미분항

 

다음 강의에서 진행

반응형