Table of Contents

728x90

선형회귀는 트레이닝 데이터를 사용하여 데이터의 특성과 상관관계를 분석하고, 이를 기반으로 모델을 학습시켜, 트레이닝데이터에 포함되지 않은 새로운 데이터에 대한 결과를 연속적인 숫자값으로 예측하는 과정입니다.

  • 부동산 가격 예측: 주택의 평균 방 개수(feature), 주택의 가격(target)
  • 임금 결정: 경력(feature), 특정 직원의 예상임금(target)

선형회귀시스템에서의 학습이란 트레이닝 데이터의 분석을 통해 데이터의 분포를 가장 잘 표현하는 선형관계를 나타내는일차함수의 가중치𝑾와 바이어스𝒃를 찾아가는 과정입니다.

여기에서 중요한 것은 직선 𝒚 = 𝑾𝒙 + 𝒃 함수의 계산 값 𝒚와 정답 𝒕의 차이(오차)를 최대한 작게 만드는 것입니다. 주어진 트레이닝 데이터를 바탕으로 오차들의 합, 즉 '손실' 의 값이 최소가 되도록 가중치 𝑾와 바이어스 𝒃를 구하는 것이 선형회귀 모델의 최종 목적입니다.

선형회귀에서 손실함수는 우리가 그린 선이 얼마나 잘 맞는지를 측정하는 도구입니다. 상상해보세요, 우리가 종이에 점들을 많이 찍고, 그 점들을 가장 잘 지나가는 선을 그리려고 해요. 이 선을 그리기 위해, 선과 점 사이의 거리를 모두 합산하는데, 이 거리가 작을수록 선이 점들을 더 잘 지나간다고 할 수 있어요. 이렇게 선과 점 사이의 거리를 모두 더한 값을 '손실'이라고 하고, 이 손실을 가장 작게 만드는 선이 최고의 선이라고 할 수 있어요. 이런 방식으로 선을 찾는 과정을 선형회귀라고 하며, 그 과정에서 사용하는 '손실함수'는 저희가 그린 선이 얼마나 좋은지를 알려주는 중요한 도구랍니다.

 

이와 같이 선형회귀에서 손실함수는 포물선형태로 나타납니다. 이러한 포물선 모양의 손실함수의 최솟값을 어떻게 찾을수있을까요?

포물선 모양의 그래프에서 최솟값을 찾기 위해 머신러닝과 통계학에서 사용되는 최적화 알고리즘, 경사하강 (Gradient Descent)을 사용하게 됩니다.

  1. 파라미터 업데이트:
    • 모델의 파라미터를 초기화한 후, 비용 함수의 그래디언트가 0이 되는 지점, 즉 최소값에 도달할 때까지 파라미터를 조정합니다.
    • 파라미터는 다음 공식을 사용하여 반복적으로 업데이트합니다: 𝜃=𝜃−𝛼⋅∇𝜃𝐽(𝜃)
    • 여기서 는 파라미터, 는 학습률(learning rate), ∇𝜃𝐽는 비용 함수 에 대한 그래디언트입니다.
  2. 학습률(learning rate) 𝛼:
    • 학습률은 각 스텝에서 파라미터를 얼마나 조정할지 결정합니다. 너무 크면 최소값을 지나칠 수 있고, 너무 작으면 수렴하는 데 오래 걸립니다.
  3. 반복 실행:
    • 파라미터가 수렴할 때까지, 즉 더 이상의 개선이 이루어지지 않을 때까지 위의 스텝을 반복합니다.

 

경사하강법의 종류에는 다음과 같은 것들이 있습니다.

  • 배치 경사 하강법(Batch Gradient Descent): 전체 데이터를 사용하여 한 번에 그래디언트를 계산합니다.
  • 확률적 경사 하강법(Stochastic Gradient Descent, SGD): 매 스텝마다 데이터 하나만 사용하여 그래디언트를 계산합니다. 이 방법은 더 빠르게 수렴할 수 있지만, 더 불안정할 수 있습니다.
  • 미니 배치 경사 하강법(Mini-Batch Gradient Descent): 작은 데이터 집합(미니 배치)을 사용하여 그래디언트를 계산합니다. 이 방법은 배치와 확률적 경사 하강법의 장점을 결합한 것입니다.

경사하강법은 간단하면서도 매우 효과적인 최적화 방법으로, 많은 머신러닝 알고리즘에서 기본적으로 사용되는 기술입니다.