본문 바로가기

수학/선형대수학

[선형대수학] 선형대수와 머신 러닝 1 [선형 회귀와 최소제곱법]

728x90

선형 회귀는 데이터 간의 선형적인 관계를 모델링하는 머신 러닝 알고리즘 중 가장 기본적이고 널리 사용되는 방법 중 하나입니다. 이번 포스팅에서는 선형 회귀의 개념과 선형대수학의 기본 개념 중 하나인 최소제곱법을 활용하여 최적의 회귀선을 찾는 방법을 자세히 알아보겠습니다.

1. 선형 회귀의 개념:
   선형 회귀는 입력 변수$($X$)$와 출력 변수$($Y$)$ 사이의 선형 관계를 모델링하는 방법입니다. 예측하려는 종속 변수$($Y$)$와 하나 이상의 독립 변수$($X$)$ 간의 관계를 수학적으로 표현하는 선형 모델을 구축합니다. 선형 회귀는 데이터의 분포를 가장 잘 표현하는 직선$($회귀선$)$을 찾아내어 새로운 입력 값에 대해 출력 값을 예측하는 데에 사용됩니다.

선형 회귀의 예


2. 최소제곱법$($Least Squares Method$)$:
   최소제곱법은 선형 회귀에서 가장 일반적으로 사용되는 방법으로, 주어진 데이터와 회귀선 간의 잔차$($실제 출력 값과 예측 값의 차이$)$의 제곱합을 최소화하는 회귀선을 찾는 방법입니다. 이를 통해 데이터와 회귀선 사이의 오차를 최소화하여 최적의 회귀선을 결정합니다.

최소제곱법의 예


3. 최적의 회귀선 찾기:
   최소제곱법을 사용하여 최적의 회귀선을 찾기 위해서는 다음과 같은 단계를 거칩니다:
   - 회귀선의 기울기와 y절편을 나타내는 파라미터를 임의로 설정합니다.
   - 예측 값과 실제 값 사이의 오차$($잔차$)$를 계산합니다.
   - 잔차의 제곱합을 최소화하는 방향으로 파라미터를 조정합니다.
   - 이러한 과정을 반복하여 최적의 파라미터를 찾습니다.

4. 예시를 통한 이해:
   예를 들어, 입력 변수 X와 출력 변수 Y의 데이터가 다음과 같이 주어졌다고 가정합니다:
   X = [1, 2, 3, 4, 5]
   Y = [3, 4, 2, 5, 6]

   이 데이터를 가장 잘 설명하는 선형 회귀선을 찾기 위해 최소제곱법을 사용합니다. 회귀선의 기울기와 y절편을 조정하여 오차를 최소화하면서 최적의 회귀선을 찾아냅니다.

 

 

더보기

1. 회귀선의 방정식:
   선형 회귀에서는 주어진 데이터를 가장 잘 설명하는 직선$($회귀선$)$의 방정식을 찾습니다. 회귀선의 방정식은 일반적으로 y = wx + b로 표현됩니다. 여기서 w는 회귀선의 기울기, b는 y절편입니다.

2. 손실 함수$($Loss Function$)$:
   최소제곱법에서는 회귀선과 주어진 데이터 포인트들과의 오차를 측정하는 손실 함수를 사용합니다. 일반적으로 사용되는 손실 함수는 평균 제곱 오차$($Mean Squared Error, MSE$)$입니다.

   \[MSE = (1/n) * Σ(yᵢ - (wxᵢ + b))²\]
   여기서 n은 데이터 포인트의 개수이고, yᵢ는 실제 출력 값, xᵢ는 입력 값입니다.

3. 최소제곱법을 통한 최적 회귀선 찾기:
   최소제곱법은 손실 함수를 최소화하는 회귀선의 기울기 w와 y절편 b을 찾는 알고리즘입니다.

   - 기울기(w)의 계산:
     \[w = Σ((xᵢ - x̄)(yᵢ - ȳ)) / Σ(xᵢ - x̄)²\]
     여기서 x̄은 입력 변수 X의 평균, ȳ은 출력 변수 Y의 평균입니다.

   - y절편(b)의 계산:
     \[b = ȳ - w * x̄\]

4. 주어진 데이터에 적용:
   주어진 데이터를 사용하여 기울기와 y절편을 계산해보겠습니다.

 

    X = [1, 2, 3, 4, 5]
    Y = [3, 4, 2, 5, 6]


   - 평균 계산:
     \[x̄ = (1 + 2 + 3 + 4 + 5) / 5 = 3\\
     ȳ = (3 + 4 + 2 + 5 + 6) / 5 = 4\]

   - 기울기$($w$)$ 계산:
    \begin{align}&w = \frac{((1-3)*(3-4) + (2-3)*(4-4) + (3-3)*(2-4) + (4-3)*(5-4) + (5-3)*(6-4))}{((1-3)² + (2-3)² + (3-3)² + (4-3)² + (5-3)²)}\\
       &= \frac{(-2 + (-1) + (-2) + 1 + 2)}{(4 + 1 + 1 + 1 + 4)}\\
       &= -2 / 11 ≈ -0.1818\end{align}

   - y절편$($b$)$ 계산:
     \[b = 4 - (-0.1818) * 3 ≈ 4.5455\]

5. 최종 회귀선:
   회귀선의 방정식은 y = -0.1818x + 4.5455입니다. 이 회귀선은 주어진 데이터를 가장 잘 설명하는 직선으로, 최소제곱법을 사용하여 구한 최적의 회귀선입니다.

최소제곱법을 통해 주어진 데이터를 가장 잘 설명하는 회귀선의 기울기와 y절편을 계산하여 최적의 회귀선을 찾을 수 있습니다. 이를 통해 선형 회귀 모델을 구축하고 새로운 입력 값에 대한 출력 값을 예측할 수 있습니다. 이러한 방법은 머신 러닝에서 널리 사용되며, 선형대수학의 개념을 기반으로 합니다.


선형 회귀는 입력 변수와 출력 변수 사이의 선형 관계를 모델링하는 중요한 머신 러닝 알고리즘입니다. 선형대수학의 최소제곱법을 활용하여 데이터와 회귀선 사이의 오차를 최소화하여 최적의 회귀선을 구할 수 있습니다. 선형 회귀를 이해하고 활용함으로써 데이터 분석과 예측 모델링에 큰 도움을 얻을 수 있습니다.