Neural Networks and Deep Learning/2주차

1. Nerual Network Basics(Quiz) y hat은 input x가 주어졌을 때 y = 1일 확률이다. logistic loss는 y와 y hat 값이 주어지면 공식을 통해 그 값을 구할 수 있다. boradcasting은 두 행렬의 사이즈 중 일치하는 것을 제외한 나머지 중 큰 것을 기준으로 삼아 확장해주는 기능이다. X의 차원은 열 개수 x 행 개수로 구해진다. for-loop를 vectorize할 때는 matrix의 size를 고려하여 쉽게 구할 수 있다. 2. Python Basics with Numpy sigmoid 구현하기 np.exp 함수를 이용하여 sigmoid 함수를 정의할 수 있다. parameter에 vector가 들어오면 각 원소에 대해 함수를 적용하여 vector를..
1. Broadcasting in python Boradcasting example 세 개의 행 중에서 Carb가 차지하는 비중을 for-loop 없이 해결하는 코드를 작성해보자. 각 열의 값들을 모두 더하여 구한 값으로 각 원소들을 나눠준 뒤 100을 곱하면 percentage를 구할 수 있다. 이를 for-loop가 아닌 built-in function으로 구현하면 위 사진의 맨 아랫 부분 두 줄의 코드에 해당한다. sum(axis=0) 함수를 사용하면 2차원의 matrix에 대해 '세로로' 합을 구해준다. 즉 각 열의 합을 더하여 (4,) 사이즈의 vector가 되는 것이다. 마지막으로 reshape(1,4)는 vector의 사이즈를 2차원인 (1,4)로 조정해주는 것인데 사실 쓰지 않아도 자동적으..
1. Vectorization gradient descent를 통해 값을 update하는 과정의 속도를 빠르게 만들어주는 방식이 vectorization이다. 단순히 python의 for loop를 사용하는 것이 아니라 numpy의 dot를 통해 vector인 w와 x를 빠르게 연산해준다. n차원으로 이루어진 벡터 w,x를 계산하는 것은 np.dot을 이용하는 것이 for loop를 이용하는 것보다 약 300배 이상 빠르다. 이는 강의 내 주피터 노트북을 이용한 실습을 통해 확인할 수 있었다. 이를 explicit for loop의 사용을 피하고 build in functions 사용을 지향하는 것으로 표현할 수 있다. 처음에는 for loop 내에서 왜 z에 저장되는 값을 계속 더해야하는가 했는데 여기..
1. More Derivative Examples 미분은 x축의 방향으로 아주 조금 움직였을 때 y축에서의 변화가 어떻게 될지 보여준다. 위 예시에서는 a의 값이 0.001(아주 작은 값)만큼 움직이면 f(a)는 얼만큼 움직이게 되는지 표현되어있다. f(a)가 많이 움직일수록 그래프에서의 slope(경사)가 급한 것으로 이해할 수 있다. 위 예시들의 미분값을 보면 a에 따라서 그 미분값(slope)도 다르다는 것을 알 수 있다. 즉, 함수의 형태에 따라 미분값이 변화하는 정도나 패턴도 다르다는 것이다. 어떤 식을 미분한 결과가 무엇인지 알지 모른다면 쉽게 검색하거나 교과서를 펼쳐보고 결과를 확인할 수 있다. 이전에 쌓아놓은 것이 없어 모른다면 검색해서 파악해두도록 하자. 2. Compuation Grap..
1. Binary Classification binary classification(이진 분류)는 위와 같이 '~이다, ~가 아니다'로 구분하는 것이 예가 될 수 있다. 이미지는 Red, Green, Blue 세 가지의 정보를 담고 있는 세 개의 채널로 구성된다. 그 크기를 표현하면 3 x 64 x 64가 된다.(예시) 이를 input X로 표현하면 12288(곱셈 결과)가 된다. 이것이 곧 차원이 된다. Notation input X는 nx차원에 속하고 정답 레이블(label)인 y는 0 또는 1로 이진 분류된다. training example m을 input과 label의 조합으로 생각하면 X를 m개의 열벡터 x로 구성된 행렬로, Y를 m개의 열벡터 y로 구성된 행렬로 생각할 수 있다. 이에 따라서 ..
chanmuzi
'Neural Networks and Deep Learning/2주차' 카테고리의 글 목록