본문 바로가기
Music AI/Deep Learning

[Deep Learning] 02 로지스틱 회귀 | W2 신경망과 로지스틱 회귀 | C1 신경망과 딥러닝 | Andrew Ng

by 2den 2025. 7. 20.
728x90
반응형

https://www.youtube.com/watch?v=hjrYrynGWGA

 

이번 주에 배울 것은 바로 로지스틱 회귀입니다. 이 학습 알고리즘은 지도 학습 문제에서 출력될 레이블 y가 0이나 1일 경우, 다시 말해 이진 분류 문제들에서 쓰입니다.

 


 

$\text{Given }x\text{, want }\hat{y}=P(y=1\mid x)$

 

입력될 특성 벡터 $x$가 있다고 해봅시다. 예를 들어 고양이 사진인지 아닌지 구분하고 싶은 사진이 주어졌을 때 $y$의 예측값을 출력하는 알고리즘을 원합니다. 더 자세히는 $\hat{y}$은 입력 특성 $x$가 주어졌을 때 $y$가 1일 확률을 뜻합니다. 다른 말로 $x$가 지난 시간에 본 사진이라면 $\hat{y}$은 이 사진이 고양이 사진일 확률을 알려줍니다.

 

$\text{Parameters :}\quad x\in\mathbb{R}^{n_x},\quad b\in\mathbb{R}$

 

전에 말한 대로 $x$는 $n_x$차원 상의 벡터이고, 로지스틱 회귀의 파라미터 $w$와 $b$는 각각 $n_x$차원 상의 벡터와 실수입니다.

 

$\text{Output }\hat{y}=w^T\times x+b$

 

입력 $x$와 파라미터 $w$와 $b$가 주어졌을 때 어떻게 $\hat{y}$의 예측값을 출력할 수 있을까요? 시도할 순 있지만 잘 안되는 방법은 $\hat{y}$의 예측값을 $w^T\times x+b$로 놓는 것입니다. 입력 $x$에 대한 선형 함수처럼 말입니다. 사실 선형 회귀를 하는 거였다면 이러한 함수를 쓸 것입니다.

 

$0\leq\hat{y}\leq1$

 

하지만 이진 분류를 위한 좋은 알고리즘이 아닙니다. 왜냐하면 $\hat{y}$은 $y$가 1일 확률이기 때문에 항상 0과 1사이어야 하기 때문입니다. 이 경우에는 그럴 일이 별로 없습니다. 왜냐하면 $w^T\times x+b$는 1보다 훨씬 크거나 음수일 수도 있어서 0과 1 사이어야 하는 확률의 값으로 말이 안됩니다.

 

$\text{Output }\hat{y}=\sigma(w^T\times x+b)$

 

대신에 로지스틱 회귀에서는 $\hat{y}$이 시그모이드 함수를 적용하여 출력된 값입니다. 시그모이드 함수는 이렇게 생겼습니다.

 

(1) 시그모이드 함수

 

수평축이 $z$일 때 $z$의 시그모이드는 0부터 1까지 매끈하게 올라갑니다. 축들을 표시해보면 여기는 0 그리고 수직축을 0.5에서 교차합니다. $z$의 시그모이드는 이러한 모양을 가지고 있고, 여기서 $z$는 $w^T\times x+b$의 값을 의미합니다.

 

$\sigma(z) = \frac{1}{1 + e^{-z}}$

 

시그모이드 함수의 공식은 이렇습니다. $z$가 실수일 때 $z$의 시그모이드는 $\frac{1}{1 + e^{-z}}$ 입니다. 여기서 몇 가지 주목할 게 있어요.

만약에 z가 아주 크다면 $e^{-z}$가 0으로 수렴합니다. 이러므로 z의 시그모이드는 대략 1과 0에 가까운 숫자의 합을 1에서 나누었기 때문에 1에 가깝습니다. 왼쪽에 있는 그래프를 통해 쉽게 확인할 수 있습니다. $z$가 아주 크면 $z$의 시그모이드가 1에 수렴합니다.

반대로 $z$가 아주 작거나 아주 큰 음수일 경우에는, 그러면 z의 시그모이드는 $\frac{1}{1 + e^{-z}}$이고 $e^{-z}$가 아주 큰 수가 됩니다. 그래서 1과 엄청 큰 수의 합을 1에서 나누었기 때문에 크기가 거의 0과 같습니다. 보시다시피 $z$가 큰 음수일수록 $z$의 시그모이드도 0에 수렴합니다. 그러므로 로지스틱 회귀를 구현할 때 $\hat{y}$가 1일 확률을 잘 예측하도록 파라미터 $w$와 $b$를 학습해야 합니다.

표기법에 대해 하나 덧붙이자면 우리가 신경망을 구현할 때는 보통 파라미터 $w$와 파라미터 $b$를 분리할 것입니다. 여기서 $b$는 인터셉트 항을 뜻합니다. 다른 수업들에서는 또 다른 표기법을 봤을 수도 있습니다.

 

$x_0 = 1, \quad x \in \mathbb{R}^{n_x + 1}, \quad \hat{y} = \sigma(\theta^T x), \quad \theta =\begin{bmatrix}\theta_0 \\\theta_1 \\\theta_2 \\\vdots \\\theta_{n_x}\end{bmatrix}$

 

어떤 경우에는 값이 1인 새로운 특성 $x_0$을 정의해서 $x$가 $n_{x+1}$상의 차원의 벡터이고 $\hat{y}$은 $\sigma(\theta^Tx)$로 지정합니다. 이러한 표기법으로는 벡터 $\theta$가 $\theta_0$, $\theta_1$, $\theta_2$부터 $\theta_{n_x}$까지 이루어져있고 $\theta_0$은 $b$의 역할을 하는 실수이고, $\theta_1$부터 $\theta_{n_x}$까지는 $w$의 역할을 합니다. 신경망을 구현할 때 $b$와 $w$를 분리하면 더 쉬우므로 빨간색으로 쓴 표기법은 이 수업에서 쓰지 않을 겁니다. 전에 본 적이 없다면 걱정하지 마세요. 이런 표기법을 본 사람들만을 위해 이 수업에 쓰지 않겠다고 말하고 싶었습니다. 전에 보지 않았다면 중요하지 않고 걱정할 필요가 없습니다.

 


 

이제 로지스틱 회귀 모델이 어떤지 살펴봤으니 이제 파라미터 wb를 학습하기 위해 비용 함수를 정의해야 합니다. 다음 비디오에서 해봅시다.

728x90
반응형

댓글