로지스틱 회귀는 실제로 회귀 알고리즘입니까?


11

회귀의 일반적인 정의는 (내가 아는 한) 주어진 입력 변수 세트에서 연속 출력 변수를 예측하는 것 입니다.

로지스틱 회귀는 이진 분류 알고리즘이므로 범주 형 출력을 생성합니다.

정말 회귀 알고리즘입니까? 그렇다면 왜 그렇습니까?

답변:


23

로지스틱 회귀는 무엇보다도 회귀입니다. 의사 결정 규칙을 추가하여 분류자가됩니다. 나는 거꾸로 예제를 줄 것이다. 즉, 데이터를 취하고 모델을 피팅하는 대신 이것이 회귀 문제가 어떻게되는지를 보여주기 위해 모델부터 시작하겠습니다.

로지스틱 회귀 분석에서는 이벤트가 발생하는 로그 확률, 즉 logit을 연속 수량으로 모델링합니다. 이벤트 가 발생할 확률 이 인 경우 확률은 다음과 같습니다.AP(A)

P(A)1P(A)

따라서 로그 확률은 다음과 같습니다.

log(P(A)1P(A))

선형 회귀 분석에서와 같이 계수와 예측 변수의 선형 조합으로이를 모델링합니다.

logit=b0+b1x1+b2x2+

우리가 사람이 흰머리를 가지고 있는지의 모델이 주어진다고 상상해보십시오. 우리의 모델은 나이를 유일한 예측 자로 사용합니다. 여기서 우리의 이벤트 A = 사람은 흰머리를 가지고 있습니다

흰머리의 로그 확률 = -10 + 0.25 * 나이

... 회귀! 다음은 일부 Python 코드와 줄거리입니다.

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

x = np.linspace(0, 100, 100)

def log_odds(x):
    return -10 + .25 * x

plt.plot(x, log_odds(x))
plt.xlabel("age")
plt.ylabel("log odds of gray hair")

장난감 예제의 로그 확률 도표

이제 분류기로 만들어 봅시다. 먼저 확률 를 얻기 위해 로그 확률을 변환해야합니다 . 우리는 sigmoid 함수를 사용할 수 있습니다 :P(A)

P(A)=11+exp(log odds))

코드는 다음과 같습니다.

plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")

장난감 예제에서 흰머리의 확률도

이것을 분류 자로 만들려면 마지막으로 결정 규칙을 추가해야합니다. 가장 일반적인 규칙 중 하나는 때마다 성공을 분류하는 것 입니다. 우리는이 규칙을 채택합니다. 이는 분류자가 사람이 40 세 이상일 때마다 회색 머리카락을 예측하고 사람이 40 세 미만일 때 회색이 아닌 머리카락을 예측한다는 것을 의미합니다.P(A)>0.5

로지스틱 회귀는 좀 더 현실적인 예에서도 분류 자로 훌륭하게 작동하지만 분류자가되기 전에 회귀 기술이어야합니다!


실제로 사람들은 로지스틱 회귀 + 이진 분류기의 동의어로 로지스틱 회귀를 사용합니다.
jinawee

10

짧은 답변

그렇습니다. 로지스틱 회귀는 회귀 알고리즘이며 이벤트의 확률과 같은 연속적인 결과를 예측합니다. 이를 이진 분류기로 사용한다는 것은 결과의 해석 때문입니다.

세부 묘사

로지스틱 회귀는 일반화 선형 회귀 모델의 한 유형입니다.

일반적인 선형 회귀 모델에서 연속 결과 y는 예측 변수 곱과 그 효과의 합으로 모델링됩니다.

y = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e

e오류는 어디에 있습니까 ?

일반화 된 선형 모델은 y직접 모델링되지 않습니다 . 대신, 변환을 사용하여 영역 y을 모든 실수 로 확장합니다 . 이 변환을 링크 기능이라고합니다. 로지스틱 회귀 분석의 경우 링크 기능은 로짓 기능입니다 (일반적으로 아래 참고 참조).

로짓 함수는 다음과 같이 정의됩니다.

ln(y/(1 + y))

따라서 로지스틱 회귀의 형태는 다음과 같습니다.

ln(y/(1 + y)) = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e

y사건의 확률은 어디 입니까?

우리가 이진 분류기로 사용한다는 사실은 결과의 해석 때문입니다.

참고 : 프로 빗은 로지스틱 회귀에 사용되는 또 다른 링크 함수이지만 로짓이 가장 널리 사용됩니다.


1

회귀의 정의는 연속 변수를 예측하는 것입니다. 로지스틱 회귀 는 이진 분류기입니다. 로지스틱 회귀는 일반적인 회귀 접근법의 출력에 로짓 함수를 적용하는 것입니다. 로짓 기능은 (-inf, + inf)를 [0,1]로 바꿉니다. 나는 그것이 역사적인 이유 때문에 그 이름을 유지한다고 생각합니다.

"이미지를 분류하기 위해 약간의 회귀를 수행했습니다. 특히 로지스틱 회귀를 사용했습니다." 잘못되었습니다.


2
로지스틱 회귀는 이진 분류기로 사용할 수 있지만 본질적으로 하나는 아닙니다. 확률을 추정하거나 예측 변수와 결과의 관계를 결정하는 데 사용할 수 있습니다.
MattBagg

0

경우 가설 함수 간단히 회귀 알고리즘으로 만듭니다 . 따라서 로지스틱 함수 는 회귀 알고리즘을 만듭니다. 여기서 는 훈련 된 데이터 세트에서 발견 된 계수 또는 초평면 이며 는 데이터 포인트입니다. 여기서 는 클래스로 간주됩니다.ff:XRP(Y=1|λ,x)=11+eλTx[0,1]λxsign(P(Y=1|λ,x))

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.