AI · Deep Learning · Computer Vision · 머신러닝 기초

OUTTA Basic — 데이터 탐색에서 자동미분과 선형회귀까지

2026-08-01 · 수정 2026-08-01 · Hyeongrok Ryu

NBA 신체 측정값을 그려 보고, 손실곡면·경사하강법·정규화를 선형회귀 Notebook 출력과 함께 다시 정리했다.

Series
2024 OUTTA AI 부트캠프 Basic · 1
유형 / 난이도
study-note · beginner
Tools
Python, NumPy, PyTorch, Matplotlib
01먼저 데이터를 그려 본 이유

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

02변수 관계 읽기

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

03손실곡면과 자동미분

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

04정규화와 수렴

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

이 글의 목차에서 자동으로 만든 개념 흐름도입니다.

먼저 데이터를 그려 본 이유

먼저 선형회귀가 무엇인지 식부터 외우기보다 입력 두 개를 직접 그려 봤다. 강의의 39쪽짜리 회귀 모듈을 읽고 NBA draft 측정값 Notebook에서 손 길이·손 너비·키·체중·윙스팬을 산점도로 비교했다. 점이 한 방향으로 모이는지, position처럼 범주형인 축이 그대로 숫자 계산에 들어가지는 않는지부터 확인했다.

변수 관계 읽기

키와 윙스팬은 비교적 선형적인 관계를 보였다. 직선을 얹기 전 산점도만 보고 방향을 예상한 뒤, 같은 데이터를 서로 다른 코드로 다시 그려 결과가 일치하는지 확인했다. 이 과정에서 plot이 예쁘게 나오는 것보다 축 단위와 입력 순서를 맞추는 일이 먼저라는 점을 배웠다.

선형 모델은 ŷ = mx + b, 평균제곱오차는 다음처럼 적었다.

L(m, b) = (1/N) Σᵢ(mxᵢ + b − yᵢ)²

손실곡면과 자동미분

강의의 25쪽 경사하강법 모듈을 보면서 (m)과 (b)를 축으로 둔 손실곡면을 다시 그려 봤다. 처음에는 그래프의 낮은 곳으로 이동한다는 설명과 loss.backward()가 따로 느껴졌다. 곡면 위 현재점과 update 궤적을 함께 보니 gradient가 parameter 공간에서 어느 방향을 가리키는지 연결됐다.

정규화와 수렴

키와 윙스팬의 단위가 크면 gradient 크기도 함께 달라졌다. 평균을 빼고 표준편차로 나눈 뒤 같은 구조를 학습하니 손실곡면과 update가 읽기 쉬워졌다. 당시 저장된 그래프는 재실행 결과가 아니라 Notebook에 남아 있던 출력이다.

저장된 오류에서 배운 점

내가 수정한 회귀 Notebook에는 30개의 output object와 13개의 그림이 남아 있었고, 그중 error output도 3개 있었다. 오류를 없었던 일처럼 지우지 않고 입력 Tensor의 dtype·shape, requires_grad, update 뒤 gradient 초기화 순서부터 확인했다. 특히 parameter를 갱신한 다음 zero_grad()를 빠뜨리면 gradient가 누적된다는 점을 다시 적어 뒀다.

최소 회귀 Loop

m = torch.zeros((), requires_grad=True)
b = torch.zeros((), requires_grad=True)

for _ in range(50):
    prediction = m * x + b
    loss = ((prediction - y) ** 2).mean()
    loss.backward()
    with torch.no_grad():
        m -= learning_rate * m.grad
        b -= learning_rate * b.grad
        m.grad.zero_()
        b.grad.zero_()

코드를 짧게 만들면서도 forward, loss, backward, update, gradient reset 순서는 남겼다. 다음 글에서는 직선 하나로 풀 수 없는 함수와 spiral data를 신경망으로 옮긴다.

사용한 자료

  • 머신러닝 기초와 선형회귀 — course-pdf; 회귀 문제와 손실함수
  • 경사하강법 — course-pdf; 자동미분과 parameter update
논문 첫 페이지 미리보기