1. 정의(Definition)
아마 가장 간단한 확률분포 중 하나인 베르누이(Bernoulli) 분포는 이진(binary) 사건, 즉 두 가지 결과 중 하나만 나오는 사건을 모델링하는 데 사용됩니다. 동전 던지기를 예로 들어봅시다. 동전이 앞면이 나올 확률을 $0 \le \theta \le 1$이라고 하면, 동전이 앞면인 사건을 $Y = 1$ 그리고 뒷면인 사건을 $\theta = 0$으로 나타낼 수 있습니다. 이때 사건의 확률은 다음과 정의됩니다.
- 앞면일 확률: $p(Y = 1) = \theta$
- 뒷면일 확률: $p(Y = 0) = 1 - \theta$
이것을 베르누이 분포(Beronoulli Distribution)이라고 하며 $Y \sim \text{Ber}(\theta)$로 표기합니다. 앞으로 저희는 $\sim$를 "표본이 특정 분포에서 추출되었다" 또는 $~를 따르는 분포다$라고 이해하도록 하겠스빈다. 그리고 Ber는 Bernoulli의 줄임말입니다.
베르누이 분포의 확률질량함수는 다음과 같이 정의됩니다.
$$\text{Ber}(y | \theta) = \begin{cases} &1 - \theta, y = 0 \\ &\theta, y = 1 \end{cases}$$
이를 더 간략하게 표현하면 $\text{Ber}(y | \theta) = \theta^{y}(1 - \theta)^{1 - y}$로 쓸 수 있습니다.
2. 베르누이 분포와 이항 분포의 관계
베르누이 분포는 이항 분포(Bionomial Distribution) 의 특별한 형태입니다. 이항 분포는 베르누이 시행(두 가지 결과만 있는 시행)을 여러 번 반복했을 때 나타나는 분포입니다.
예를 들어 동전을 총 $N$번 던진다고 가정했을 때 각각의 동전 던지기는 독립적인 베르누이 시행을 볼 수 있습니다. 이때, 동전을 던진 결과를 $y_{n} \sim \text{Ber}(\theta)$로 나타낼 수 있으며 여기서 $n = 1, 2, \dots, N$입니다. 이때, 전체 동전 던지기 결과 중에서 앞면이 나온 총 횟수를 $s$라고 하면 $s = \sum_{n = 1}^{N} \mathbb{I}(y_{n} = 1)$입니다. 그러면 앞면이 총 $s$번 나올 확률을 나타내는 이항분포는 다음과 같이 정의됩니다.
$$\text{Bin}(s|N, \theta) = \begin{pmatrix} N \\ s \end{pmatrix} \theta^{s}(1 - \theta)^{N - s}$$
여기서 $\begin{pmatrix} N \\ s \end{pmatrix} = \frac{N!}{(N - s)!s!}$는 이항계수로 총 $N$개의 항목에서 $s$개를 고를 수 있는 방법의 수를 나타냅니다. 이 기호는 $N$개 중 $s$개를 선택하는 방법의 수라는 뜻입니다. 이항분포의 식을 보시면 실제로 $N = 1$일 때는 이항분포가 베르누이 분포로 변하는 것을 볼 수 있습니다.
3 시그모이드(sigmoid) 함수 (로지스틱 함수)
어떤 입력 값 $x \in X$가 주어졌을 때 그로부터 이진값 $y \in \{ 0, 1 \}$을 예측하고 싶다고 가정하겠습니다. 이럴 때 사용할 수 있는 조건부 확률 분포는 다음과 같은 형태입니다.
$$p(y|x, \theta) = \text{Ber}(y|f(x;\theta))$$
여기서 $f(x;\theta)$는 입력값 $x$를 받아서 출력값의 평균(기댓값)을 예측하는 함수입니다. (앞으로 중점적으로 살펴볼 요소 중에 하나가 바로 다양한 형태의 $f(x;\theta)$ 입니다.)
하지만 위 식을 그대로 쓰려면 $f(x;\theta)$의 값이 반드시 $0 \le f(x;\theta) \le 1$이어야 하는 제약이 생깁니다. 이러한 제약없이 더 자유롭게 함수를 사용할 수 있도록 $f(x;\theta)$의 값은 임의의 실수 범위로 설정하고 이를 확률로 변환해주는 방법을 생각하는 것이 훨씬 편하죠.
이를 위해 다음과 같이 시그모이드(sigmoid) 또는 로지스틱(logistic) 함수를 도입할 수 있습니다.
$$p(y|x, \theta) = \text{Ber}(y|\sigma(f(x;\theta)))$$
이때 시그모이드 함수 $\sigma(\cdot)$은 다음과 같이 정의됩니다.
$$\sigma(a) = \frac{1}{1 + e^{-a}}$$
여기서 $a = f(x;\theta)$입니다. 시그모이드 함수는 실수 전체 범위 $(-\infty, \infty)$를 확률값의 범위인 $[0, 1]$로 부드럽게 변환해줍니다. 그래서 이 값은 베르누이 분포의 매개변수 $\theta$로 사용할 수 있는 확률값이 됩니다. 그리고 이름이 "시그모이드(sigmoid)"인 이유는 함수의 형태가 알파벳 S자 모양과 유사하기 때문입니다. 아마 딥 러닝 공부를 하신 분들이라면 굉장히 익숙한 함수이실 거라고 생각합니다.
이 시그모이드 함수는 급격한 단차를 가진 계단 함수(헤비사이드 스텝 함수)의 "부드러운(soft)" 버전이라고 생각할 수 있습니다. 헤비사이드 스텝 함수는 다음과 같이 정의됩니다.
$$H(a) = \mathbb{I}(a > 0)$$

