프로그래밍 공부
카테고리
작성일
2024. 6. 13. 20:16
작성자
WDmil
728x90

그레디언트 수식 계산방식들로 2가지에, 2가지의 장단점을 합친 한가지를 말할 수 있다.

 

Batch Gradient Descent

 

경사하강법의 한 스텝 업데이트 시 전체 트레이닝 데이터를 하나의 Batch로 만들어 사용하기 때문에 Batch Gradient Descent라고 부른다.

 

그레디언트 수식을 계산할 때, 100만개 이상의 매우 많은 손실함수 미분값을 전부 더한 뒤 평균을 취해서 파라미터를 업데이트 하게 되면 매우 큰 연산량 낭비가 일어난다.

 

한 스텝을 연산하는데 많은 시간이 걸리게 되고, 결과적으로 최적의 파라미터를 찾는데 오랜 시간이 걸린다.

옵티마이저 시간이 매우 길어지게 된다.

 

한 스텝 업데이트를 위해 계산하는 손실함수의 미분값은 아래 수식으로 나타낸다.

 

$  \frac{\partial }{\partial \partial _{1}}J( \theta _{0},\theta _{1}) = \frac{\partial }{\partial \partial _{1}}\frac{1}{2n}\sum_{i=1}^{n}(\hat{y_{i}} - y_{i})^{2} $

 

$  \frac{\partial }{\partial \partial _{0}}J( \theta _{0},\theta _{1}) = \frac{\partial }{\partial \partial _{0}}\frac{1}{2n}\sum_{i=1}^{n}(\hat{y_{i}} - y_{i})^{2} $

 

 

그에대한 반대적인 개념으로 경사하강법의 한 스텝 업데이트마다 1개의 트레이닝 데이터만 사용하는 기법을 

Stochastic Gradient Descent 기법 이라고 한다.

Stochastic Gradient Descent

 

Stochastic Gradient Descent  기법 을 사용하면 파라미터를 자주 업데이트 할 수 있지만,

 

한번업데이트 할 때 전체 트레이닝 데이터의 특성을 고려하지 않고 각각의 트레이닝 데이터의 특성만을 고려하므로 부정확한 업데이트가 진행될 수 있다.

 

$  \frac{\partial }{\partial \partial _{0}}J( \theta _{0},\theta _{1}) = \frac{\partial }{\partial \partial _{0}}(\hat{y} - y)^{2} $

$  \frac{\partial }{\partial \partial _{1}}J( \theta _{0},\theta _{1}) = \frac{\partial }{\partial \partial _{1}}(\hat{y} - y)^{2} $

 

그리하여 실제 문제를 해결할 때 에는 두개의 절충 기법인 Mini-Batch Gradient Desent를 많이 이용한다.

 

Mini-Batch Gradient Desent는, 전체 트레이닝 데이터 Batch가 1000(n)개라면 이를 100(m)개씩 묶은 Mini-Batch개수만큼의 손실 함수 미분값 평균을 이용해서 파라미터를 한 스텝을 업데이트하는 기법이다.

 

Mini-Batch Gradient Desent 기법에서 한 스텝 업데이트를 위해 계산하는 손실 함수의 미분값은 아래 수식으로 나타낼 수 있다.

$  \frac{\partial }{\partial \partial _{0}}J( \theta _{0},\theta _{1}) = \frac{\partial }{\partial \partial _{0}}\frac{1}{2m}\sum_{i=1}^{m}(\hat{y_{i}} - y_{i})^{2} $

 

$  \frac{\partial }{\partial \partial _{1}}J( \theta _{0},\theta _{1}) = \frac{\partial }{\partial \partial _{1}}\frac{1}{2m}\sum_{i=1}^{m}(\hat{y_{i}} - y_{i})^{2} $

 

 

728x90

'알고리즘' 카테고리의 다른 글

Training Data, Validation Data, Test Data  (0) 2024.06.13
Overfitting 과 Underfitting  (0) 2024.06.13
머신러닝 프로세스 ( 선형회귀 )  (0) 2024.06.13
Q & Optimal Policy  (1) 2024.06.09
MDP ( Markov Decision Process )  (1) 2024.06.09