728x90
반응형
SMALL
Gradient Descent(경사 하강법)은 쉽게 말해서 '최적의 답을 찾기 위해 조금씩 내려가는 과정' 이라고 설명할 수 있다.
1. 개념 설명
경사하강법은 **산에서 가장 낮은 지점(최소점)**을 찾는 것과 비슷합니다.
- 산 = 손실 함수(loss function) → 모델의 오차를 측정하는 함수
- 최저점 = 손실이 가장 작은 지점 → 모델이 가장 좋은 상태
- 내려가는 방향 = 기울기(gradient) → 손실을 줄이는 방향
목표:
손실 함수를 최소화하는 **가중치(weight)**와 편향(bias) 값을 찾아 모델 성능을 최적화합니다.
2. 원리
- 기울기(Gradient) 계산:
- 현재 위치에서 얼마나 가파른지(기울기)를 계산합니다.
- 방향 결정:
- 기울기가 가장 가파르게 내려가는 방향을 선택합니다.
- 한 걸음 이동:
- 일정한 크기(학습률, learning rate)만큼 이동합니다.
- 반복:
- 더 이상 내려갈 수 없을 때까지 반복합니다.
- W: 가중치(Weight)
- L: 손실 함수(Loss Function)
- η: 학습률(Learning Rate)
- ∂L / ∂W: 손실 함수의 가중치에 대한 기울기(Gradient)
3. 비유로 이해하기
- 산 등반 예시:
- 어두운 산에서 손전등을 들고 아래로 내려간다고 상상해 보세요.
- 손전등을 비추며 가장 가파른 길을 찾아 한 걸음씩 내려갑니다.
- 한 번에 너무 멀리 내려가면(학습률이 너무 큼) 목표 지점을 놓칠 수 있습니다.
- 한 번에 너무 조금씩 움직이면(학습률이 너무 작음) 시간이 오래 걸릴 수 있습니다.
4. 학습률(learning rate)의 중요성
- 학습률이 너무 크면:
- 최적점을 지나쳐 버려 오히려 손실이 커질 수 있습니다.
- 학습이 불안정하고 진동할 수 있습니다.
- 학습률이 너무 작으면:
- 최적점에 도달하는 데 시간이 오래 걸립니다.
- 경우에 따라 최적점에 도달하지 못할 수도 있습니다.
학습률 예시:
- 적절한 학습률: 손실이 점점 줄어들며 최적점에 도달
- 너무 큰 학습률: 손실이 튀면서 불안정함
- 너무 작은 학습률: 손실이 천천히 줄어들어 시간이 오래 걸림
5. 경사하강법의 종류
- 배치 경사하강법(Batch Gradient Descent)
- 데이터 전체를 사용해 기울기를 계산합니다.
- 정확하지만 데이터가 많을 경우 느립니다.
- 확률적 경사하강법(Stochastic Gradient Descent, SGD)
- 한 번에 하나의 데이터만 사용하여 기울기를 계산합니다.
- 계산이 빠르지만, 손실이 흔들리며 불안정할 수 있습니다.
- 미니배치 경사하강법(Mini-Batch Gradient Descent)
- 데이터를 작은 그룹(미니배치)으로 나눠 학습합니다.
- 배치와 SGD의 장점을 결합하여 속도와 안정성을 모두 고려합니다.
https://colab.research.google.com/drive/11zeeX3STugSKe4xSRuu7KXBEJppP0lHP?usp=sharing
Gradient Descent로 선형회귀
Colab notebook
colab.research.google.com
728x90
반응형
LIST
'💻 본업(컴공생) 이야기 > 파이토치 공부 이야기' 카테고리의 다른 글
[파이토치 (PyTorch)] 6. Logistic Regression (로지스틱 회귀) (1) | 2025.01.08 |
---|---|
[파이토치 (PyTorch)] 5. Linear Regression in PyTorch way (0) | 2025.01.07 |
[파이토치 (PyTorch)] 4. Back-propagation (역전파) (0) | 2025.01.07 |
[파이토치 (PyTorch) ] 2. Linear Model (Linear regression : 선형 회귀) (1) | 2025.01.07 |
[파이토치 (PyTorch)] 1. 개요 (2) | 2025.01.07 |