시냅스

[시냅스2주차]지도학습_회귀(Regression)

yeondu428 2026. 3. 21. 23:38

2주차 스터디에서는 머신러닝의 기본 개념인 지도학습과 비지도학습에 대해 학습하였습니다.

두 학습 방식은 데이터를 어떻게 활용하느냐에 따라 구분되며 머신러닝을 이해하는 데 가장 중요한 기초 개념입니다.

 

이번차시는 는 지도학습 중 회귀(Regression)에 대해서 학습해 보았습니다.

 

 

1. 회귀(Regression)

: 데이터의 흐름을 파악하여 임의의 지점에서의 연속된 수치를 알아내는 것

: 입력 데이터와 출력 값 사이의 관계를 학습하여 연속적인 수치를 예측하는 지도학습 방법

 

회귀 vs 분류

구분 회귀 분류  
질문의 성격 "얼마나(How) "어느 것(which one)"  
결과값 형태 연속적인 숫자(Continuous) 이산적인 범주(Discrete)  
예시1 내일 기온은 24도 일 것이다. 내일 비가 올 것인가?  
예시2 다음 달 주가는 얼마일까? 이 사진은 고양이인가 강아지인가?  

 

 

2. 선형회귀

: 선형회귀는 입력 변수와 출력 변수 사이의 관계를 직선 형태(선형)로 표현하는 회귀 모델

 

y = wx + b

 

 

  • w(Weight): 가중치, 선의 기울기, 영향력 (입력 데이터가 결과에 주는 영향의 강도)
  • b(Bias): 편향, 기본값, 절편 (데이터의 기본 베이스 라인)

선형회귀의 목표는 수많은 점들을 가장 잘 대표하는 

'단 하나의 최적의 선'을 찾는 것입니다

 

https://datascienceschool.net/03%20machine%20learning/04.01%20회귀분석%20예제.html

 

 

3. 손실함수

: 모델이 예측한 값과 실제 데이터 사이의 거리를 계산한 함수

즉, 오차를 측정함

 

오차 = 실제값 - 예측값

직선에서 점들이 멀어질수록 성능이 낮은 모델

 

MSE(평균 제곱 오차) 

 

오차를 제곱하는 이유

  • 부호 제거: 음수 오차를 양수로 만들어 전체 합산을 가능하게 함
  • 가중 패널티: 오차가 클수록 더 큰 벌을부여하여 정교한 학습 유도

=> 컴퓨터는 이 MSE 점수를 낮추기 위해 모든 가중치를 조정한다

선형회귀에서는 주로 MSE(Mean Squared Error)를 사용

 

선형회귀 = 가설 정의하는 단계
손실함수 = 그 가설이 얼마나 틀렸는지 평가하는 단계

 

4. 경사하강법

: 경사하강법은 손실함수 값을 최소화하기 위해
가중치(w)와 편향(b)을 반복적으로 조정하는 최적화 방법

 

작동 과정

1.  초기 w, b 값을 설정함
2.  손실함수를 계산함
3.  기울기(gradient)를 구함
4.  손실이 감소하는 방향으로 w, b를 업데이트함
5.  최솟값에 도달할 때까지 반복함

 

=> 손실함수 그래프에서 가장 낮은 지점을 찾는 과정

=> 마치 산에서 가장 낮은 곳으로 내려가는 것과 같은 방식

=> 적절한 학습률을 설정하는 것이 중요

 

 

5. 실습

import numpy as mp
from sklearn.linear_model import LinearRegression # 선형회귀 모델을 생성하기 위한 클래스

# 1. 데이터 준비(x: 학습시간, y: 점수)
x = np.array([[2], [4], [6], [8], [10]])
y = np.array([50,60,70,80,90])

# 2. 모델 초기화 및 학습
model = LinearRegression() # 선형회귀 모델 객체 생성
model.fit(x, y) # 데이터를 이용해서 모델을 학습하는 함수

# 3. 새로운 데이터(7시간 학습) 예측
test_hour = np.array([[7]])
predicted_score = model.predict(test_hour) #학습된 모델을 이용해서 새로운 데이터의 값을 예측하는 함수

print("7시간 이상 학습 시 예상 점수 = {predicted_score[0]}")

 

  • model.fit(x, y)
    → 데이터를 이용해서 모델을 학습하는 함수

=> 이 과정에서 내부적으로

  • 가설 설정 (y = wx + b)
  • 손실함수 계산
  • 경사하강법 (또는 최적화) 이 모두 자동으로 수행됨