많은 문제는 확률 추정치를 출력으로 요구합니다. 로지스틱 회귀는 확률을 계산하는 데 매우 효율적인 메커니즘입니다. 실제로는 반환된 확률을 다음 두 가지 방법 중 하나로 사용할 수 있습니다.
'있는 그대로' 적용되었습니다. 예를 들어 스팸 예측 모델이 이메일을
0.932
값을 입력하고 출력하는 경우 이 예측값은93.2%
스팸 메일입니다.바이너리 카테고리로 전환됨 (예:
True
,False
,Spam
,Not Spam
)
이 모듈에서는 로지스틱 회귀 모델 출력을 있는 그대로 사용하는 데 중점을 둡니다. 분류 모듈에서는 출력을 이진 카테고리로 변환합니다.
시그모이드 함수
로지스틱 회귀 모델이 출력이 항상 0과 1 사이의 값을 출력하여 확률을 나타낼 수 있는지 궁금할 수 있습니다. 그대로 로지스틱 함수라고 하는 함수군이 있습니다. 그 출력의 특성이 동일한지 확인하세요 표준 로지스틱 함수인 일명 시그모이드 함수 (시그모이드는 's자형'을 의미), 공식:
\[f(x) = \frac{1}{1 + e^{-x}}\]
그림 1은 이에 상응하는 시그모이드 함수의 그래프를 보여줍니다.
입력 x
가 증가하면 시그모이드 함수의 출력이 접근합니다.
1
에 도달하지 못합니다. 마찬가지로 입력이 감소하면 시그모이드가
함수의 출력이 가까워지지만 0
에 도달하지는 않습니다.
시그모이드 함수의 수학적 배경을 자세히 알아보려면 여기를 클릭하세요
아래 표는 주어진 입력 시퀀스에 대한 시그모이드 함수의 출력 값을 입력 값을 선택할 수 있습니다. 시그모이드가 얼마나 빨리 0: 음수 입력값 감소 및 시그모이드에 접근하는 속도 1: 양의 입력 값 증가
그러나 입력 값이 얼마나 크거나 작든 상관없이 출력은 항상 0보다 크고 1보다 작아야 합니다.
입력 | 시그모이드 출력 |
---|---|
-7 | 0.001 |
-6 | 0.002 |
-5 | 0.007 |
-4 | 0.018 |
-3 | 0.047 |
-2 | 0.119 |
-1 | 0.269 |
0 | 0.50 |
1 | 0.731 |
2 | 0.881 |
3 | 0.952 |
4 | 0.982 |
5 | 0.993 |
6 | 0.997 |
7 | 0.999달러 |
시그모이드 함수를 사용하여 선형 출력 변환
다음 방정식은 로지스틱 회귀 모델의 선형 구성요소를 나타냅니다.
\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]
각 항목의 의미는 다음과 같습니다.
- z는 선형 방정식의 출력으로, 로그 오즈라고도 합니다.
- b는 편향입니다.
- w 값은 모델의 학습된 가중치입니다.
- x 값은 특정 예에 대한 특성 값입니다.
로지스틱 회귀 예측을 얻기 위해 z 값이 시그모이드 함수에 전달되어 0과 1 사이의 값(확률)을 생성합니다.
\[y' = \frac{1}{1 + e^{-z}}\]
각 항목의 의미는 다음과 같습니다.
- y'는 로지스틱 회귀 모델의 출력입니다.
- z는 (위 방정식에서 계산한) 선형 출력입니다.
여기를 클릭하여 로그 오즈
방정식에서 $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z 로그 오즈라고 합니다. 시그모이드 함수 ($y$ 는 로지스틱의 출력) 확률을 나타내는 회귀 모델).
$$y = \frac{1}{1 + e^{-z}}$$
그런 다음 z를 구합니다.
$$ z = \log\left(\frac{y}{1-y}\right) $$
그러면 z는 가능한 두 가지 결과인 y와 1 – y의 확률 비율의 로그로 정의됩니다.
그림 2는 선형 출력이 로지스틱 회귀로 변환되는 방식을 보여줍니다. 출력됩니다.
그림 2에서 선형 방정식이 시그모이드 함수에 입력되면 직선을 S자 모양으로 구부리게 합니다. 선형 방정식은 매우 크거나 매우 작은 z 값을 출력할 수 있지만 시그모이드 함수의 출력인 y'는 항상 0과 1 사이입니다(양 끝값 제외). 예를 들어 왼쪽 그래프의 노란색 정사각형의 z 값은 –10이지만 오른쪽 그래프의 시그모이드 함수는 이 –10을 y' 값 0.00004에 매핑합니다.
연습문제: 학습 내용 점검하기
특성이 세 개인 로지스틱 회귀 모델의 편향과 가중치는 다음과 같습니다.
\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]
다음 입력 값이 주어집니다.
\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]
다음 두 질문에 답하세요.
위의 1에서 계산한 것처럼 입력 값의 로그 오즈는 1입니다. 이 z 값을 시그모이드 함수에 넣으면 다음과 같습니다.
\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)