콘텐츠로 이동

딥러닝의 기초: 선형 회귀와 로지스틱 회귀 모델

🚀 개요

딥러닝의 복잡한 신경망 구조도 결국은 회귀(Regression)분류(Classification)라는 두 가지 기초 위에 쌓여 있습니다. 이 포스트에서는 수치를 예측하는 '선형 회귀'와 참/거짓을 판단하는 '로지스틱 회귀'의 핵심 메커니즘을 정리합니다.

💡 선형 회귀 (Linear Regression): 수치 예측하기

독립 변수 $x$를 사용하여 종속 변수 $y$의 값을 예측하는 가장 단순한 모델입니다. - 수식: $y = ax + b$ (a: 기울기, b: 절편) - 목표: 실제 값과 예측값 사이의 오차(Mean Squared Error)를 최소화하는 $a$와 $b$를 찾는 것입니다.

🎯 로지스틱 회귀 (Logistic Regression): 참/거짓 판단하기

직선인 선형 회귀의 결과를 0과 1 사이의 값으로 변환하여 분류에 적합하게 만든 모델입니다.

시그모이드 함수 (Sigmoid Function)

아무리 큰 값이나 작은 값이 들어와도 출력 결과는 항상 0에서 1 사이로 수렴하게 만드는 함수입니다. - 수식: $f(x) = \frac{1}{1 + e^{-x}}$ - 의미: 출력이 0.5 이상이면 참(1), 0.5 미만이면 거짓(0)으로 판단하는 기준이 됩니다.

실습 코드 (TensorFlow/Keras)

import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# 데이터: [공부 시간], 결과: [합격(1)/불합격(0)]
x = np.array([2, 4, 6, 8, 10, 12, 14])
y = np.array([0, 0, 0, 1, 1, 1, 1])

model = Sequential()
model.add(Dense(1, input_dim=1, activation='sigmoid')) # 시그모이드 사용

model.compile(optimizer='adam', loss='binary_crossentropy') # 이진 크로스 엔트로피
model.fit(x, y, epochs=5000)

🛠 오차 계산법의 차이

구분 선형 회귀 로지스틱 회귀
목적 연속적인 값 예측 이진 분류 (0 또는 1)
오차 함수 평균 제곱 오차 (MSE) 교차 엔트로피 (Binary Crossentropy)
활성화 함수 없음 (또는 Linear) 시그모이드 (Sigmoid)

📐 학습 아키텍처

graph LR
    Input[Input X] --> Weight[Weight & Bias]
    Weight --> Sum[Sum]
    Sum --> Activation{Sigmoid}
    Activation --> Output[Probability 0~1]
    Output --> Loss[Compute Loss]
    Loss --> Update[Backpropagation]
    Update --> Weight

📝 배운 점 및 결론

  • 직선에서 곡선으로: 단순한 직선의 방정식을 시그모이드 함수에 통과시키는 것만으로도 강력한 분류 도구가 된다는 점이 흥미롭습니다.
  • 딥러닝의 최소 단위: 단일 뉴런으로 구성된 로지스틱 회귀 모델이 곧 인공 신경망을 이루는 가장 작은 단위인 '퍼셉트론'의 기초가 됨을 이해했습니다.
  • 확률적 판단: 단순한 0/1이 아니라 0.85와 같은 '확률'을 얻음으로써 판단의 신뢰도를 함께 평가할 수 있다는 장점이 있습니다.

작성자: kim-hyunjin 작성일: 2026-04-21