티스토리 뷰

지난 강의에서는

로지스틱 회귀 모델과 단일 훈련 샘플이 얼마나 잘 작동하는 지 측정하는 손실함수, 그리고 매개변수 \(w\)와 \(b\)가 훈련 세트 전체를 얼마나 잘 예측하는지 측정하는 비용함수에 대해서 알아봤다. 

 

이제 경사하강법 알고리즘을 사용해 매개변수 \(w\)와 \(b\)를 훈련 세트에 학습시키는 방법을 알아보자.

경사하강법 (Gradient descent)

이전 시간의 비용함수가 전체 데이터셋의 예측이 얼마나 잘 평가되었는지 보는 것이라면,

경사하강법은 이를 가능케하는 파라미터 \(w\)와 \(b\)를 찾아내는 방법 중 하나이다.

 

따라서, 매개변수 \(w\)와 \(b\)를 알아내기 위해서는 비용함수 \(J(w, b)\)를 가장 작게 만드는 \(w\)와 \(b\)를 찾아냐 할 것이다.

 

 

우선, 비용함수는 블록한 형태여야한다. 

> 볼록하지 않은 함수를 쓰게 되면, 경사하강법을 통해 최적의 파라미터를 찾을 수 없다. (지역 최적값이 여러개이기 때문에)

 

 

 

초기에는 함수의 최소값을 모르기 때문에, 임의의 점을 골라서 시작한다.

 

경사하강법은 가장 가파른(steepest) 방향, 즉 함수의 기울기를 따라서 최적의 값으로 한 스텝씩 업데이트하게 된다. 이렇게 경사하강법을 반복하게 되면, 전역 최적값(global optimum)이나 그 근사치에 도착하게 될 것이다.

 

 

구체적으로, 알고리즘은 다음과 같다.

 

우선, 간단한 예시로 \(b\)를 제외해 높은 차원이 아니라 1차원으로 생각해보자. 

 

(이해하기 쉽게, 도함수는 함수의 기울기라고 볼 수 있다. 다음 포스팅에서 설명하겠다.)

 

- 만약 \(dw > 0\) 이면, 파라미터 \(w\)는 기존의 \(w\)값 보다 작은 방향으로 업데이트 될 것이고,

- 만약 \(dw <0 \) 이면, 파라미터 \(w\)는 기본의 \(w\)값 보다 큰 방향으로 업데이트 될 것이다.

 

 

비용함수는 w와 b에 대한 함수이므로, 경사하강법의 알고리즘은 다음과 같다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함