Logistic regression
머신러닝은 크게 지도학습과 비지도학습 그리고 강화학습으로 구분된다. 그중에서 지도학습의 기법인 로지스틱 회귀(LogisticRegression)에 대해 알아보고자 한다. 지도학습은 크게 분류(Classification)와 회귀(Regression)로 구분짓는데 로지스틱 회귀는 이름에 회귀(Regression)을 포함하고 있지만 대부분 분류를 목적으로 활용된다. 어떤 이유로 이름에 회귀를 포함하고 있지만 분류를 목적으로 사용하고 있는지 알아보고 로지스틱 회귀분석이란 어떤 것인지 정리를 통해 구체적으로 알아보겠다.
우선, 로지스틱 회귀를 알아보기 전에 회귀란 무엇인지 구체적인 개념을 잡고 가보자. 회귀의 사전적 의미는 ‘한 바퀴 돌아서 본디의 자리나 상태로 돌아오는 것’이라고 한다. 분석에서 회귀는 평균으로 돌아가는 것을 뜻하며, 예를 들어 부모와 자녀의 키는 선형적인 관계가 있어서 부모의 키가 크면 자녀의 키도 크겠지만 부모의 키가 아무리 커도 결국 자녀의 키는 자녀 세대의 평균으로 돌아가고 있는 것을 회귀한다고 표현한다.
로지스틱 회귀는 선형 회귀의 목표와 동일하게 종속 변수와 독립 변수의 관계를 하나의 모델로 정의하고 예측에 활용하는 것이다. 이렇듯 독립 변수의 선형 결합으로 종속 변수를 설명하고 있기에 선형 회귀 분석과 유사하지만 로지스틱 회귀는 종속 변수가 연속형이 아닌 범주형이라는 점에서 분류 기법으로 활용된다. 즉, 독립 변수의 선형적 특징을 활용한다는 점이 이름에 회귀를 포함하고 있다고 보았고, 종속 변수가 범주형이기에 분류 기법으로 활용한다고 보여진다.
위의 그래프는 선형 회귀 분석을 통한 분류는 문제가 있음을 알수있다. 첫번째 그래프를 보면 22시간 이상 공부한 사람은 시험에 통과하였고 22시간 보다 적게 공부한 사람은 탈락하였다. 이 결과를 바탕으로 선형적인 모델을 만들면 경계선을 기준으로 22시간일때의 합격률은 0.6~0.7 정도가 나온다. 만약 여기서 새로운 데이터로 많은 시간을 공부해서 합격한 사람이 추가된다고 가정해보자. 결과값인 종속 변수가 최대값이 1이기 때문에 이때 만들어진 모델은 그 전 모델보다 기울기가 감소하게된다. 이때 문제가 생기는데 기울기가 감소하여 합격의 기준이 높아짐으로 그전에 합격이라고 예측했던 값들이 불합격으로 잘못 판단하게 되는 경우가 발생하게된다. 이러한 문제점을 해결하기 위해 발견한 함수가 시그모이드 함수로 로지스틱 회귀에 사용된다.
시그모이드 함수는 무한한 범위의 x값이 들어오면 y값의 범위는 한상 [0, 1] 사이의 값으로 반환한다. 이러한 함수의 특징때문에 높은 값의 x가 들어와도 합격률의 변동이 없어 선형 회귀를 통한 분류의 문제를 해결가능하도록 만들어준다. 반대로 선형 회귀는 y값이 [0, 1]사이를 벗어나는 값이 나오기 때문에 분류로 활용시에는 예측의 정확도만 떨어뜨리게 된다. 그래서 로지스틱 회귀에서 시그모이드 함수를 사용하고 시그모이드 함수는 확률값을 반환해 0에 가까우면 0으로 1에 가까우면 1로 분류를 시행한다.
결론
- 선형회귀로 분류를 시행 시 발생하는 문제를 해결하기 위해 로지스틱 회귀를 사용한다.
- 로지스틱 회귀는 시그모이드 함수를 사용한 분류 기법이다.
- 시그모이드 함수는 확률값을 반환하고 확률에 따라 [0, 1]로 분류를 시행한다.
댓글남기기