인공지능 (AI)/머신러닝 (ML)

2 - 숫자로 미래를 그리다: 선형 회귀

2025. 4. 3. 18:13
목차
  1. 1️⃣ 선형 회귀란?
  2. 2️⃣ 선형 회귀의 수학적 구조
  3. 📌 단순 선형 회귀
  4. 📌 다중 선형 회귀
  5. 3️⃣ 비용 함수 (Loss Function)
  6. 4️⃣ 경사 하강법 (Gradient Descent)
  7. ✅ 실습 과제: 직접 선형 회귀 모델 만들어보기
  8. 📝 결과 해석
728x90
반응형
SMALL

1️⃣ 선형 회귀란?

선형 회귀(Linear Regression)는 입력 변수(독립 변수, X)와 출력 변수(종속 변수, Y) 사이의 관계를 직선 형태로 모델링하는 대표적인 지도 학습 알고리즘입니다.
복잡한 모델로 가기 전, 데이터를 예측하는 가장 기초적인 접근 방식으로 많이 사용됩니다.

예를 들어,

  • 공부 시간(X)과 시험 점수(Y)
  • 광고 비용(X)과 매출(Y)
  • 주택 크기(X)와 가격(Y)

이러한 관계를 하나의 직선(또는 다차원의 평면)으로 표현하고자 할 때 선형 회귀가 활용됩니다.


2️⃣ 선형 회귀의 수학적 구조

📌 단순 선형 회귀

단 하나의 입력 변수 X가 있는 경우, 선형 회귀는 아래와 같은 1차 함수 형태를 가집니다:

Y=WX+b

  • Y: 예측값 (종속 변수)
  • X: 입력값 (독립 변수)
  • W: 기울기 (가중치)
  • b: 절편 (bias)

📌 다중 선형 회귀

입력 변수가 여러 개일 경우에는 다음과 같은 수식으로 일반화됩니다:

Y=W1X1+W2X2+⋯+WnXn+b

각 입력 변수에 고유의 가중치 𝑊𝑖를 곱한 후, 이들을 모두 더하고 절편 𝑏를 더해 예측값을 계산한다.


3️⃣ 비용 함수 (Loss Function)

선형 회귀는 예측값과 실제값의 차이를 최소화하는 직선을 찾는 것이 핵심이다.
이 차이를 수치로 표현한 것이 비용 함수(Loss Function)이고, 그중 가장 대표적인 것이 평균제곱오차(MSE)다.

값이 작을수록 예측이 잘 된 것이다.


4️⃣ 경사 하강법 (Gradient Descent)

선형 회귀는 비용 함수를 최소화하는 방향으로 W와 b를 계속 업데이트합니다.
이때 사용하는 알고리즘이 바로 경사 하강법(Gradient Descent)입니다.

업데이트 식은 다음과 같다:

너무 크게 이동하면 발산하고, 너무 작게 이동하면 수렴이 느려지므로 적절한 α\alpha 선택이 중요합니다.


✅ 실습 과제: 직접 선형 회귀 모델 만들어보기

아래 코드를 실행해 실제로 선형 회귀 모델을 만들어보고 시각화까지 해봅시다.

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# 데이터 생성
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)  # 실제 값 (노이즈 포함)

# 모델 학습
model = LinearRegression()
model.fit(X, y)

# 예측값 생성
X_new = np.array([[0], [2]])
y_pred = model.predict(X_new)

# 시각화
plt.scatter(X, y, color="blue", label="Actual Data")
plt.plot(X_new, y_pred, color="red", linewidth=2, label="Predicted Line")
plt.xlabel("X")
plt.ylabel("Y")
plt.legend()
plt.show()

📝 결과 해석

  • 파란 점: 실제 데이터
  • 빨간 선: 모델이 예측한 선형 회귀선

직선이 데이터의 분포를 잘 설명할수록 모델의 예측 성능이 좋다는 의미입니다.

728x90
반응형
LIST

'인공지능 (AI) > 머신러닝 (ML)' 카테고리의 다른 글

6 - 숫자부터 문자까지, 분류의 확장: 다중 클래스 분류와 소프트맥스 회귀  (0) 2025.04.03
5 - 분류의 시작: 로지스틱 회귀와 시그모이드 함수  (0) 2025.04.03
4 - 회귀 모델 성능, 어떻게 더 좋게 만들 수 있을까?  (0) 2025.04.03
3 - 예측을 더 정밀하게: 다중 선형 회귀  (0) 2025.04.03
1 - 데이터가 스스로 배우는 세상: 머신러닝 개요  (0) 2025.04.03
  1. 1️⃣ 선형 회귀란?
  2. 2️⃣ 선형 회귀의 수학적 구조
  3. 📌 단순 선형 회귀
  4. 📌 다중 선형 회귀
  5. 3️⃣ 비용 함수 (Loss Function)
  6. 4️⃣ 경사 하강법 (Gradient Descent)
  7. ✅ 실습 과제: 직접 선형 회귀 모델 만들어보기
  8. 📝 결과 해석
'인공지능 (AI)/머신러닝 (ML)' 카테고리의 다른 글
  • 5 - 분류의 시작: 로지스틱 회귀와 시그모이드 함수
  • 4 - 회귀 모델 성능, 어떻게 더 좋게 만들 수 있을까?
  • 3 - 예측을 더 정밀하게: 다중 선형 회귀
  • 1 - 데이터가 스스로 배우는 세상: 머신러닝 개요
gsroot
gsroot
gsrootgsroot 님의 블로그입니다.
gsroot
gsroot
gsroot
전체
오늘
어제
  • 분류 전체보기 (126)
    • 파이썬 (Python) (3)
    • 데이터 과학 (Data Science) (29)
      • 데이터브릭스 (11)
      • Apache Superset (9)
    • 인공지능 (AI) (43)
      • 머신러닝 (ML) (19)
      • LLM (8)
      • MCP (8)
      • OpenAI Agents SDK (7)
    • 블록체인 (Block Chain) (37)
      • 이더리움 (36)
      • 코스모스 (0)
    • 웹 (Web) 개발 (9)
    • 앱 (App) 개발 (0)
    • 데브옵스 (DevOps) (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • NLP
  • 스마트컨트랙트
  • 이더리움
  • Superset
  • openai agents sdk
  • 자동화
  • claude
  • 선형회귀
  • 머신러닝
  • MCP
  • redis
  • 자연어 처리
  • cursor
  • 블록체인
  • FastAPI
  • 파이썬
  • 데이터 시각화
  • 웹 개발
  • DevOps
  • LLM
  • 데이터 과학
  • Ai
  • Redis Sentinel
  • GPT
  • 브라우니
  • 솔리디티
  • 데이터브릭스
  • cognosys
  • ci/cd
  • Python

최근 댓글

최근 글

반응형
250x250
hELLO · Designed By 정상우.
gsroot
2 - 숫자로 미래를 그리다: 선형 회귀
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.