
우리는 Cost Function $J(w, b)$를 최소화 하는 w, b를 찾는 것이 목표라고 했었죠.
하지만 여기서 의문이 하나 들었어요.
왜 굳이 Sigmoid인가? Threshold(임계값)로 자르면 안되나?
저는 이 궁금증이 생겼을 때 그만 멘탈이 완전히 나가버렸습니다.
특정 기준(상한선, 하한선)이 있다고 할 때, 상한선을 넘으면 1을 출력하게 하고, 하한선을 넘지 못하면 0을 출력하도록 하면 될텐데 왜 굳이 확률이라는 개념을 사용하려 했을까요?
제가 오랜 수학의 역사를 부정하는 매우 예리한 지적을 한 것이라 생각하고 뿌듯할 뻔 했으나,
아쉽게도 이런 생각은 저만 한게 아니었습니다.
사실 이미 이름도 있더군요.
Step Funcion


이것도 output이 0 또는 1이니까 분류는 됩니다. 이것이 역사적으로 가장 먼저 쓰인 방법인 퍼셉트론(Perceptron, 1958) 입니다.

1958년의 선배님들이 저와 같은 생각을 했다는 겁니다!ㅎㅎ
하지만 여기에는 문제가 있습니다. 고등학교에서도 배웠듯이, 연속적이지 않기 때문에 미분이 되지 않습니다.
그럼 미분이 되지 않는게 왜 문제가 되는걸까요? 이제 알아봅시다
Gradient Descent
Gradient Descent(경사하강법)은 우리의 목표를 위해 Cost Function $J(w, b)$를 최소화하는 parameter w, b를 찾기 위한 알고리즘입니다.
Convexity의 중요성
앞에서 Loss Function에 대해서 이야기 할 때 제곱오차를 사용하지 않는 이유에 대해서 알아봤죠.
https://neverthe1ess.tistory.com/268
[Coursera] Cost Function / Deep Learning Specialization
지금까지 스토리라인앞서 Logistic Regression에서 Binary Classification이라는 1 또는 0 의 정답만을 갖는 문제를 풀어보려 했습니다.하지만 모든 것을 1 또는 0으로만 딱 떨어지는 문제는 거의 없겠죠. 세
neverthe1ess.tistory.com
이 게시글에서 보면 Convex에 대한 언급이 있었습니다.
Logistic regression의 cost function $J$는 convex function(볼록 함수)에요. 즉, 우리가 밥먹을 때 쓰는 밥그릇 모양이죠. 이 모양은 하나의 global optimum만 존재합니다. Non-convex 함수는 여러 local optima가 있어서 gradient descent가 전역 최적해를 찾을 수 있다는 보장이 없습니다. 그래서 Logistic regression에서 이 특정 ocst function을 쓰는 큰 이유 중 하나는 바로 이 convexity 때문입니다.
Initialization
Logistic regression에서는 보통 w = 0, b = 0으로 초기화합니다. Convex 함수이기 때문에 어디서 시작을 하든 결국 (거의) 같은 지점으로 수렴하게 되죠.
첨언을 하면, Neural network에서는 random initialization이 필요하지만, logistic regression에서는 0 초기화도 잘 동작한다고 합니다.
Gradient Descent 업데이트 규칙
아래의 Gradient Descent를 통해서 어떻게 업데이트되는지 알아봅시다.
먼저 간단하게 1차원으로 생각해보도록 합시다.
b 값(bias)을 무시, 0이라고 보고 경사하강 공식을 보면 아래와 같습니다.
이제 2차원. b값과 함께 고려하면 아래와 같습니다.
$\alpha$는 학습률(learning rate)입니다. 각 iteration에서 얼마나 큰 걸음(보폭)을 내딛을지 결정합니다.
$\frac{dJ(w)}{dw}$(또는 $ \frac{\partial J(w, b)}{\partial b}$) 는 w 방향으로 기울기(slope)를 의미합니다. 이것이 가장 가파르게 내려가는 방향을 알려줍니다.
가파르게?

우리는 convex 함수의 중요성을 알고 있습니다. 가장 아래로 볼록한 부분을 찾아 떠납니다. 우리가 등산을 한다고 생각해봅시다. 내리막길을 가장 빨리 내려가는 방법은 가파른 부분을 찾아서 내려가는 게 가장 빠른 루트일 겁니다. 하지만 안전에 주의해야겠죠?
업데이트가 어떻게 작동할 수 있는걸까요?

현재 위치에서 기울기(derivative)가 양수라면 w에서 양수를 빼기 때문에 w가 감소하게 되고 왼쪽으로(최소점을 향해) 이동하게 됩니다.
반대로 현재 위치에서 기울기가 음수라면 w에서 음수를 빼기 때문에 w가 증가하게 되고 오른쪽으로(최소점을 향해) 이동하게 됩니다.
즉, 어느 쪽에서 시작하든 Gradient Descent는 최소점을 향해 이동합니다.
추가로 Code 상의 변수명을 보여드리겠습니다.
w = w - alpha * dw
b = b - alpha * db
편미분(Partail Derivative) 표기법
- J가 하나의 변수만의 함수일 때는 소문자 $d$를 사용합니다.
- J가 두 개 이상의 변수의 함수이 일때 기호 $∂$를 사용합니다.
'CS & AI > Deep Learning' 카테고리의 다른 글
| [궁금증] Norm? (0) | 2026.04.07 |
|---|---|
| [궁금증] Variance & Bias (0) | 2026.04.05 |
| [Coursera] Cost Function / 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 |
나의 성장 드라마
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!