이 글은...
Andrew Ng 교수의 Deep Learning 강좌 C1W2L03 까지의 내용을 정리한 것이다. 로지스틱 회귀와 비용 함수에 대한 내용을 다룬다.
내용 요약
신경망 학습방법
- 정방향 전파
- 역방향 전파
- 이 두가지가 어떻게 다른지는 이후에 다루게 됨
- 일단은 이런 것이 있다는 것을 알고 넘어감
이진분류(Binary Classification)
- yes or no로 분류하는 것
- 고양이가 맞다. / 고양이가 아니다.
- 로지스틱 회귀(Logistic regression)라는 알고리즘을 사용함
표기법 정리
- $m$: 학습을 위한 데이터 세트 수
- ${(x^{(1)}, y^{(1)}), (x^{(2)}, y^{(2)}), ... (x^{(m)}, y^{(m)}), }$
- $n$: 입력 데이터 하나의 원소 개수
- $x$: 입력 데이터 하나
- $X$: 입력 데이터
- $X = \begin{bmatrix}x^{(1)}_1 & x^{(2)}_1 & \cdots & x^{(m)}_1 \ \vdots & \vdots & \ddots & \vdots \ x^{(1)}_n & x^{(2)}_n & \cdots & x^{(m)}_n\end{bmatrix}$
- X.shape = (n, m)
- $y$: 출력 데이터 하나
- $Y$: 출력 데이터
- $Y = [y^{(1)}, y^{(2)}, ... y^{(n)}]$
- Y.shape = (1, m)
- $\hat{y}$: 예측값
- 0과 1 사이의 확률값으로 나타남
로지스틱 회귀
입력 특성(x)에 대한 실제값(y)을 가지고 예측값($\hat{y}$)을 구하고 그 예측값과 실제값의 오차가 최소가 되도록 하는 파라미터($W$, $b$)를 구해야 함
- $W$: $x$와 크기가 같은 $n$차원의 벡터
- $b$: 상수
예측값은 아래와 같이 구함
$\hat{y} = \sigma(W^TX+b)$
Sigmoid 함수
- 위 식에서 $\sigma$가 하는 역할은 예측값이 0에서 1사이가 되도록 만드는 역할
- $\sigma(z) = {1 \over 1 + e^{-z}}$
- $z$가 클 수록 1로 수렴
- $z$가 작을 수록 0으로 수렴
- Sigmoid 함수 그래프
- 따라서 $\hat{y}$는 항상 0에서 1 사이의 값을 갖는다.
손실함수
한 세트에 대한 예측값($\hat{y}$)과 실제값($y$)의 오차를 구하는 함수
- $L(y, \hat{y}) = -(y\log{\hat{y}}+(1-y)\log(1-\hat{y}))$
- 실제값($y$)이 0이냐 1이냐에 따라서 오차를 구하는 식이 달라진다.
- $y=0$일 때: $L(y, \hat{y}) = -y\log{(1-\hat{y})}$
- $y=1$일 때: $L(y, \hat{y}) = -y\log{\hat{y}}$
- 그래프로 표현
비용함수
모든 입력세트에 대한 오차를 구하는 함수
- $J(W, b) = -{1 \over m}\sum_{i=1}^m(y^{(i)}\log{\hat{y}^{(i)}}+(1-y^{(i)})\log(1-\hat{y}^{(i)}))$
로지스틱 회귀 모델을 학습한다는 것은 비용 함수 $J$를 최소로 만드는 $W$와 $b$를 찾는 것을 의미
'연구 노트 > 머신러닝' 카테고리의 다른 글
[TIL] 210331 - Deep LearniNg (~C1W2L15) (0) | 2021.03.31 |
---|---|
[TIL] 210330 - Deep LearniNg (~C1W2L13) (0) | 2021.03.30 |
[TIL] 210329 - Deep LearniNg (~C1W2C10) (0) | 2021.03.29 |
[TIL] 210326 - Deep LearniNg (~C1W2L07) (0) | 2021.03.26 |
[TIL] 210324 - Deep LearniNg (~C1W1L04) (0) | 2021.03.24 |