본문 바로가기
Google Machine Learning Bootcamp 2022/Neural Networks and Deep Learning

2. Neural Networks Basics #1

by 사향낭 2022. 6. 28.

Logistic Regression as a Neural Network

 

 

Binary Classification

 

어떤 데이터 x가 0인지 1인지를 분류 (ex. 사진이 고양이 사진인지 아닌지를 판별, ...)

 

 

Logistic Regression

 

Binary classifiction을 위해 activation function으로 sigmoid function을 추가하여 threoshold를 기준으로 0 또는 1을 판별

 

 

Logistic Regression cost function

 

Logistic regression model의 output \( \hat{y} \)이 실제 \( y \)를 얼마나 잘 예측하는지 loss function으로 측정.

 

L2 loss function은 logistic regression에 효과적이지 않음 (convex하지 않아서)

 

Loss (error) function : \( L(\hat{y}, y) = -(y \log \hat{y} + (1 - y) \log (1 - \hat{y}) ) \)

 

Cost function : \( J(w, b) = \frac{1}{m} \sum^m_{i = 1} L(\hat{y}^{(i)}, y^{(i)} ) = - \frac{1}{m} [ y^{(i)} \log \hat{y}^{(i)} + (1 - y^{(i)} ) \log (1 - \hat{y}^{(i)} ) ] \)

 

 

Gradient Descent

 

Cost function이 convex 하다면, 현재의 미분 반대 방향으로 \( w \)를 update 하여 global minimum에 다가갈 수 있다.

 

이를 gradient descent algorithm이라 부른다.

 

Repeat { \( w := w - \alpha \frac{\partial J(w)}{\partial w}, b:= b - \alpha \frac{\partial J(w, b)}{\partial b} \) }

 

 

Derivatives - Gradient Descent on m Examples

 

어떤 input w에 대한 output J의 derivative을 구하기 어려울 때 chain rule을 쓰면 쉽게 derivative를 구할 수 있다.

 

그리고 그렇게 구한 derivative를 이용해 gradient descent algorithm을 구현할 수 있다.

 

여기서는 m개의 training set에 대한 derivative의 평균값을 계산하여 update 해주었다

 

댓글