[지도학습] 회귀모델 - 로지스틱 회귀

2022. 3. 14. 13:46STUDY/머신러닝

회귀모델 - 논리회귀


논리회귀 구조 및 학습과정

논리회귀란 기존 회귀(return값이 실수)와 달리 return값이 True(1)/False(0)로써 분류를 할때 사용한다.

이진분류와 동일한 기능을하며, 구조는 선형회귀에서 출력쪽에 sigmoid를 추가한 것

학습과정은 선형회귀와 동일 (구조랑 loss만 다름)

 

sigmoid 함수를 사용한 이유?

선형회귀의 경우에는, 정확한 입출력관계를 모르는 데이터에 대해 경향성을 파악하고자 함이고

논리회귀의 경우에는 경향성을 파악하는게아닌 데이터를 분류하기 위한 목적으로 사용되는데

이때 사용되는 함수가 sigmoid함수이다.

 

sigmoid함수 형태는 아래와 같은데

입력값 z에대해 출력결과가 0~1사이의 값을 가지므로

출력값이 0.5이상일경우 class(1) 로 정의하고

출력값이 0.5미만일경우 class(0)으로 정의하여 분류를 수행한다.

 

sigmoid 함수를 사용하면 분류가 더 정확하게 되는이유는

아래처럼 sigmoid 함수형태로 부터 알 수 있다. (파란색 점이 새로운 입력데이터)

 

지도학습으로의 회귀 정리

논리회귀

데이터 : 분류형 변수 (e.g. 남/여, class(1/0) ... )

Loss : BCE loss 사용

return : Linear layer 통과 후 sigmoid를 통과하기에 probability 를 리턴