본문 바로가기
데이터/방통대 - 머신러닝

[내 머리로 머신러닝] 회귀

by 단단_SINCE 2023 2024. 11. 28.

 

회귀분석 정리: 선형회귀와 로지스틱 회귀 쉽게 배우기

회귀 분석은 입력값과 출력값 사이의 관계를 수학적으로 설명하거나, 새로운 입력값에 대한 출력값을 예측하는 데 사용하는 기법이다. 지금부터 선형회귀로지스틱 회귀를 중심으로 알아보겠다. 🚀


1. 회귀란? 🤔

회귀는 **입력값(독립 변수)**과 **출력값(종속 변수)**의 관계를 함수 형태로 모델링하는 작업.

회귀의 주요 특징

  • 출력값이 연속적인 실수형 데이터일 때 사용한다.
  • 대표적인 응용 분야:
    • 📈 주식 가격 예측
    • 🌦️ 날씨 데이터 분석
    • 🕒 시계열 데이터 예측

학습 목표 🎯

회귀의 목표는 오차를 최소화하는 최적의 함수(모델)를 찾는 것.

  • 오차란?
    모델이 예측한 값과 실제 값 간의 차이를 의미한다.
  • 회귀 분석은 이 오차를 줄여서 실제 시스템을 최대한 정확히 표현하려는 작업.

2. 선형회귀 🔢

선형회귀는 입력값과 출력값 사이의 관계를 직선으로 설명하는 회귀 분석 기법

 

 

@선형회귀 예시

선형회귀 함수

y=w0+w1x+ϵy = w_0 + w_1x + \epsilon

  • w0w_0: 절편 (y축과의 교점)
  • w1w_1: 기울기 (x가 증가할 때 y가 얼마나 변하는지)
  • ϵ\epsilon: 오차 (예측값과 실제값의 차이)

최적의 기울기와 절편 계산하기

주어진 데이터에서 가장 적합한 w0w_0w1w_1을 찾는 것이 목표입니다.
이를 위해 **평균제곱오차(MSE)**를 최소화하는 값으로 계산합니다:

w1=N∑xiyi−∑xi∑yiN∑xi2−(∑xi)2,w0=yˉ−w1xˉw_1 = \frac{N\sum{x_iy_i} - \sum{x_i}\sum{y_i}}{N\sum{x_i^2} - (\sum{x_i})^2}, \quad w_0 = \bar{y} - w_1\bar{x}

예시 📚

  • 독립 변수: 집 크기(㎡)
  • 종속 변수: 집값(만원)
    선형회귀는 집 크기가 커질수록 집값이 얼마나 증가하는지 예측할 수 있다.

3. 로지스틱 회귀 🧮

로지스틱 회귀는 **출력값이 범주형(분류 문제)**일 때 사용하는 회귀 분석 기법이다.

왜 '회귀'라는 이름이 붙었을까? 🤷‍♂️

로지스틱 회귀도 선형회귀의 결과를 기반으로 출력값을 예측하기 때문에 '회귀'라는 이름이 붙었다. 하지만 최종적으로 0과 1 사이의 확률을 예측하는 게 핵심입니다. (분류)

로지스틱 함수(Sigmoid Function)

로지스틱 회귀는 선형회귀의 결과를 S자 형태의 시그모이드 함수에 통과시켜 확률값으로 변환한다:

P(y=1∣x)=11+e−z,z=w0+w1xP(y=1|x) = \frac{1}{1 + e^{-z}}, \quad z = w_0 + w_1x

이 확률값이 0.5 이상이면 클래스 1, 그렇지 않으면 클래스 0으로 분류.

 

@로지스틱회귀 예시

 

오즈비와 로그 오즈 🔑

로지스틱 회귀는 분류 문제에서 **오즈비(Odds Ratio)**를 사용한다.

  • 오즈비: 사건이 일어날 확률과 일어나지 않을 확률의 비율.
  • 로짓 함수(Logit): 오즈비에 로그를 취한 함수.

매개변수 추정

로지스틱 회귀는 최대우도추정(MLE) 방법으로 매개변수(w0,w1w_0, w_1)를 학습

예시 🧑‍🏫

  • 독립 변수: 시험 공부 시간(시간)
  • 종속 변수: 합격 여부(합격=1, 불합격=0)
    로지스틱 회귀는 공부 시간에 따른 합격 확률을 계산할 수 있다.

 

4. 선형회귀와 로지스틱 회귀의 차이점 🔍

특징 선형회귀 로지스틱 회귀

목표 연속형 출력값 예측 범주형 출력값 예측
출력값 실수(예: 0.5, 1.2) 확률값(0~1 사이)
적용 문제 📈 주식 예측, 🌦️ 날씨 예측 등 ✅ 분류 문제(합격/불합격, 스팸/비스팸)
함수 형태 직선 S자 곡선(Sigmoid)

마무리하며 💬

  • 선형회귀연속형 데이터 예측에 적합한 도구이고,
  • 로지스틱 회귀분류 문제를 해결하는 데 강력한 방법.

 이 두 가지 기법을 잘 익히면 회귀 분석의 기본을 탄탄히 다질 수 있을것이다. 😊