로지스틱이란? 🧐
- "로지스틱"은 시그모이드 함수의 또 다른 이름인 로지스틱 함수에서 유래했습니다.
- 수학적 기반은 회귀(Regression)를 사용하지만, 출력이 확률 값을 의미하므로 분류 (Classification) 문제를 해결하기 위한 지도학습 (Supervised Learning) 알고리즘입니다.
시그모이드 함수란? 🧐
(출처 : https://datasciencebeehive.tistory.com/80)
주로 S자 형태의 곡선을 그리는 함수로, 수학적으로는 다음과 같이 표현할 수 있습니다.
시그모이드 함수의 특징
- 출력 범위: 시그모이드 함수의 출력값은 항상 0과 1 사이입니다. 이 특성 때문에 이 함수는 확률을 나타내는 데에 아주 적합합니다.
- S자 곡선: 시그모이드 함수는 S자 형태의 곡선을 그립니다. 이 곡선은 부드러운 미분 가능한 형태를 가지고 있어서 최적화가 용이합니다.
- 이진 분류: 로지스틱 회귀에서는 시그모이드 함수를 사용하여, 주어진 입력값이 특정 클래스에 속할 확률을 계산합니다. 이를 통해 이진 분류 문제를 해결할 수 있습니다.
선형함수와 시그모이드 함수가 만나면
선형 모델을 통해 얻은 결과값 z(위 사진 상으로는 y_hat)는, 로지스틱 회귀에서 시그모이드 함수의 입력값 z 로 사용된다.
여기서 포인트는, 로지스틱 회귀에서는 z값 자체를 최종출력으로 쓰지 않고, 시그모이드 함수에 넣어서 0과 1 사이의 확률값으로 변환한다는 것이다.
1) 개념 🌱
로지스틱 회귀는 확률 기반 분류 모델로, 특정 입력값이 주어졌을 때, 결과가 특정 클래스에 속할 확률을 예측합니다.
ex)
- 이메일이 스팸(1)인지 스팸 아님(0)인지 예측.
- 환자가 질병이 있음(1)인지 없음(0)인지 판별.
위와 같이 이진 분류에서 주로 사용되지만, 확장하여 다중 클래스 분류에도 적용할 수 있습니다.
2) 로지스틱 회귀 공식 📐
- 선형 회귀 모델:
먼저, 선형 모델을 사용하여 데이터를 표현합니다.
- W: 가중치(Weight)
- X: 입력 데이터
- b: 편향(Bias)
시그모이드 함수(Sigmoid Function):
선형 모델의 출력을 0과 1 사이의 확률 값으로 변환합니다.
-
- 이 함수는 결과값이 0과 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
'💻 본업(컴공생) 이야기 > 파이토치 공부 이야기' 카테고리의 다른 글
[파이토치 (PyTorch)] 8. PyTorch DataLoader (0) | 2025.01.08 |
---|---|
[파이토치 (PyTorch)] 7. Wide and Deep (2) | 2025.01.08 |
[파이토치 (PyTorch)] 5. Linear Regression in PyTorch way (0) | 2025.01.07 |
[파이토치 (PyTorch)] 4. Back-propagation (역전파) (0) | 2025.01.07 |
[파이토치 (PyTorch)] 3. Gradient Descent (경사 하강법) (0) | 2025.01.07 |