brunch

로지스틱 회귀의 손실함수, 우도함수와 교차엔트로피

by 노다해


확률분포마다 확률분포를 특정하는 매개변수(parameter)가 있다. 정규분포의 경우 평균\mu과 분산\sigma^2이고, 베르누의 분포의 경우 성공 확률 p가 매개변수이다. 보통 확률분포로 데이터를 해석할 때에는, 매개변수를 고정하고 해당 데이터가 나올 확률을 계산한다. 이와는 반대로 데이터를 고정하고, "매개변수에 따라 해당 데이터가 나올 개연성"을 고려할 수도 있다. 우도함수(likelihood function)는 관측된 데이터를 기준으로 매개변수의 타당성을 평가한다.


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%EC%A0%84_11.26.38.png?type=w1

동전 던지기를 예로 들어보자. 보통 동전은 앞면과 뒷면이 나올 확률이 1/2이다. 하지만 약간 모양이 뒤틀려서 앞면과 뒷면이 나올 확률이 동일하지 않은 동전이 있다고 해보자. 동전을 5번 던졌더니, 앞면은 4번, 뒷면은 1번 나왔다. 이 때 베르누이/이항 분포에 따라 우도는 다음과 같이 쓸 수 있다.

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%EC%A0%84_11.28.51.png?type=w1


p = 0.8 일 때 L(p) = 0.08

p = 0.2 일 때 L(p) = 0.001


따라서 우도함수에 따라 "이 데이터는 p=0.8일 때 더 잘 설명된다"고 할 수 있다.

로지스틱 회귀에서의 확률분포와 우도함수는 다음과 같다.

SE-6043384b-25d5-4cbb-87c8-633f1528c169.png?type=w1
%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%EC%A0%84_11.43.15.png?type=w1




로지스틱 회귀의 목적은 데이터가 주어졌을 때에 파라미터 (w,b)가 해당 데이터를 잘 설명하도록 만드는 것이므로, 우도함수 L(w,b)를 최대로 하는 w와 b를 찾는 것이 목적이다. 다만, 우도함수는 데이터 포인트마다 확률을 곱하므로 데이터 갯수가 많아질 수록 값이 매우 작아져 0에 가까운 수가 되어버린다.



이를 방지하기 위해 우도에 로그를 취한 값을 최대화한다. 우도에 로그를 취하면 곱셈이 덧셈으로 바뀌어 계산이 훨씬 안정적이고 단순해지는 장점도 있다. 게다가 로그함수는 단조 증가함수이기 때문에, 최적해가 변하지 않는다.


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%EC%A0%84_11.47.06.png?type=w1


다만 머신러닝에서는 손실 함수를 최소화하는 방식이 통용되므로, 음의 로그우도(NLL, negative log-likelihood)를 사용한다.



%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%EC%A0%84_11.48.30.png?type=w1



음의 로그우도는 정답 분포와 학습 분포의 교차 엔트로피와 동일한 식이다.



확률분포 p(y)의 엔트로피는 그 분포의 불확실성을 측정한다. p(x)가 균등분포일수록 즉, 모든 사건이 비슷한 확률일수록 엔트로피는 커지고, p(x)가 특정 값에 몰려있으면 즉, 발생할 사건이 확실할수록 엔트로피는 작아진다.

%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%EC%A0%84_11.54.51.png?type=w1


서로 다른 두 분포 p(y), q(y)에 대해 교차엔트로피는 두 분포 p(y), q(y)가 얼마나 다른지를 나타내는 개념이다. 머신 러닝에서 이는 실제 분포 p(y)와 모델이 예측한 분포 q(y) 사이의 거리를 나타낸다.


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%EC%A0%84_11.55.07.png?type=w1


이진 분류에서 정답은 0 또는 1의 값을 가진다. 이를 확률 분포 p(y)로 표현하면 원-핫(one-hot) 분포가 된다.



%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%ED%9B%84_12.07.07.png?type=w1



모델에 따라 학습한 확률 분포는 다음과 같이 쓸 수 있다.


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%ED%9B%84_12.09.05.png?type=w1

여기에서 주의할 점은, p는 정답 데이터 분포를 의미하는 반면, \hat{p}는 모델의 예측을 의미한다.


이 때 교차엔트로피는 다음과 같이 쓸 수 있다.


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-19_%EC%98%A4%ED%9B%84_12.18.22.png?type=w1
keyword
매거진의 이전글로지스틱 함수와 인구 성장 모형