그림 2.10은 시그모이드 함수와 헤비사이드 스텝 함수의 차이점을 보여주고 있습니다. 시그모이드 함수를 확률 분포의 식에 대입하면 다음과 같이 명확하게 쓸 수 있습니다.
- $y = 1$일 확률: $p(y = 1|x, \theta) = \frac{1}{1 + e^{-a}} = \frac{e^{a}}{1 + e^{a}} = \sigma(a)$
- $y = 0$일 확률: $p(y = 0|x, \theta) = 1 - \frac{1}{1 + e^{-a}} = \frac{e^{-a}}{1 + e^{-a}} = \frac{1}{1 + e^{a}} = \sigma(-a)$
이때 값 $a$는 확률 $p(y = 1|x, \theta)$의 로그 오즈(log odds)와 같습니다. 여기서 로그 오즈는 확률 $p$에 대해 $a = \log\left( \frac{p}{1 - p} \right)$로 정의되며 이를 좀 더 풀어써보면 다음과 같습니다.
$$\log\left( \frac{p}{1 - p} \right) = \log\left( \frac{\frac{e^{a}}{1 + e^{a}}}{\frac{1}{1 + e^{a}}} \right) = \log(e^{a}) = a$$
즉, 로지스틱(시그모이드) 함수는 로그 오즈(log-odds) $a$를 확률 $p$로 변환하는 함수입니다. 이를 명확하게 나타내면, 다음과 같죠.
$$p = \text{logistic}(a) = \sigma(a) = \frac{1}{1 + e^{-a}} = \frac{e^{a}}{1 + e^{a}}$$
이 로지스틱 함수의 역함수를 로짓(logit) 함수라고 하며, 이는 확률 $p$를 다시 로그 오즈 $a$로 변환합니다.
$$a = \text{logit}(p) = \sigma^{-1}(p) = \log\left( \frac{p}{1 - p} \right)$$

이러한 함수의 유용한 성질을 정리한 표는 원본 교재의 Table 2.3에서 확인할 수 있습니다.
4. 이진 로지스틱 회귀(Binary Logistic Regression)
이번에는 조건부 베르누이 모델(Conditional Bernoulli model)을 이용해서 이진(binary) 데이터를 예측하는 모델을 만들어 보겠습니다. 여기서는 입력값 $x$에 대해 간단한 선형 함수를 예측기로 사용합니다. 즉, 다음과 같은 형태의 함수를 사용합니다.
$$f(x; \theta) = w^{T}x + b$$
이 함수를 베르누이 분포의 확률 파라미터로 활용하기 위해서, 앞서 소개한 시그모이드 함수를 적용하여 다음과 같은 모델을 얻습니다.
$$p(y|x; \theta) = \text{Ber}(y|\sigma(w^{T}x + b))$$
좀 더 구체적으로 풀어서 표현하면,
$$p(y = 1|x; \theta) = \sigma(w^{T}x + b) = \frac{1}{1 + e^{-(w^{T} + b)}}$$
이러한 형태의 모델을 로지스틱 회귀(Logistic Regression)라고 부릅니다. 예를 들어, 머신러닝 공부용으로 가장 유명한 붓꽃 데이터셋(Iris dataset)을 이용해서 이진 분류를 한다고 생각해봅시다. 여기서는 두 개의 클래스로 나누어서 데이터셋을 다룹니다.
- 양성 클래스(positive class): "Virginica" 종
- 음성 클래스(negative class): "Not Virginica" (Virginica가 아닌 다른 모든 종)

이때 사용한 특징(feature)은 꽃잎의 너비(petal width) 하나입니다. 이 데이터를 바탕으로 로지스틱 회귀 모델을 학습하면, 하나의 분류 기준점(결정 경계; decision boundary)을 얻을 수 있습니다. 결정 경계는 확률이 정확히 0.5가 되는 점 $x^{*}$으로 정해집니다. 즉, $p(y = 1|x = x^{*}, \theta) = 0.5$가 되는 $x^{*}$값이 결정 경계입니다. 예시로, 실제 Iris 데이터를 이용하여 로지스틱 회귀를 수행한 결과, 꽃잎의 너비 $x^{*} \approx 1.7$에서 클래스가 나뉘게 됩니다. 결정 경계에서 멀어질수록 분류기의 예측 확신도(confidence)는 더 높아집니다.
5. 왜 일반 선형 회귀가 아니라 로지스틱 회귀를 쓸까?
이 예시를 통해, 왜 일반적인 선형 회귀(linear regression) 모델을 이진 분류 문제에 쓰면 부적절한지 쉽게 이해할 수 있습니다. 만약 일반 선형 회귀를 사용한다면, 입력값이 결정 경계에서 크게 벗어날수록 확률 값이 1보다 크게 증가하거나 0보다 작게 감소하는 비현실적인 결과가 나타나기 때문입니다. 반면 로지스틱 회귀는 시그모이드 함수 덕분에 예측 값이 항상 확률 범위(0~1) 내에 유지됩니다. 로지스틱 회귀에 대한 더욱 자세한 내용과 설명은 향후에 더 다루도록 하겠습니다.