본문 바로가기

데이터 다루기/머신러닝 이론

[머신러닝] Logistic Regression

728x90
반응형

안녕하세요, 이번 포스팅에서는 Logistic Regression에 대해서 배워보도록 하겠습니다.

일반적으로, 저희가 배운 선형회귀분석, Ridge, Lasso Regression 은 종속 변수 Y가 연속형일 때 사용되었습니다.

그렇다면, 분류 문제에 대해서 회귀분석을 사용할 수 있을까요??

이처럼 선형 회귀 모형을 범주형 종속 변수를 가지는 분류 문제에 사용하기 위해 나온 모델이 로지스틱 회귀 모형입니다.

회귀 모형의 출력값은 연속형 변수인것은 변함이 없습니다. 그렇기 때문에, 로지스틱 회귀 모형은 확률을 예측합니다.

예를 들어서, 성공 (1), 실패 (0)을 예측한다고 가정을 할 때, X=x 의 값을 가질 때, 실제로 성공이 될 확률을 예측하는 것입니다.

만약 성공일 확률이 0.5보다 높다고 한다면 성공이라고 예측하는 것은 합리적이라고 할 수 있습니다.

하지만 이러한 방법에도 문제가 있습니다. 우리가 그저 확률을 예측한다고 할 때, 확률에는 0과 1사이의 값만을 가져야 한다는 제약 조건이 붙게 됩니다. 하지만 실제로, 선형 회귀분석을 할 때는, 나올 수 있는 값에 제한이 없습니다. (직선이기 때문에)

따라서, 로지스틱 회귀 모형은 선형 함수가 아닌 로지스틱 함수를 사용합니다.

https://en.wikipedia.org/wiki/Logistic_function

 

로지스틱 함수의 특징으로는 x의 값이 어떠한 값을 가지더라도, 0과 1 사이의 값을 가지면서, (0,0.5)에 대하여 대칭입니다.

우리는 p(x)를 위와 같이 정의하여, 종속 변수 Y를 예측합니다.

이 때, 우리는 우도비 (Odds ratio)를 다음과 같이 정의합니다.

그리고 2진 분류라고 가정을 할 때, y의 예측 값은 다음과 같이 정의됩니다.

이는 다른 말로하면, p(Y | X)가 0.5보다 크거나 같다면 1로 예측하고, 0.5보다 작다면 0으로 예측한다고 이해하시면 됩니다.

회귀 계수 ß 에 대한 추정은 likelihood를 사용합니다.

지금까지는 이진 분류에서의 로지스틱 회귀 모형을 다루어 보았는데요.

다음으로 이진 분류가 아닌 다항 분류 (Multinomial classification)에서는 어떻게 작동하는지를 배워볼까 합니다.

정답을 바로 말씀드리면, 로지스틱 함수에서 소프트맥스 (softmax) 함수를 사용합니다.

소프트맥스 함수는 다음과 같이 정의 됩니다.

그리고 Y가 총 K개의 Level 를 가진다고 할 때, 각 Level로 예측될 확률은 다음과 같습니다.

따라서, 각 예측 값의 확률이 가장 큰 Level로 예측이 됩니다.

반응형