[10편] 지도학습의 첫걸음: 선형 회귀(Linear Regression)와 경사하강법(Gradient Descent) 쉽게 이해하기

 앞선 9편에서 인공지능이 데이터를 공부하는 3가지 방식인 지도학습, 비지도학습, 강화학습의 큰 그림을 살펴보았습니다. 그중에서도 현재 산업 현장에서 가장 널리 쓰이고 데이터의 '정답'을 명확히 예측하는 데 최적화된 방식이 바로 지도학습(Supervised Learning)입니다.

지도학습의 여러 알고리즘 중에서도 가장 기초가 되며, 인공지능이 수치를 예측하는 근본적인 메커니즘을 담고 있는 모델이 있습니다. 바로 선형 회귀(Linear Regression)와 그것을 최적화하는 경사하강법(Gradient Descent)입니다.

처음 머신러닝을 공부할 때 수많은 수학 공식과 미분 기호가 가득한 경사하강법 그래프를 마주하고 지치지 않는 초보자는 드뭅니다. 나 역시 수학적 수식만 파고들다가 인공지능 공부를 포기할 뻔한 아픈 기억이 있습니다. 하지만 이 원리를 '눈높이 비유'로 이해하고 나니, 복잡한 딥러닝의 뼈대까지 한 번에 꿰뚫어 볼 수 있게 되었습니다. 오늘 10편에서는 선형 회귀와 경사하강법의 핵심 원리를 최대한 직관적으로 풀어보겠습니다.

1. 선형 회귀란 무엇인가? (가장 단순하지만 강력한 직선 긋기)

선형 회귀는 데이터들이 퍼져 있는 분포 공간에서 데이터의 경향성을 가장 잘 대변하는 하나의 직선(또는 초평면)을 찾아내는 알고리즘입니다.

(1) 실생활에서의 비유: 집값 예측

우리가 집을 살 때, 집의 평수(입력 데이터, X)가 넓어질수록 집값(정답, Y)도 대략 비례해서 올라갑니다.

  • 10평 집: 1억 원

  • 20평 집: 2억 원

  • 30평 집: 3억 원

이 데이터들을 그래프에 점으로 찍어보면 우상향하는 일직선 모양을 띱니다. 선형 회귀는 이 점들 사이에 "y = ax + b"라는 일차방정식 직선을 그어, "그렇다면 25평 집은 얼마일까?"를 예측할 수 있게 만들어 줍니다. 여기서 a는 기울기(가중치, Weight), b는 절편(편향, Bias)이 됩니다.

2. 최적의 직선을 찾아가는 여정: 손실 함수 (Loss Function)

컴퓨터가 처음 선을 그을 때는 아무렇게나 삐뚤빼뚤하게 긋습니다. 이 직선이 얼마나 엉터리인지 판단하는 기준이 필요합니다. 이때 사용하는 개념이 손실 함수(또는 비용 함수, Cost Function)입니다.

  • 오차(Error): 컴퓨터가 예측한 값과 실제 데이터의 정답 사이의 거리입니다.

  • MSE (Mean Squared Error, 평균 제곱 오차): 모든 오차를 제곱해서 더한 뒤 평균을 낸 값입니다. 이 값이 작을수록 직선이 데이터 점들을 정확하게 관통하고 있다는 뜻이며, 클수록 엉터리 예측을 하고 있다는 의미가 됩니다.

컴퓨터의 목표는 단 하나입니다. '손실 함수 값을 0에 가깝게 최소화하는 최적의 기울기와 절편을 찾는 것'입니다.

3. 안개 낀 산에서 바닥을 찾아 내려오는 법: 경사하강법 (Gradient Descent)

그렇다면 컴퓨터는 어떻게 손실 함수가 가장 작아지는 지점을 찾아낼까요? 모든 경우의 수를 다 대입해 볼 수도 없으니, 여기서 수학적 최적화 기법인 경사하강법이 등장합니다.

(1) 비유로 이해하는 경사하강법

눈을 가리고 에베레스트산 꼭대기에 떨어졌다고 상상해 봅시다. 우리의 목표는 눈을 가린 채 산의 가장 낮은 골짜기(손실이 0인 지점)로 찾아 내려가는 것입니다.

  1. 현재 위치에서 주변을 더듬어 발로 경사를 느껴봅니다.

  2. 어느 쪽이 가장 가파르게 내려가는지 파악하고, 그 방향으로 한 걸음 내딛습니다.

  3. 이 과정을 반복하여 더 이상 경사가 느껴지지 않고 평평해진 바닥(최적점)에 도달하면 멈춥니다.

이때 한 번에 얼마나 성큼성큼 걸어갈지를 결정하는 중요한 설정값이 바로 학습률(Learning Rate)입니다.

4. 경사하강법 활용 시 주의해야 할 치명적 실수 2가지

  • 학습률(Learning Rate) 설정 오류:

    학습률을 너무 크게 잡으면, 컴퓨터가 바닥을 향해 성큼성큼 뛰어가다가 최적점을 훌쩍 뛰어넘어 반대편 산등성이로 튕겨 나가는 현상(발산, Divergence)이 발생합니다. 반대로 너무 작게 잡으면, 바닥까지 내려오는 데 영원한 세월이 걸려 학습이 끝나지 않습니다. 적절한 학습률을 찾는 것이 엔지니어의 핵심 역량입니다.

  • 지역 최솟값(Local Minimum)의 함정:

    복잡한 실제 데이터 공간에서는 진짜 바닥(Global Minimum)이 아닌, 가짜 움푹 파인 곳(Local Minimum)에 갇혀 더 이상 내려가지 못하고 멈춰버리는 문제가 발생할 수 있습니다. 딥러닝 모델이 커질수록 이 문제를 해결하는 다양한 최적화 알고리즘(Adam, SGD 등)이 필수적으로 요구됩니다.

핵심 요약

  • 선형 회귀는 데이터의 경향성을 가장 잘 나타내는 직선 방정식을 찾아내어 미지의 수치를 예측하는 기본적인 지도학습 모델입니다.

  • 손실 함수는 현재 모델의 예측이 얼마나 틀렸는지를 수치화하여 보여주는 지표입니다.

  • 경사하강법은 오차의 경사를 따라 한 걸음씩 내려가며 손실을 최소화하는 최적의 파라미터를 찾아내는 핵심 최적화 알고리즘입니다.

댓글

이 블로그의 인기 게시물

[3편] 파이썬 환경 구축에서 90%가 겪는 시행착오 (Anaconda vs venv vs Docker)

[5편] 데이터 시각화로 AI 데이터 통찰 얻기 (Matplotlib & Seaborn)

[파이썬python]API 활용하기 - 공공데이터와 연동하여 정보 가져오기