본문 바로가기
인공지능/Basic AI

인공지능(AI) 입문하기[2] - 선형 회귀에서 시작하는 인공신경망 이해(1)

by Sangwoo Seo 2025. 7. 18.

머신러닝이나 딥러닝을 배우려고 할 때 가장 첫 관문으로 등장하는 것이 바로 선형 회귀(Linear Regression)입니다.

그렇다면 이 ‘선형’이라는 용어는 어떤 의미일까요?

 

선형 회귀란? - “선형”의 의미부터 시작하기

단순 선형 회귀(Simple Linear Regression): 단순 선형 회귀는 ‘입력 변수’가 하나일 때 적용할 수 있는 가장 기본적인 형태입니다. 예를 들어, TV 광고 비용($ X $)이 제품 판매량($ Y $)에 미치는 영향을 분석하려고 할 때 아래와 같은 식을 사용합니다.

$$ Y = β_0 + β_1 X $$

  • $ β_0 $: 입력이 0일 때, 즉 TV 광고를 전혀 하지 않을 때의 예상 판매량(절편)
  • $ β_1 $: 광고비가 1 증가하면 판매량이 얼마나 늘어나는지(기울기)

이 식을 시각적으로 표현하면, 산점도를 찍고 그 위에 하나의 ‘직선(1차 함수)’이 데이터 전체를 최대한 잘 통과하도록 그려지는 모습이 됩니다. 직선은 ‘변수 $ X $’가 바뀔 때마다 ‘$ Y $’가 일정한 비율로 따라 움직인다는 아주 단순한 가정에서 시작합니다.

2차원 - 직선(1차 함수)

 

다중 선형 회귀(Multiple Linear Regression): 단순 선형 회귀는 ‘입력 변수’가 여러 개일 때 적용할 수 있는 형태입니다.

현실의 문제는 보통 여러 변수들이 동시에 결과에 영향을 미칠 수 있습니다. 예를 들어, 건물의 월세($ Y $)가 건물 면적($ X_1 $), 건물 연식($ X_2 $)에 의해 결정된다고 할 때는 다음과 같은 확장된 수식을 사용합니다.

$$ Y = β_0 + β_1X_1 + β_2X_2 + ⋯ + β_pX_p $$

  • 각 $ β_p $: 각 변수($ X_p $)가 $ Y $에 미치는 영향력 (한 단위 증가 시 $ Y $의 변화량)
  • 초평면: 3차원 이상 그래프에서는 ‘직선’이 아닌 ‘평면’, 더 나아가 초평면 형태가 됩니다.

실제로 현실 데이터에서 여러 입력 변수가 함께 작용하면, 그래프 위에 그려지는 경향선이 더 복잡해집니다.

이때 ‘초평면’은 여러 변수의 조합상에서 Y가 어떻게 변하는지, 공간적으로 설명하는 모델이 됩니다.

 

** 다중 선형 회귀에서 경향선은 여러 독립 변수들이 종속 변수에 미치는 영향을 설명하고 예측하기 위해 데이터를 가장 잘 설명하는 평면 또는 다차원 공간 내의 초평면을 의미합니다.

3차원 - 초평면

 

‘선형’이란 말은 복잡하게 느껴질 수 있지만, 결국 모델의 출력 Y가 모든 입력 변수 X에 대해서 1차식, 즉 선형 결합(Linear Combination)으로 표현된다는 의미입니다. 이런 1차 표현식은 해석이 직관적이라는 장점이 있습니다. 예시로 공부 시간, 광고비, 건물 면적 등이 1단위 증가할 때 결과 Y가 얼마나 변하는지 바로 알 수 있습니다.

 

** 선형 결합(Linear Combination)은 주어진 벡터들에 각각 임의의 상수(스칼라)를 곱한 후 모두 더하여 새로운 벡터를 만드는 연산으로 함수 $ f(x)=x $와 $ g(x)=x^2$의 선형 결합은 상수 $ a=3 $, $ b=2 $일 때,

$$ h(x)=3f(x)+2g(x)=3x+2x^2 $$

선형 회귀의 목적

데이터 분석의 목적은 단순히 수식만 적는 것이 아닙니다. 주어진 데이터 포인트들 $ (x_i, y_i) $ 가장 잘 설명하는 하나의 직선(ex. TV 예산-판매량 실측 데이터의 경향선)을 찾고 싶기 때문입니다.

