Replicated

경사하강법의 종류 본문

빅데이터마이닝

경사하강법의 종류

라구넹 2025. 4. 7. 22:38

1. 전체-배치 경사하강법 (full-batch gradient descent)

- 모든 데이터를 한 번에 입력하는 경사하강법   * batch : 하나의 데이터셋

- 이전 글에서는 하나의 값에 대한 경사도를 구한 다음 값들을 업데이트..

- 실제로는 각 데이터의 경사도를 모두 더해 하나의 값으로 가중치를 업데이트

 

점 한 개씩 사용하여 가중치 업데이트를 하지 않는 이유?

- 시간이 오래 걸리고

- 시작점에 따라 지역 최적화(local optimum)에 빠짐 -> 그래프 전체에서 최솟점 못찾고 부분최솟점을 찾을 수 있음

 

 특징

- 업데이트 횟수 감소 : 가중치 업데이트 횟수가 줄어 계산 효율 상승

- 안정적인 비용함수 수렴 : 모든 값의 평균을 구하기 때문에 일반적으로 경사하강법이 갖는 지역 최적화 문제를 줄임

 

그러나, 데이터 단위가 백만 이상

-> 메모리 문제

 

2. 확률적 경사하강법(Stochasic Gradient Descent, SGD)

- 학습용 데이터에서 샘플들을 랜덤하게 뽑아 사용

- 대상 데이터를 Suffle, 후에 일반적인 경사하강법처럼 데이터를 한 개씩 추출하여 가중치 업데이트

 

장점

- 지역 최적화 회피

- 데이터 특성에 따라 훨씬 빠르게 결과를 냄

 

단점

- 대용량 데이터 사용 시 시간이 오래 걸림

 

3. 미니-배치 경사하강법(mini-batch gradient descent) 또는 미니-배치 SGD

- 데이터의 랜덤한 일부분만 입력해서 경사도 평균을 구해 가중치 업데이트

- 에포크(epoch) : 데이터를 한 번에 모두 학습시키는 횟수

    - 전체 배치 SDG를 한 번 학습하는 루프가 실행될 때 1에포크의 데이터가 학습된다 라고 표현

- 배치 사이즈(batch-size) : 한 번에 학습되는 데이터 개수

 

총 데이터 5012개, 배치 사이즈 512개

=> 10번의 루프를 돌며 1에포크 학습했다!

 

에포크와 배치 사이즈는 하이퍼 매개변수임

'빅데이터마이닝' 카테고리의 다른 글

과대적합과 정규화  (0) 2025.04.11
경사하강법 실습  (0) 2025.04.08
경사하강법 선형회귀  (0) 2025.04.07
최소자승법 선형회귀 - 수식 유도, 장단점  (0) 2025.04.07
선형 회귀, MSE  (0) 2025.04.07