답변:
로지스틱 회귀는 무엇보다도 회귀입니다. 의사 결정 규칙을 추가하여 분류자가됩니다. 나는 거꾸로 예제를 줄 것이다. 즉, 데이터를 취하고 모델을 피팅하는 대신 이것이 회귀 문제가 어떻게되는지를 보여주기 위해 모델부터 시작하겠습니다.
로지스틱 회귀 분석에서는 이벤트가 발생하는 로그 확률, 즉 logit을 연속 수량으로 모델링합니다. 이벤트 가 발생할 확률 이 인 경우 확률은 다음과 같습니다.
따라서 로그 확률은 다음과 같습니다.
선형 회귀 분석에서와 같이 계수와 예측 변수의 선형 조합으로이를 모델링합니다.
우리가 사람이 흰머리를 가지고 있는지의 모델이 주어진다고 상상해보십시오. 우리의 모델은 나이를 유일한 예측 자로 사용합니다. 여기서 우리의 이벤트 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 함수를 사용할 수 있습니다 :
코드는 다음과 같습니다.
plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")
이것을 분류 자로 만들려면 마지막으로 결정 규칙을 추가해야합니다. 가장 일반적인 규칙 중 하나는 때마다 성공을 분류하는 것 입니다. 우리는이 규칙을 채택합니다. 이는 분류자가 사람이 40 세 이상일 때마다 회색 머리카락을 예측하고 사람이 40 세 미만일 때 회색이 아닌 머리카락을 예측한다는 것을 의미합니다.
로지스틱 회귀는 좀 더 현실적인 예에서도 분류 자로 훌륭하게 작동하지만 분류자가되기 전에 회귀 기술이어야합니다!
짧은 답변
그렇습니다. 로지스틱 회귀는 회귀 알고리즘이며 이벤트의 확률과 같은 연속적인 결과를 예측합니다. 이를 이진 분류기로 사용한다는 것은 결과의 해석 때문입니다.
세부 묘사
로지스틱 회귀는 일반화 선형 회귀 모델의 한 유형입니다.
일반적인 선형 회귀 모델에서 연속 결과 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
사건의 확률은 어디 입니까?
우리가 이진 분류기로 사용한다는 사실은 결과의 해석 때문입니다.
참고 : 프로 빗은 로지스틱 회귀에 사용되는 또 다른 링크 함수이지만 로짓이 가장 널리 사용됩니다.
회귀의 정의는 연속 변수를 예측하는 것입니다. 로지스틱 회귀 는 이진 분류기입니다. 로지스틱 회귀는 일반적인 회귀 접근법의 출력에 로짓 함수를 적용하는 것입니다. 로짓 기능은 (-inf, + inf)를 [0,1]로 바꿉니다. 나는 그것이 역사적인 이유 때문에 그 이름을 유지한다고 생각합니다.
"이미지를 분류하기 위해 약간의 회귀를 수행했습니다. 특히 로지스틱 회귀를 사용했습니다." 잘못되었습니다.