수학 개념 지도
데이터와 학습(Data and learning)

로지스틱 회귀(Logistic regression)

직선 wx + b를 S자 곡선(시그모이드⁠, sigmoid⁠)에 넣어 'y = 1일 확률⁠(probability)⁠'을 내는 모형. 최대가능도로 맞춘다. 그 손실(로그 손실⁠, log loss⁠)은 볼록해서 엉뚱한 골짜기가 없고, 가장 낮은 곳이 있으면 기울기⁠(slope)⁠를 따라 내려가 찾을 수 있다. 다만 두 무리가 완전히 갈린 자료에서는 가장 낮은 곳이 없다.

p(x)=σ(wx+b)=11+e−(wx+b),log⁡p1−p=wx+bp(x) = \sigma(wx+b) = \frac{1}{1+e^{-(wx+b)}}, \qquad \log\frac{p}{1-p} = wx + b

시험 전날 평소보다 더 공부한 시간(음수면 덜 공부한 시간)을 x라 하고, 합격하면 y = 1, 떨어지면 y = 0이라 적어 봅시다. 아래 점 14개 가운데 위쪽 줄의 노란 점이 합격, 아래쪽 줄의 파란 점이 불합격입니다. 점들 사이로 직선을 긋는 최소제곱 회귀⁠(least-squares regression)⁠를 그대로 쓰면 예측값이 0보다 작거나 1보다 커질 수 있어서 확률로 읽을 수 없습니다. 로지스틱 회귀는 직선 s=wx+bs = wx + b를 S자 곡선 σ(s)=1/(1+e−s)\sigma(s) = 1/(1+e^{-s})(시그모이드)에 넣습니다. 이 곡선의 값은 s가 무엇이든 늘 0과 1 사이에 있으므로 'y = 1일 확률'로 읽을 수 있습니다.

p(x)=σ(wx+b)=11+e−(wx+b)p(x) = \sigma(wx+b) = \frac{1}{1+e^{-(wx+b)}}

w = , b = 를 바꾸거나, 둘째 그림의 노란 점을 끌어 보세요. 청록 곡선이 모형의 확률이고, 분홍 세로선은 점마다 실제 답(0 또는 1)과 모형의 확률 사이의 간격입니다. 곡선이 1/2을 지나는 곳, 곧 wx+b=0wx + b = 0인 x = 두 답을 가르는 경계(흰검은 점선)입니다. 첫째 그림의 점은 좌우로 끌 수 있고, 누르면 답이 바뀝니다. 점에 마우스를 올리면 그 점의 확률과 손실이 뜹니다.

어떤 w, b가 좋은지는 최대가능도로 정합니다. 모형이 옳다면 점 i의 답이 실제로 나온 대로 나올 확률은 yi=1y_i = 1이면 pip_i, yi=0y_i = 0이면 1−pi1 - p_i입니다. 점들이 서로 독립⁠(independence)⁠이라고 보면 자료 전체가 나올 확률은 이것들의 곱이고, 곱을 가장 크게 하는 것은 로그를 씌운 합을 가장 크게 하는 것과 같습니다. 부호를 바꿔 평균⁠(mean)⁠하면 줄여야 할 손실이 됩니다.

L(w,b)=−1n∑i=1n[ yilog⁡pi+(1−yi)log⁡(1−pi)]L(w, b) = -\frac{1}{n}\sum_{i=1}^{n} \Bigl[\, y_i \log p_i + (1-y_i)\log(1-p_i) \Bigr]

지금 L = 입니다. 노란 점에 모형이 확률 0.9를 주면 그 점의 손실은 −ln⁡0.9≈0.105-\ln 0.9 \approx 0.105이지만, 0.1을 주면 −ln⁡0.1≈2.303-\ln 0.1 \approx 2.303으로 스무 배가 넘습니다. 확신하고 틀리면 크게 벌을 받습니다. 모든 점에 1/2을 주는 w = b = 0에서는 L=ln⁡2≈0.693L = \ln 2 \approx 0.693입니다. 이 손실은 점마다 '실제 답에 확률 1을 준 분포'와 모형이 말하는 분포 사이의 교차 엔트로피⁠(cross-entropy)⁠를 재어 평균한 것이어서, 부류가 셋 이상일 때의 소프트맥스⁠(softmax)⁠와 교차 엔트로피로 그대로 이어집니다.