이 “가장 잘 나타낸다”는 말은,

  • 각 데이터의 실제 값과 모델이 예측한 값이 최대한 가까워야 한다는 것
  • 즉, 개별 데이터와 예측값 간의 잔차(residual), 즉 오차의 합이 작은 방향으로 $ β_0$ , $ β_1 $,...을 조정한다는 뜻입니다.

그렇다면, "잘 나타낸다"라는 것은 어떻게 구체적으로 평가할 수 있을까요?

 

1. 잔차(Residual): 예측이 실제에 얼마나 가까운가?
잔차란, 각 데이터 관측치에서 모델이 예측한 값과 실제 측정된 값의 차이를 의미합니다.

  • 수식으로는 $ \epsilon_i = y_i - \hat{y_i} $ (즉, 실제 값 $ y_i $에서 예측값 $ \hat{y_i} $를 뺀 것)
  • 한 개의 데이터 샘플마다 잔차가 생기며, 잔차가 작을수록 모델 예측이 실제값에 가까워집니다.

잔차는 단순히 ‘얼마나 빗나갔나’를 수치로 표현하는 지표입니다. 모든 데이터 샘플마다 이 값을 따로 계산할 수 있습니다.

 

2. 비용함수(Cost Function): 전체 데이터 수준의 오차 평가
단일 잔차만 보아서는 전체 모델의 성능을 알 수 없습니다. 데이터가 여러 개 (예: 50명 학생의 시험 점수 예측)가 있을 때, 모든 잔차를 종합적으로 평가하는 기준이 필요합니다. 이를 위해 비용함수(혹은 손실함수, 오류 함수)를 사용합니다.

비용함수는 모델이 모든 관측치에 대해 “얼마나 잘 예측했는지”를 한 번에, 숫자 하나로 평가하는 함수입니다.

선형회귀의 대표 비용함수: 잔차제곱합(RSS)

선형 회귀에서 가장 널리 사용하는 비용함수는 잔차제곱합(RSS, Residual Sum of Squares)입니다. 모든 관측치의 잔차(오차)를 각각 제곱한 후, 전체를 모두 더하는 방식입니다. 수식은 다음과 같습니다:

$$ RSS(β)= \sum_{i=1}^n(y_i − x_i^Tβ)^2 $$

여기서 $ x_i^Tβ $는 $ i $번째 데이터의 예측값에 해당됩니다.

 

여기서 왜 잔차를 단순히 합하는 게 아니라 제곱해서 더할까요?

잔차를 그냥 더하면 예측값보다 실제값이 높은 경우(잔차 > 0)와 낮은 경우(잔차 < 0)가 서로 상쇄돼, 전체 오차가 작게 왜곡될 수 있습니다. 그렇게 되면 모델이 실제로 어느 정도 틀렸는지를 정확히 파악하기 어렵습니다. 제곱해서 더하면 모든 잔차가 “양수”가 되고, 작은 오차는 작게, 큰 오차는 더 크게(패널티 강화) 취급합니다. 특히 큰 오차가 있을 때 모델에 더 큰 경고를 줄 수 있어, 모델이 전체적으로 예측을 잘 할 수 있도록 유도하는 효과가 있습니다.

 

결국 선형 회귀에서는, 잔차제곱합(RSS)이 가장 작아지도록 모델의 파라미터($ β $)들을 조정합니다. 이 과정이 비용함수를 최소화하는 최적화 과정이며, 이를 '추정'이라고 합니다.

 

추정에 대해 알아보기 전에 우선 선형회귀 식을 구조화해보도록 하겠습니다. 선형 회귀에서는 $ n $개의 데이터 관측치가 있다고 가정합니다. 각 관측치는 입력 변수(특성, Feature) $ x_i $와, 이로부터 예측하고자 하는 출력 변수(대상, Target) $ y_i $로 구성됩니다. 모델은 각 관측치의 입력 변수들이 선형 결합(linear combination)된 식으로 출력을 예측합니다.

$$ \hat{y_i} = β_0 + β_1x_{i1} + β_2x_ {i2} + ⋯ + β_px_ {ip} $$

