반응형
배치 하강 경사법 (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개씩 사용해 학습.
반응형
'AI > 관련 자료' 카테고리의 다른 글
[머신러닝] 렐루(ReLU) 함수란? (1) | 2024.11.22 |
---|---|
[머신러닝] 미니 배치 경사 하강법(Mini-Batch Gradient Descent) 정리 (0) | 2024.11.21 |
[머신러닝] 활성 함수(Activation function)란? (0) | 2024.11.15 |
[머신러닝] 손실 함수(Loss Function)란? (0) | 2024.11.15 |
[딥러닝] 원-핫 인코딩이란? / One-hot (0) | 2024.11.14 |