본문 바로가기

AI25

(C1W2L14)Vectorizing Logistic Regression's Gradient Computation Vectorizing Logistic Regression's Gradient Computation vectorization을 통해 m개의 전체 training sample에 대한 Gradient Computation을 동시에 하는 법을 배운다. 또한 효율적인 Logistic Regression의 구현 방법을 배운다. Vectorizing Logistic Regression $dz_1=a_1-y_1\quad$ $dz_2=a_2-y_2\quad\cdots$ $dZ=\begin{bmatrix}dz_1&dz_2&\cdots&dz_m\end{bmatrix}$ (1,m)행렬 혹은 m-dimension row vector 지난 강의에서 $A$와 $Y$를 다음과 같이 정의했다. $A=\begin{bmatrix}.. 2020. 8. 31.
(C1W2L13)Vectorizing Logistic Regression Vectorizing Logistic Regression 먼저, 정방향 전파(forward propagation)를 살펴보자. $z^{(1)}=w^Tx^{(1)}+b$ $a^{(1)}=\sigma(z^{(1)})$ m개의 훈련 샘플이 있을 때 처음 샘플을 예측하기 위해서는 위의 두 공식으로 z를 계산한 뒤 활성값과 y의 예측값도 계산해야 한다. $z^{(2)}=w^Tx^{(2)}+b$ $a^{(2)}=\sigma(z^{(2)})$ 두 번째 샘플을 훈련 예측하기 위해서는 이 값을 계산한다. 즉 m개의 훈련샘플을 계산하기 위해서는 위 수식을 m번 계산해야 한다. for문을 사용하지 않고 계산하는 방법(forward propargation) 먼저, $X$는 training input을 column으로 쌓은 m.. 2020. 8. 31.
(C1W2L11)Vectorization Vectorization 코드에서 for문을 없애는 것. 딥러닝 알고리즘이 발전하게 해 준 것. $z=w^Tx+b$ $w=\begin{bmatrix}\vdots \end{bmatrix}$ $x=\begin{bmatrix}\vdots \end{bmatrix}$ Non-vectorized z=0 for i in range (n_x): z+=w[i]*x[i] z+=b Vectorized vectorized된 구현은 위의 $w^Tx$를 직접 계산한다. python에서 이 식을 다음과 같이 구현한다. z=np.dot(w,x)+b 아무튼 핵심은 vectorizeation에서 for loop를 대체하며 딥러닝 알고리즘 적용 시 시간이 아주 크게 단축된다. 2020. 8. 26.
(C1W2L09)Logistic Regression Gradient Descent 이 강의에서는 logistic regresion의 Gradient Descent를 위해 Computation graph를 사용한다. Logistic Regression을 다시 한 번 복기해보자. $$z=w^Tx+b$$ $$\hat{y}=a=\sigma(z)$$ $$L(a,y)=-(y\log(a)+(1-y)=\log(1-a))$$ 여기서 a는 logistic regression의 출력값, y는 참값 레이블이다. 이를 computation graph로 나타내보자. logistic regression에서는 매개변수 w,b를 조절하여 Loss function인 $L(a,y)$를 줄이는 것이 목적이다. 그래프에서 역방향으로 가서 a에 대한 손실함수의 도함수($\frac{dL(a,y)}{da}$)를 계산해보자. 코.. 2020. 8. 26.
(C1W2L07~08)Computation Graph 본격적으로 computation graph에 들어가기 전에 logistic regresion, nn보다 쉬운 것으로 예를 들어보자. $$J(a,b,c)=3(a+bc)$$ 위 식을 계산하기 위해서는 세 단계 과정이 필요하다. $bc$를 계산해서 $u$에 넣는다. $u=bc$ $a+u$를 계산해서 $v$에 넣는다 $v=a+u$ 출력값 $J$ - $J=3v$ 위의 세 단계를 다음과 같이 computation graph로 나타낼 수 있다. 이런 Computation Graph(계산 그래프)는 특정 변수를 Optimization(최적화)할 때 유용하다. Computation Graph를 이용해 함수$J$의 도함수 구하기 결론부터 말하면 아래 식이다.(가장 중요) $$ \frac{dJ}{du}=\frac{dJ}{d.. 2020. 8. 26.
(C1W2L04)Gradient Descent 강의영상 Gradient Descent logistic regression $$ \hat{y}=\sigma(w^Yx+b), \sigma(z)=\frac{1}{1+e^{-z}} $$ 매개변수 $w,b$에 대한 cost function $J$ 이 cost function $J$는 loss function $L$의 평균값이기도 함. 매개변수 $w,b$를 찾기 위해서는 cost function $J(w,b)$를 가장 작게 만드는 $w,b$를 찾아야 한다. 위 그림에서 두 가로축은 매개변수 $w,b$이다. cost function은 곡면 $J(w,b)$ 이고, 곡면의 높이는 $J(w,b)$값이다.여기서 $J$값의 최소값. 즉, 아래로 볼록한 부분을 찾는 것이 우리의 목표이다. 이런 간단한 모양의 $J$가 있다고 .. 2020. 8. 24.