티스토리 뷰
[DL 딥러닝] Andrew Ng - Neural Networks and Deep Learning 강의 (1-2 신경망과 로지스틱 회귀)(2) 경사하강법
Life4AI 2024. 8. 14. 13:39지난 강의에서는
로지스틱 회귀 모델과 단일 훈련 샘플이 얼마나 잘 작동하는 지 측정하는 손실함수, 그리고 매개변수 \(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에 대한 함수이므로, 경사하강법의 알고리즘은 다음과 같다.
'Coursera 강의 > Deep Learning Specialization' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 강화학습
- computation graph
- 백준
- adrew ng 머신러닝 강의
- state value function
- 손실함수
- **
- policy function
- NumPy
- 강의노트 정리
- 비용함수
- 경사하강법
- **kwargs
- numpy 배열 생성
- Sort
- 딥러닝
- *args
- 파이썬
- 로지스틱 회귀
- 숏코딩
- *
- omp: error #15
- Andrew Ng
- action value function
- python
- 11870
- sorted
- 앤드류응
- baekjoon
- numpy 배열 속성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |