딥러닝/[ 이론 ]

logistic regression 에서 sigmoid함수를 쓰는 이유

씩씩한 IT블로그 2020. 10. 5. 14:33
반응형

0. 문제

50이상이면 1, 50이하이면 0을 갖는 위와 같은 데이터가 있다. 이 데이터를 학습해서 특정 점수를 받았을 때 1을 갖는지 0을 갖는지 분류해주는 모델을 만들어 본다고 하자.

 

1. linear regression

선형회귀분석으로도 모델을 만들 수 있다. 예측 모형을 만들고, x값을 넣었을 때 y값이 0.5이상이면 1, 0.5이하이면 0을 가지게 한다.(decision boundary)

하지만 선형회귀분석을 통해 모델을 만들면 outliar에 취약해진다.

위 사진과 같이 outliar가 없을때(왼쪽 초록선)보다 outliar가 있을때 기울기가 급격하게 낮아지면서 잘못 분류되는 데이터가 매우 많아지게 된다.

 

2. logistic regression

outliar의문제는 logistic regression(sigmoid function)을 쓰면 해결된다.

sigmoid fuction의 구조덕분인데, sigmoid의 식은 아래와 같다.

즉 x값이 0에 가까우면 변화율이 크지만, 너무크거나 작으면 각각 1과 0에 수렴하며 y값에 큰 영향을 미치지 않는 것이다.

아래의 예시로 확인할 수 있다.

 

따라서 아래와 같이 실제로 outliar가 있어도 선형회귀보다 덜 영향을 받으며 robust하게 데이터를 잘 분류할 수 있다.

 

* 출처 : 패스트캠퍼스 수학적으로 접근하는 딥러닝 올인원 패키지 Online.

반응형