본문 바로가기

코딩 독학/앤드류응 딥러닝 Course1 (미래연구소 14기)5

C1W3L6~L7 C1W3L5. Explanation for Vectorized Implementation 각 벡터행렬이 어떻게 쌓이는지 다시 정리해보자 [1]과 [2]번째 layer 안의 각 노드에서 z와 a들을 계산하는데 z = Wx + b의 행렬계산에 따라서 원소가 어떻게 쌓이는지 다음 그림을 통해 살펴보자. 일반상수 b는 브로드캐스팅을 통해 전체행렬에 더해질수있으니 빼고 생각하면 W를 가로벡터, x를 세로로 원소가 쌓인벡터라고 생각했을때 곱한 결과가 세로벡터가 생성되고, 그게 z값이며 대문자 Z행렬은 각 z(1), z(2), z(3) ...들이 열로 쌓인 행렬이 될 것이다. C1W3L6~L7. Activation Function 활성화함수의 선택 각 노드는 이전 노드의 결괏값(활성값)들을 input으로 받아서 새로.. 2020. 10. 13.
C1W2L1 ~ C1W2L4 C1W2L1. Neural network overview 여기서는 신경망이 어떤 원리로 구성되어 있고 구현되는지 살펴볼 것이다. 이때까지 공부한바에 의하면 로지스틱회귀는 특성x와 변수인 가중치 w,b를 입력하면 가중합 z를 계산하고, 이를 통해 활성값(예측값) a를 계산해 실제값y와의 오차를 구한 뒤 거꾸로 각단계의 도함수를 구해 초기 변수 w,b와 오차값의 도함수를 구해 가중치를 수정했다. 이를 기반으로 신경망을 다음과같이 쌓는다. 각 동그라미는 node라고 부르며, 하나의 node에서 각각 z와 a값을 구하는 위의 단계를 시행한다. [대괄호]는 layer고 0번째 layer는 특성값 x들을 넣은 input layer(입력층)이다. [2]layer는 output layer(출력층)이고 최종 활성값a (.. 2020. 10. 9.
C1 W2 L13 ~ L14 C1W2L13. Vectorizing Logistic Regression for 문 없이 로지스틱회귀의 정방향전파를 코드로 구현해보자 > 2020. 10. 9.
C1W2L10 ~C1W2L12 C1W2L10. Gradient Descent on m Examples 앞에서는 단일샘플에 대하여 경사하강법을 구현했다면, 이번에는 m개의 샘플에 대해 구현해보자. m개의 (x, y) 샘플이 있고 x는 피처값, y는 참/거짓을 나타내는 레이블값이다. 샘플간의 구분을 위해 i번째 샘플임을 위첨자로 나타냈다. m개의 샘플 전체에 대해 가중치 (w,b)를 적용한 비용함수 J(w,b)는 각샘플의 손실함수 L(a, y) 의 평균을 낸 것과 같다. 마찬가지로 도함수도 각 샘플의 도함수를 평균낸 것과 같다. 이것을 통해 경사하강법에 사용할 전체적인 경사를 구할 수 있다. 이것을 코드로 구현해보면 다음과 같다. 1. 먼저 값을 초기화한다. 2. m개의 샘플에 대하여 z, a, J 식을 for문으로 작성한다. 3. 최종.. 2020. 10. 7.
C1W2L4 ~ C1W2L9 futurelab.creatorlink.net/ C1W2L4. Gradient Descent (경사하강법) 이제까지 Binary classification에서 주어진 데이터를 가지고 임의로 설정한 가중치 (w,b)에 대한 선형예측함수를 만들고, 이함수의 결괏값을 binary classification에 적용하기 위해 한차례 더 시그모이드함수에 넣어서 예측값 y_hat을 구했다. 실제결괏값 y와 우리가 임의로 설정한 가중치 (w, b)로 설정한 예측모델함수에 의한 결괏값 y_hat의 오차를 나타내는 오차함수 J(w,b)가 있다. 이것이 가장 작아지는 (w,b)를 구하는 것이 목표이다. x축이 w, y축이 b, z축이 J(w,b)인 3차원그래프를 그려보면 다음과 같다. 특별히 한지점이 볼록한 최솟값을 갖게 .. 2020. 10. 7.