최소제곱⁠(least squares)⁠과 달리 L을 가장 작게 하는 w, b를 한 번에 주는 공식은 없습니다. 대신 좋은 성질이 있습니다. 시그모이드는 σ′(s)=σ(s)(1−σ(s))\sigma'(s) = \sigma(s)(1-\sigma(s))를 만족해서, 미분⁠(differentiation)⁠하면 로그와 시그모이드의 미분이 서로 지워집니다.

∂L∂w=1n∑i(pi−yi) xi,∂L∂b=1n∑i(pi−yi)\frac{\partial L}{\partial w} = \frac{1}{n}\sum_i (p_i - y_i)\,x_i, \qquad \frac{\partial L}{\partial b} = \frac{1}{n}\sum_i (p_i - y_i)

최소제곱의 기울기 (y^i−yi)xi(\hat y_i - y_i)x_i와 모양이 같습니다. 한 번 더 미분한 이계도함수 행렬(헤세 행렬⁠, Hessian matrix⁠)은 1n∑ipi(1−pi) (xi,1)T(xi,1)\frac1n\sum_i p_i(1-p_i)\,(x_i, 1)^{\mathsf T}(x_i, 1)인데, pi(1−pi)>0p_i(1-p_i) > 0이므로 어느 방향으로 잘라도 L의 단면은 아래로 꺼지지 않습니다. 곧 L은 볼록 함수⁠(convex function)⁠이고, 볼록 함수에서는 기울기가 0인 곳이 곧 가장 낮은 곳입니다. 그래서 경사 하강법⁠(gradient descent)⁠이든 뉴턴 방법⁠(Newton's method)⁠이든 엉뚱한 골짜기에 갇히지 않습니다.

둘째 그림은 (w, b) 평면에 그린 L의 등고선이고, 흰검은 점들은 지금 자리에서 출발한 뉴턴 방법의 걸음입니다(손실이 오히려 커지는 걸음은 반으로 줄여 가며 내딛습니다). 최대가능도로 맞추기를 누르면 가장 낮은 곳으로 갑니다. 뉴턴 방법의 한 걸음은 점마다 가중치⁠(weight)⁠ pi(1−pi)p_i(1-p_i)를 단 최소제곱 문제를 푸는 것과 같아서, 통계학⁠(statistics)⁠에서는 이 계산을 반복 재가중 최소제곱(IRLS)이라 부릅니다.

계수 w에는 깔끔한 뜻이 있습니다. 확률 p 대신 오즈⁠(odds)⁠ p/(1−p)p/(1-p), 곧 일어날 확률 대 일어나지 않을 확률의 비를 보면

log⁡p1−p=wx+b\log\frac{p}{1-p} = wx + b

로 로그 오즈⁠(log-odds)⁠가 x의 일차식입니다. 그래서 x가 1 늘 때마다 오즈가 ewe^w배, 지금은 배가 됩니다. 확률이 그만큼 커진다는 뜻은 아닙니다. 확률 0.5(오즈 1)에서 오즈가 4배가 되면 확률은 0.8이지만, 확률 0.9(오즈 9)에서 오즈가 4배가 되면 확률은 약 0.973에 그칩니다. 의학 논문이 나이나 흡연 같은 다른 요인을 함께 모형에 넣은 뒤 보고하는 오즈비⁠(odds ratio)⁠는 흔히 이런 모형의 ewe^w입니다. 이름에 '회귀'가 붙은 것도 이 모형이 확률이라는 연속된 값을 맞추기 때문이고, 합격과 불합격을 가르는 분류는 그 확률에 문턱(보통 1/2)을 두어 얻습니다.

왜 하필 시그모이드일까요? 한 가지 답은 베이즈 정리⁠(Bayes' theorem)⁠에서 나옵니다. 합격자의 x는 평균 μ1\mu_1, 불합격자의 x는 평균 μ0\mu_0인 정규분포⁠(normal distribution)⁠를 따르고 두 분산⁠(variance)⁠이 σ2\sigma^2로 같다고 해 봅시다. x를 본 뒤 합격일 사후 확률⁠(posterior probability)⁠의 로그 오즈를 계산하면 x2x^2 항이 서로 지워져 정확히 wx+bwx + b 꼴이 남고, 기울기는 w=(μ1−μ0)/σ2w = (\mu_1 - \mu_0)/\sigma^2입니다. 이 가정이 맞으면 사후 확률은 정확히 시그모이드입니다. 다만 정규분포가 아니어도 같은 꼴이 나오는 분포는 많아서, 로지스틱 회귀는 x의 분포를 가정하지 않고 확률의 모양만 가정한 채 직접 맞춥니다.

주의할 경우가 하나 있습니다. 점을 끌어 모든 노란 점이 모든 파란 점보다 오른쪽에 오게 해 보세요. 두 무리가 완전히 갈리면 경계를 그 틈에 둔 채 w를 키울수록 곡선이 계단에 가까워지고 손실은 계속 줄어듭니다. L은 0에 한없이 다가가지만 닿지 않으므로, 가장 좋은 w는 존재하지 않습니다. 등고선에서도 바닥이 그림 밖으로 끝없이 달아납니다. 이때 '맞추기' 단추는 경계를 틈의 한가운데에 둔 채 w를 그림의 끝(노랑이 오른쪽이면 6, 왼쪽이면 −2)까지만 옮깁니다. 실제로는 w가 커지는 데 벌점을 주는 정규화로 답을 하나로 정합니다.

S자 곡선에 '로지스틱'이라는 이름을 붙인 사람은 벨기에의 수학자 피에르프랑수아 페르휠스트입니다. 그는 1838년 논문에서 처음에는 지수적으로 늘다가 한계에 다가가며 느려지는 인구를 이 곡선으로 나타냈고, 1845년 논문에서 이 곡선을 '로지스틱'이라 불렀습니다. 이 인구 모형을 한 세대씩 끊어 적은 식이 로지스틱 사상⁠(logistic map)⁠입니다. 1944년 미국의 통계학자 조지프 버크슨은 로그 오즈를 '로짓⁠(logit)⁠'이라 부르며 약물의 효과를 분석하는 데 썼고, 1958년 영국의 통계학자 데이비드 콕스가 0과 1로 된 자료의 회귀로 정리했습니다.

이어지는 곳. 퍼셉트론⁠(perceptron)⁠은 틀린 점에서만 w←w+η y xw \leftarrow w + \eta\,y\,x로 고치는데, 로지스틱 회귀를 점 하나씩 경사 하강하면 w←w−η (p−y) xw \leftarrow w - \eta\,(p - y)\,x로, 계단 대신 매끄러운 오차 p−yp - y만큼 모든 점에서 고칩니다. 로그 손실을 줄이는 것은 자료의 분포에서 모형까지의 쿨백–라이블러 발산⁠(Kullback–Leibler divergence)⁠을 줄이는 것과 같아서 정보 이론과 이어집니다. 로그 손실을 띠 밖에서 정확히 0이 되는 힌지 손실⁠(hinge loss)⁠로 바꾸고 ∥w∥2\lVert w\rVert^2에 벌점을 주면, 두 무리 사이의 빈 띠를 가장 넓히는 서포트 벡터 머신⁠(support vector machine)⁠이 됩니다. 분류하는 신경망⁠(neural network)⁠의 마지막 층은 대개 로지스틱 회귀나 그 여러 부류 판인 소프트맥스이고, 앞의 층들은 그 회귀가 쓸 특성을 스스로 만들어 냅니다. 특성이 많을 때는 정규화의 세기를 교차 검증⁠(cross-validation)⁠으로 고릅니다.

이 개념이 나오는 긴 글

신경망과 기계 학습 배우는 기계 예를 보여 주면 규칙을 스스로 찾는 기계. 1958년의 퍼셉트론에서 오늘의 심층 신경망까지, 그 밑바닥에는 미분과 연쇄법칙이 있다. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념