본문 바로가기
데이터 분석

[머신러닝] 로지스틱 회귀(Logistic Regression) - 선형 vs 비선형

by Data Lib 2023. 9. 12.

이번 포스팅에서는 선형 회귀 만큼이나 중요한 로지스틱 회귀에 대해 알아보도록 하겠습니다. 로지스틱 회귀는 선형 회귀에 가장 큰 차이점은 비선형 알고리즘이라는 것 입니다. 우리는 여기서 선형과 비선형의 차이도 같이 공부해 보도록 하겠습니다. 로지스틱 회귀는 기계 학습, 의료, 금융, 마케팅 등 다양한 분야에서 이진 분류 문제를 해결하는 데 많이 사용되는 강력한 통계 기법입니다. 로지스틱 회귀 분석의 원리를 배우고, 작동 방식을 설명하도록 하겠습니다.
 

 

Logistic Regression의 특징은?

로지스틱 회귀는 이진 결과의 확률을 예측하는 데 사용하는 알고리즘 입니다. 예를 들어, 질병 발생여부와 같이 발병(1), 정상(0) 사이에 중간 값이 없는 예측을 합니다. 두가지 값을 구분한다고 해서 Binary classification 이라고도 합니다. 어떤 사건의 직접 예측이 아니라 그 사건이 발생할 확률을 예측한다고 보는 것이 더 맞는 관점입니다.

 

연속형 X변수를 입력 받아 범주형 Y변수를 예측하는 방식 입니다. 실제 많은 자연 및 사회현상이 일어날 확률값이 선형이 아닌 S-커브 형태를 따르는 경우가 많습니다. 그래서 로지스틱 함수 또는 시그모이드 함수(S-커브)라고 말하기도 합니다.

 

딥러닝에서는 활성화 함수로 사용하기도 하는 기본적인 알고리즘 입니다. 일반화된 선형 모델(GLM, Generalized Linear Model) 이라는 표현도 사용합니다. 이는 선형적이지 않은 대상 즉, 비선형을 선형적으로 ‘일반화‘시킨 모형이라는 의미 입니다. 이렇게 하는 이유는 선형모형에서만 사용할 수 있는 모형의 해석, 확장, 수정 등의 방법을 사용하기 위해서 입니다. 

 

 

시그모이드 함수(Sigmoid Function)

시그모이드(Sigmoid) 라는 말은 S자 모양이라는 뜻 입니다. 선형회귀와 달리 smooth하게 변화하는 특징이 있습니다. 함수로서 종속변수(y) 값이 0~1사이 입니다. 미분가능한 함수이며 부드러운 곡선으로 표현됩니다. 단 하나의 변곡점을 가집니다. 그림에서 x=0이고 y=0.5인 지점입니다. 연속 값을 예측하는 선형 회귀와 달리 로지스틱 회귀는 분류 작업에 맞게 로직 입니다. 이는 종속 변수가 "예/아니요", "스팸/스팸 아님" 또는 "사기/사기 아님"과 같은 범주형일 때 특히 유용합니다.
 
로지스틱 함수는 특성의 선형 조합을 취하고 시그모이드 변환을 적용하여 출력을 확률 점수로 변환합니다. 이 확률이 미리 정의된 임계값(일반적으로 0.5)보다 크거나 같으면 모델은 양성 클래스를 예측합니다. 그렇지 않으면 음성 클래스를 예측합니다.
 

로지스틱 회귀
로지스틱 회귀

 

이진 분류 기준값(Threshold) 설정

앞에서 0.5에서 일반적으로 양과 음을 판단한다고 했습니다. 우리가 얻는 알고리즘의 결과값은 ‘분류확률’ 입니다. 이 확률이 특정 수준 이상 확보되면 샘플이 그 클래스에 속할지 말지를 비지니스에 따라 결정할 수 있습니다. 일반적으로는 0.5로 설정하고 이것이 기본 임계 값입니다. 
 
Threshold를 0.3, 0.4로 설정하는 경우는 성공 범주 비중이 낮을 때 적용할 수 있습니다. 예를 들어, 불량예측, 환자 예측, 사기카드 예측 등과 같은 업무에서 사례를 볼 수 있습니다. 전체적으로 오 분류가 더 많아지더라도, 실제 암환자를 놓치는 확률은 적게 설정하기 위해서 입니다. Threshold를 0.8 정도로 높게 설정하는 경우는 성공 범주 비중이 높을 때 사용합니다. 이런 경우는 해당 상황이 업무에서 많지는 않습니다. 이렇게 Threshold를 변경하는 것은 모델의 평가지표에 어떤 영향을 미칠까요? Threshold 변경에 따라 평가지표인 혼동행렬(confusion matrix)에서 어떻게 달라지는지를 자세한 설명은 아래를 내용을 참고하시기 바랍니다.

 

선형과 비선형 차이는?

앞에서 로지스틱 회귀는 비선형 모델이라고 했습니다. 그렇다면 선형과 비선형의 차이점은 무엇일까요? 쉽게 오해하는 부분이 선형모델은 모두 직선이고 곡선으로 그려진 그래프는 비선형이다 입니다. 이것은 잘못된 상식입니다. 정확히 구분하는 기준은 계수(w)들이 선형 (결합)관계에 있으면 선형입니다. 아니면 비선형 모델이라고 보면 됩니다. 
 

선형과 비선형 수식

 

선형 모델

선형 모델은 순차적, 일방향적으로 나타낼 수 있는 모델 입니다. 장점은 회귀계수의 관계 직관적이기 때문에 계수들에 대한 해석이 간단 합니다. 또  학습 속도와 예측 빠라서 대용량 데이터셋이라도 학습이 잘 이루어 집니다.
단점은 계수값(가중치)에 대한 표현력이 상대적으로 제한적 입니다. f(X)가 선형모델이라는 가정으로 구성할 때 실제 모델이 선형적이지 않으면 결과 모델이 데이터에 적합하지 않습니다. 

비선형 모델

비선형 모델은 데이터를 어떻게 변형하더라도, 파라미터를 선형 결합식으로 표현할 수 없는 모델을 말합니다. 장점은 현실 속 대부분의 데이터는 비선형모형 입니다. 최신 딥러닝기술도 선형과 비선형의 조합으로 비선형모델이라고 할 수 있습니다. 예측 자체가 중요한 복잡한 문제를 다룰 때는 유연한 비선형 모델(딥러닝)을 사용 합니다. 
단점은 모델의 해석이 어렵습니다. 현업, 고객에게 시각화해 보여주기 힘들어 커뮤니케이션으로 활용하기 힘듭니다. 

 

속성

종속변수 Y 자체를 그대로 사용하는 것이 아니라 Y에 대한 로짓 함수(Logit function)를 회귀식의 종속변수로 사용 합니다. 로짓함수의 값은 종속변수에 대한 성공 확률로 역산될 수 있으며, 따라서 분류문제에 적용할 수 있습니다. 로짓함수는 어떻게 나왔을까? 다음 포스팅에서는 이 부분을 다루도록 하겠습니다. 

결론은 선형 알고리즘과 비선형 알고리즘 사이의 선택은 데이터의 성격과 해결하려는 문제에 따라 다르다는 것입니다. 선형 알고리즘은 특징과 대상 간의 관계가 대부분 선형이거나 선형으로 근사화될 수 있을 때 활용하기 좋습니다. 비선형 알고리즘은 복잡한 비선형 패턴을 찾아내는 데 더 적합합니다. 비선형은 계산(연산)을 많이해야 하는 경우가 많으며 효과적으로 일반화하려면 더 큰 데이터 세트가 필요할 수 있습니다.