이 식을 벡터와 행렬로 더 간단하게 표현하면,

$$ \hat{y_i} = x_i^Tβ $$

  • $ x_i $: $ i $번째 관측치의 입력 벡터(예: $ (1, x_{i1}, x_{i2}, ..., x_{ip} )^T$ )
  • $ β $: 우리가 구하고자 하는 파라미터(계수) 벡터 (예: $ ( β_0, β_1,..., β_p )^T$ )
  • 각 $ x_ij $: $ i $는 데이터 번호, $ j $는 해당 관측치의 입력 변수 번호

이렇게 벡터·행렬로 표기하면, 많은 데이터를 동시에 다룰 때 더욱 효율적으로 수식 처리가 가능합니다. 그렇다면, 이 $ β $ 계수 값들은 어떻게 정해야 할까요? 바로 주어진 데이터에 대해 모델이 예측한 값이 실제 결과에 최대한 가까워지도록 찾는 것이 중요합니다. 이때 사용하는 방법이 ‘최소제곱법’입니다.

최소제곱법(OLS, Ordinary Least Squares)과 그 기본 가정

최소제곱법은 선형 회귀 모델에서 실제 관측값과 모델 예측값의 차이(잔차)가 전체적으로 가장 작도록 회귀계수 벡터($ β $)를 찾는 절차입니다.

 

기본 가정 3가지

  • 선형성(Linearity): 출력 $ Y $가 입력 변수들의 선형 결합(=1차식)으로 설명될 수 있다는 점
  • 잔차의 정규성(Normality): 각각의 잔차 $ ϵ_i $가 평균 0, 분산 $ σ^2 $인 정규 분포를 따른다고 가정
    $$ \epsilon_i ~ N(0, \sigma^2), i=1, 2, ..., n $$
  • 입력 변수의 독립성(Independence): 각 입력 변수들은 서로 독립적이어야 하며, 둘 이상의 변수끼리 강한 상관관계(공선성)가 있으면 올바른 계수 추정이 어려워집니다. 이 문제를 다중공선성(multicollinearity)이라고 부릅니다.

추정과 최적화

1. 최적의 β (파라미터) 찾기
모든 데이터 포인트에 대한 잔차제곱합(RSS, Residual Sum of Squares)이 가장 작은 β를 선택하는 것이 선형회귀의 “추정”입니다. 그렇다면 실제로 이 추정 과정이 데이터에서 어떻게 이루어지는지, 그리고 수학적으로 어떻게 최적의 $ β $를 계산해내는지 알아보겠습니다.

$$ \hat{\beta} = argmin_{\beta} \sum_{i=1}^n(y_i - x_i^T\beta)^2 $$

즉, 여러 가지 가능한 $ β $값 중 잔차제곱합이 최소가 되는 $ β $를 고르는 것이죠. 이것이 바로 선형 회귀의 추정(Estimate)단계입니다.

2. 수학적으로 최적화하는 방법: 미분 활용

이제 수학적으로 실제 어떻게 최적의 β를 찾는지 설명합니다.

  • 목적: 잔차제곱합 $ RSS(β) $을 $ β $에 대해 최소화
  • 방법: $ β $가 여러 변수인 이차 함수의 형태이므로, 미분을 이용해 극솟값(최소점)을 찾음

구체적으로는 잔차제곱합 $ RSS(β) $ 을 $ β $에 대해 편미분해서, 그 값이 0이 되는 $ β $를 구합니다. 위 식을 행렬 형태로 정리해서 아래와 같은 공식(정규방정식, Normal Equation)으로 한 번에 $ β $를 구할 수 있습니다.

$$ {\beta}^{*} = (X^TX)^{-1}X^Ty $$

이 과정을 통해 얻은 해가 바로 최적의 회귀 계수($ β $)입니다.

 

** 정규 방정식의 유도 과정

더보기

1. 행렬 표현의 준비

  • $ X $: $ n ×(p+1) $ 크기의 입력(특성) 행렬 (맨 앞 열은 상수항 절편용으로 1로 채움)
  • $ y $: $ n × 1 $ 크기의 실제 정답 벡터
  • $ β $: $ (p+1) × 1 $ 크기의 회귀계수(파라미터) 벡터

