본문 바로가기
AI/관련 자료

[머신러닝] 배치 하강 경사법(Batch Gradient Descent) 정리

by 뒹굴거리는프로도 2024. 11. 20.
반응형

 


 

배치 하강 경사법 (Batch Gradient Descent)

배치 하강 경사법은 머신러닝과 딥러닝에서 최적의 모델 파라미터를 찾기 위해 사용되는 알고리즘입니다. 모델의 예측 값과 실제 값 간의 오차(비용 함수)를 최소화하는 방향으로 가중치를 업데이트합니다. 아래에 구체적으로 설명해볼게요.

 


 

1. 전체 데이터를 한 번에 사용

배치 하강 경사법은 훈련 데이터 전체를 사용해 비용 함수(오차)를 계산한 뒤, 가중치를 업데이트합니다. 예를 들어, 훈련 데이터가 1000개라면 이 1000개 데이터 모두를 기반으로 한 번의 업데이트가 이루어집니다.

 

2. 작동 원리

*초기화:

모델의 가중치(파라미터)를 무작위로 설정합니다.
*예측:

모델이 현재 가중치를 사용해 훈련 데이터를 예측합니다.
*오차 계산:

예측 값과 실제 값의 차이를 기반으로 비용 함수(예: 평균 제곱 오차)를 계산합니다.
*경사 계산:

비용 함수의 기울기(경사)를 계산합니다. 경사는 "가중치를 얼마나 조정해야 비용이 줄어드는지"를 나타냅니다.
*가중치 업데이트:

가중치를 경사에 따라 조금씩 이동시킵니다.
이동량은 학습률(learning rate)로 조절합니다.


θ: 가중치(파라미터)
η: 학습률
∇J(θ): 비용 함수의 기울기
*반복:

이 과정을 여러 번 반복하며 비용 함수를 최소화합니다.

 

 

3. 장점

- 전체 데이터를 기반으로 계산하므로 경사가 정확합니다.

- 학습이 안정적이며, 비용 함수가 최솟값에 수렴하는 과정이 매끄럽습니다.

 

4. 단점

- 데이터가 클 경우 계산량이 많아 속도가 느립니다. 예를 들어, 데이터가 1억 개라면 모든 데이터를 한 번에 처리해야 하므로 메모리와 계산 자원이 많이 필요합니다.

 

5. 예제

*훈련 데이터가 아래와 같다고 가정:

X = [1, 2, 3, 4](특성)
Y = [2, 4, 6, 8] (실제 값)

*모델: Y=θX

1. 초기 가중치
θ=0.5

2. 예측 값:
Ypred​=[0.5,1.0,1.5,2.0]

3. 오차:
Y−Ypred​=[1.5,3.0,4.5,6.0]

4. 비용 함수 계산 후 경사 업데이트:
θ:=θ−η⋅∇J(θ)

 

6. 다른 경사법과 비교

- 미니배치 하강 경사법: 데이터를 일부씩 나누어(미니배치) 학습.

- 확률적 경사 하강법(SGD): 데이터 1개씩 사용해 학습.

 


 

반응형