
지금까지 스토리라인
앞서 Logistic Regression에서 Binary Classification이라는 1 또는 0 의 정답만을 갖는 문제를 풀어보려 했습니다.
하지만 모든 것을 1 또는 0으로만 딱 떨어지는 문제는 거의 없겠죠. 세상은 그렇게 단순히 호락호락 하지 않으니까요.

이러한 각박한 세상 속에서 우리는 이진 분류 문제를 더 잘 풀고 싶어졌습니다. 딱 보면 고양이, 딱 보면 강아지 알 수 있는 컴퓨터를 어떻게 만들어볼 수 있을까요?
그래서 사람들은 확률을 도입했고 이를 위해 Sigmoid를 도입하여 0 - 1 범위에 드는 수를 구해 이를 확률로서 1일 확률이 얼마나 될지, 그리고 충분히 확률이 크면 1로 분류하자는 판단을 내릴 수 있게된 것이 Logistic Regression 이었습니다.
Loss Function
만약에 우리가 1일 확률을 0.87이라는 값을 구했다고 가정해봅시다.
엄연히 여기에는 1이 아닐 수 있는 0.13의 확률이 존재한다는 것이겠죠.
우리는 그래서 0.13이라는 확률 조차도 거의 0에 가깝게 만들어야 안심이 될 것 같습니다.
그래서 우리는 틀릴 수 있는 확률이 0.13이라는 값을 얻었기 때문에 이를 잘 지지고 볶아서 이 컴퓨터가 틀릴 확률이 0일 수 있도록 도와주려 합니다.
사람들은 0.13이라는 값과 같이 알고리즘의 출력 $ŷ$이 실제 lobel $y$에 얼마나 가까운지를 측정하는 함수가 필요하다고 생각했습니다. 그 함수가 Loss Function이죠.
왜 제곱 오차를 쓰지 않는가?
$$L = ½(ŷ - y)²$$
이 제곱 오차(Squared Error)를 쓰면 optimization 문제가 non-convex 됩니다. 우리는 Gradient Descent에 내용에 의하면 Loss를 최소화해야 합니다. 하지만 이차함수처럼 볼록한 부분이 하나만 있다면 경사하강을 통해 구한 최솟값이 global optimum이 될 수 있지만 제곱이 되어 볼록한 구간이 여러 개가 되었을 때 여러 개의 local optima가 생겨 최솟값인지 보장할 수 없게 됩니다. 즉, Global optimum을 찾지 못할 수 있죠.
Logistic Regression의 Loss Function은 아래와 같습니다.
$$L(ŷ, y) = -[y·log(ŷ) + (1-y)·log(1-ŷ)]$$
이 식이 왜 성립될 수 있는지 직관적으로 이해해 봅시다.
첫 번째 경우, y = 1일 때
$$L = -log(ŷ)$$
- Loss를 작게 만들려면 $log(ŷ)$이 커야하므로 $ŷ$가 커야합니다.
- $ŷ$은 sigmoid 출력이기 때문에 최댓값이 1이고 $ŷ ≈ 1$에 가깝게 만듭니다.
즉, 정답이 1이면 예측도 1에 가까워지도록 유도하는 것이죠.
두 번째 경우, y = 0 일 때
$$L = -log(1-ŷ)$$
- Loss를 작게 만들려면 log(1-ŷ)가 커야하고 $ŷ$이 작아야합니다.
즉, 정답이 0이면 예측도 0에 가까워지도록 유도합니다.
용어를 조금 확실하게 해볼까요?
방금 우리는 하나의 예제로만 Loss를 따져봤습니다. 그에 대한 함수가 Loss Function이라 했죠.
Cost Function
하지만 학습은 보통 하나의 예제만 학습하지 않죠. 보통은 데이터셋이라 하는 큰 훈련 세트를 가지고 학습을 하게 됩니다.
다시 말해, Loss Function이 단일 예제에 대한 성능을 측정한다면, Cost Function은 전체 훈련 세트에 대한 성능을 측정합니다.
$$J(w, b) = (1/m) Σᵢ₌₁ᵐ L(ŷ⁽ⁱ⁾, y⁽ⁱ⁾) = -(1/m) Σᵢ₌₁ᵐ [y⁽ⁱ⁾·log(ŷ⁽ⁱ⁾) + (1-y⁽ⁱ⁾)·log(1-ŷ⁽ⁱ⁾)]$$
우리의 목표는 Cost Function $J(w, b)$를 최소화하는 w, b를 찾는 것임을 명십합시다.
'CS & AI > Deep Learning' 카테고리의 다른 글
| [궁금증] Variance & Bias (0) | 2026.04.05 |
|---|---|
| [Coursera] Gradient Descent / Deep Learning Specialization (0) | 2026.03.26 |
| [Coursera] Logistic Regression / Deep Learning Specialization (0) | 2026.03.25 |
| [Coursera] Binary Classification / Deep Learning Specialization (0) | 2026.03.25 |
| [Coursera] What is Neural network? / Deep Learning Specialization (0) | 2026.03.02 |
나의 성장 드라마
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!