AI/관련 자료

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

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

 


 

배치 하강 경사법 (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개씩 사용해 학습.

 


 

반응형