선형회귀의 예측값 전체를 벡터로 쓰면 아래 식과 같습니다:

$$ \hat{y} = X\beta $$

 

2. 잔차제곱합($ RSS $) 행렬식 표현

전체 잔차제곱합을 행렬로 정리하면 아래 식과 같습니다:

$$ RSS(\beta) = (y-X\beta)^T(y-X\beta) $$

 

3. 편미분과 최적 조건 설정

최적의 $ β $를 찾으려면, $ RSS(β) $를 $ β $에 대해 편미분하여 0이 되는 조건을 구해야 합니다.
먼저 미분을 전개하면,

$$ \frac{\sigma}{\sigma\beta}(y-X\beta)^{T}(y-X\beta) $$

이제 위 식을 전개한 후 미분합니다.

 

4. 행렬 미분 전개

$$ (y-X\beta)^{T}(y-X\beta) = y^{T}y - 2\beta^{T}X^{T}y + \beta^{T}X^TX\beta $$

이제 $ β $에 대해 편미분 합니다.

  • $ y^{T}y $는 $ \beta $ 와 상관없으므로, 미분하면 0이 됩니다.
  • $ - 2\beta^{T}X^{T}y $:
    • 미분하면 $ - 2X^{T}y $입니다.
  • $ \beta^{T}X^TX\beta $:
    • 미분하면 $ X^TX\beta $입니다.

따라서,

$$ \frac{\sigma RSS}{\sigma\beta} = -2X^Ty + 2X^{T}X\beta $$

 

5. 0이 되는 미분지점
최솟값에서는 미분값이 0이므로,
$$ -2X^Ty + 2X^{T}X\beta = 0 $$
양변을 2로 나누면,
$$ -X^Ty + X^{T}X\beta = 0 $$
이 식을 $ \beta $에 대해 정리하면,
$$ X^{T}X\beta = X^Ty $$ $$ \beta = (X^{T}X)^{-1}X^Ty $$

결과의 시각적 이해

실제 데이터($ x_i $, $ y_i $)는 검은 점으로 나타나며, 여러 변수와 값들로 구성되어 있습니다. 선형 회귀 모델은 이 점들을 가장 잘 설명할 수 있도록 빨간 선(또는 다변수의 경우 초평면)을 그리는데, 해당 선의 수식은 $ Y = β_0 + β_1X $로 표현됩니다. 모델의 궁극적 목표는 이 검은 점들이 빨간 선에 최대한 가까워지도록, 즉 잔차(실제값과 예측값의 차이)가 최소가 되도록 $ β $값을 결정하는 것입니다.

선형 회귀 모델과 잔차의 개념

 

선형 회귀의 한계

여기서 중요한 점은, 선형 회귀의 “최적화”는 결국 모든 데이터에 대해 직선(또는 초평면)이 가장 잘 근사하도록 하는 과정입니다. 하지만 현실의 데이터들은 단순히 직선적인 관계가 아닌 경우가 매우 많습니다. 특히 곡선적, 비선형적인 패턴(예: 포물선, 곱셈, 논리연산 등), 또는 여러 변수 간 상호작용이 강하게 존재하는 경우, 아무리 $ β $를 찾아도, “직선”이 모든 데이터 점을 완벽히 지나가거나 설명하는 것은 불가능합니다.

예를 들어 XOR 문제처럼 단순 선형 모델로는 해결할 수 없는 데이터 구조도 있습니다. XOR 데이터는 어떤 기준 직선을 그어도 0과 1이 완벽히 분리되지 않습니다. 이러한 이유로, 선형 회귀는 오직 “직선(초평면)”으로만 관계를 설명 가능하다는 근본적 한계를 가집니다.

XOR 문제

현실에서는 데이터에 곡선적·비선형적 구조가 많고, 변수들 간의 복잡한 상호작용, 논리적 분리, 비직선적인 경계가 요구되는 경우가 많습니다. 이런 복잡한 패턴과 비선형 관계까지 제대로 학습하려면 기존의 선형 모델(직선, 초평면)을 뛰어넘는 더 유연하고 강력한 모델이 필요합니다.

이러한 한계를 극복하기 위해 등장한 대표적인 방법이 바로 인공신경망(Artificial Neural Networks, ANNs)입니다.