논리 회귀 Logistic regression

HJ Koo·2022년 1월 11일
0

AI

목록 보기
6/10

논리 회귀와 전처리
문제를 풀기 위해서는 어떤 전처리 방법을 해야 하는지 아는 것이 능력이다.

논리 회귀 (Logistic regression)

선형회귀로 풀 수 없는 문제를 논리회귀로 푼다.

예로 입력값이 [공부한 시간]이고 출력값이 [이수 여부]가 되는 이진 클래스를 들 수 있다.

logistic function을 사용하면 아래같이 곡선 그래프가 나온다. 이에 y축의 0(실패)와 1(성공) 사이 확률을 보고 어디에 더 가깝냐에 따라 0(실패) 냐, 1(성공)이냐를 출력한다.

이 때 이진클래스로 답해 줄 수 있도록 임계치 threshold 이상이면 1(성공)이다 도출하는 것이다.
(threshold : 통계적 가설에서 기각이나 채택 여부를 결정하는 판정 기준)

실제로 이런 S-커브를 함수로 나타내는 것이 logistic function 이다. 딥러닝에서는 이를 시그모이드 Sigmoid function 함수라고 부른다.

가설과 손실함수

결국은 선형회귀인데 0과1사이에서 값을 도출하기 위해 시그모이드를 붙였다고 생각하면 된다.

출력값을 0과 1로 구분하여 도출하고자 하기 때문이다.

💡 **시그모이드 함수** x(입력값)값이 음수 방향으로 갈수록 y(출력값)가 0에 가까워지고 x(입력값)값이 양수 방향으로 갈수록 y(출력값)가 1에 가까워진다 따라서 시그모이드 함수는 0과 1사이에서만 답을 도출하다!

즉, x (입력값)값을 선형회귀를 통해서 y(출력값)값이 나오게 되면/ 시그모이드함수에 넣어서 우리가 원하는 예측값으로 구분하도록 확률로 나타내 주는 구조인 것이다.

H(x)=11+e(Wx+b)H(x) = \frac{1}{1 + e^{-(Wx + b)}}

항상 손실함수를 최소화하는 방향으로 가게 된다.

Logistic regression 에서는 이수했으면 1에 가깝게 나오고, 이수를 못했으면 0에 가깝게 나오면 되는 것이다. 따라서 Logistic regression은 선형이 아니라 확률분포로 이해하면 더 쉽다.

  1. 0 [미이수]인 확률이 100%로 나오게 → 예측값 H(x)이 1에 가깝게
  2. 1 [이수,통과]인 확률이 100%로 나오게 → 예측값 H(x)이 0에 가깝게

즉 가설에 가깝게 출력값을 도출하기 위해서
Linear Regression 에서는 cost function 손실함수를 최소화하는 방향으로 학습해야 하고,
Logistic regression 에서는 확률분포 그래프의 차이를 줄이는 방향으로 학습한다. 그 손실함수 Crossentropy 가 되는 것이다.

profile
날마다 꾸준히 성장하는 Software Engineer

0개의 댓글