최적화 알고리즘

최적화 알고리즘은 모델의 예측값과 실제값의 차이를 최소화하는 가중치를 찾기 위해 사용됩니다. 다양한 최적화 알고리즘이 존재하지만, 대표적인 알고리즘들은 다음과 같습니다.

  1. 경사 하강법(Gradient Descent)
  2. 확률적 경사 하강법(Stochastic Gradient Descent)
  3. 미니 배치 경사 하강법(Mini-Batch Gradient Descent)
  4. 모멘텀(Momentum)
  5. 아다그라드(Adagrad)
  6. 아담(Adam)

경사 하강법은 비용 함수를 최소화하기 위해 가중치를 업데이트하는 방법으로, 가장 기본적인 최적화 알고리즘입니다. 확률적 경사 하강법은 경사 하강법의 변형으로, 매번 모든 데이터를 사용하지 않고 랜덤하게 선택된 데이터 하나씩을 사용하여 가중치를 업데이트합니다. 미니 배치 경사 하강법은 확률적 경사 하강법과 비슷하지만, 랜덤하게 선택된 일부 데이터를 미니 배치로 묶어서 사용합니다.

모멘텀은 이전에 업데이트된 가중치를 고려하여 새로운 가중치를 업데이트하는 방법입니다. 아다그라드는 학습률을 자동으로 조절하는 방법으로, 매개변수마다 다른 학습률을 적용하여 효과적인 학습을 도와줍니다. 아담은 모멘텀과 아다그라드를 결합한 알고리즘으로, 모멘텀과 아다그라드의 장점을 모두 가져와서 효과적인 학습을 돕습니다.

가중치 값은 학습 데이터에서 모델의 예측값과 실제값의 차이를 최소화하기 위해 최적화되므로, 학습 데이터와 관련된 가중치 값이며, 새로운 데이터에 대해서는 다시 최적화를 해야합니다. 이를테면, 학습한 모델이나 학습한 가중치를 그대로 사용하여 새로운 데이터에 대한 예측을 수행하는 것은 정확도가 떨어질 수 있습니다. 따라서 새로운 데이터에 대해서는 모델의 재학습이 필요합니다.