💻 본업(컴공생) 이야기/파이토치 공부 이야기

[파이토치 (PyTorch)] 6. Logistic Regression (로지스틱 회귀)

st오리🐥 2025. 1. 8. 01:04
728x90
반응형
SMALL

로지스틱이란? 🧐

  • "로지스틱"은 시그모이드 함수의 또 다른 이름인 로지스틱 함수에서 유래했습니다.
  • 수학적 기반은 회귀(Regression)를 사용하지만, 출력이 확률 값을 의미하므로 분류 (Classification) 문제를 해결하기 위한 지도학습 (Supervised Learning) 알고리즘입니다.

시그모이드 함수란? 🧐

(출처 : https://datasciencebeehive.tistory.com/80)

 

 주로 S자 형태의 곡선을 그리는 함수로, 수학적으로는 다음과 같이 표현할 수 있습니다.

 

 

 

 

시그모이드 함수의 특징

  1. 출력 범위: 시그모이드 함수의 출력값은 항상 0과 1 사이입니다. 이 특성 때문에 이 함수는 확률을 나타내는 데에 아주 적합합니다.
  2. S자 곡선: 시그모이드 함수는 S자 형태의 곡선을 그립니다. 이 곡선은 부드러운 미분 가능한 형태를 가지고 있어서 최적화가 용이합니다.
  3. 이진 분류: 로지스틱 회귀에서는 시그모이드 함수를 사용하여, 주어진 입력값이 특정 클래스에 속할 확률을 계산합니다. 이를 통해 이진 분류 문제를 해결할 수 있습니다.

 

선형함수와 시그모이드 함수가 만나면 

 

선형 모델을 통해 얻은 결과값 z(위 사진 상으로는 y_hat)는, 로지스틱 회귀에서 시그모이드 함수의 입력값 z 로 사용된다.

 

여기서 포인트는, 로지스틱 회귀에서는 z값 자체를 최종출력으로 쓰지 않고, 시그모이드 함수에 넣어서 0과 1 사이의 확률값으로 변환한다는 것이다.

 

1) 개념 🌱

로지스틱 회귀는 확률 기반 분류 모델로, 특정 입력값이 주어졌을 때, 결과가 특정 클래스에 속할 확률을 예측합니다.
ex)

  • 이메일이 스팸(1)인지 스팸 아님(0)인지 예측.
  • 환자가 질병이 있음(1)인지 없음(0)인지 판별.

위와 같이 이진 분류에서 주로 사용되지만, 확장하여 다중 클래스 분류에도 적용할 수 있습니다.


2) 로지스틱 회귀 공식 📐

  1. 선형 회귀 모델:
    먼저, 선형 모델을 사용하여 데이터를 표현합니다. 

 

  • W: 가중치(Weight)
  • X: 입력 데이터
  • b: 편향(Bias)

 

 

시그모이드 함수(Sigmoid Function):
선형 모델의 출력을 0과 1 사이의 확률 값으로 변환합니다.

 

 

 

    • 이 함수는 결과값이 0과 1 사이로 제한되므로 확률 값을 예측하는 데 적합합니다.
  1. 결정 기준:
    • P(y=1 | X) > 0.5 → 클래스 1로 분류.
    • P(y=1 | X) ≤ 0.5 → 클래스 0으로 분류.

3) 학습 방법 (Training) 🔄

1. 손실 함수 (Loss Function):
선형회귀에서는 loss를 오차제곱의 평균으로 구했지만, 로지스틱 회귀에서는 이진 크로스 엔트로피(Binary Cross-Entropy)를 사용한다.

 

예측이 맞으면 손실값이 줄어들고, 예측이 틀리면 손실값이 커진다.

 

  • 여기서 y_i 는 실제값, y_i (hat)는 예측값입니다.
  • 예측과 실제값의 차이를 줄이는 방향으로 학습이 진행됩니다.

2. 경사하강법(Gradient Descent):
손실 함수를 최소화하기 위해 가중치(W)와 편향(b)을 반복적으로 업데이트합니다.

 

 

 

https://colab.research.google.com/drive/1W8xm3uoPxyERjj34neH51p2MGxT6oUmn?usp=sharing

 

Logistic Regression

Colab notebook

colab.research.google.com

 

728x90
반응형
LIST