Improving Deep Neural Networks/1주차

1. Practical aspects of Deep Learning (Quiz) examples의 수에 따라 train/dev/test set을 어떤 비율로 split 해야 하는가? 10,000개 정도로 작을 경우 : 60/20/20 20,000,000개 정도로 많을 경우 : 99/0.5/0.5 training, test set은 같은 source로부터 구해진 것을 사용해야 한다. 그렇지 않을 경우 학습이 제대로 이루어지지 않는다. 'high bias' 문제가 있는 경우 hidden layer 숫자를 늘려(deeper network) 해결을 시도할 수 있다. 'high variance' 문제의 경우 더 많은 train data를 확보하거나 regularization을 시도할 수 있다. Data augme..
4. Numerical Approximation of Gradients Checking your derivative computation 미분의 정의를 통해 접선의 기울기를 계산하는 과정을 이해해보자. x = θ일 때 아주 작은 값 ε = 0.01을 더하고 빼서 함수값을 구해본다. 본래 기울기는 'y의 변화량 / x의 변화량' 이므로 {f(θ+ε) - f(θ-ε)} / 2ε 이 기울기가 된다. 이는 함수 f(θ) = θ^3을 미분하여 구한 g(θ) = 3θ^2와 근사한 결과다. 실제 값을 대입해보면 미분값이 3.0001로 기존 도함수 g를 통해 구한 3과 0.0001 차이가 나는 것을 알 수 있다. 계산은 이와 같은 방식으로 이뤄진다. 이때의 error는 O(ε^2)로 표현된다. 이를 기존 미분 정의와 ..
1. Normalizing Inputs Normalizing training sets x = [x1, x2] feature로 구성된 training set의 분포를 살펴보자. 우선 모든 x를 x의 mean(평균)만큼 빼준다(subtract). 그러면 두 번째 그림처럼 x1 feature 축에 대해 분포가 정렬된다. 다음으로는 x의 분산을 구해 x 전체를 분산으로 나눠준다. 이때 이미 평균을 뺀 값이므로 x 제곱의 평균을 구하는 것이 바로 분산이 된다. (분산을 구하는 기존 식은 'x-m' 제곱의 평균을 구하는 것이기 때문) 그러면 마지막 그림처럼 분산을 반영한 분포로 변형된다. 이러한 변형을 train set에 대해 적용했다면 test set에도 동일한 평균과 분산값으로 변형을 해줘야 한다. 즉, 두 s..
1. Regularization Logistic regression High variance 문제가 있을 때 데이터를 늘리기 어려운 상황이라면 regularization을 적용할 수 있다. loss function으로 구한 cost function J를 최소화하는 logistic regression을 예시로 들어 내용을 살펴보자. 기존의 logistic regression에서는 J가 prediction과 target 간의 차이를 평균낸 것으로 정의된다. 여기에 lambda라는 일종의 hyper parameter와 전체의 개수 m으로 나눠준 값을 계수로 갖는 L2 norm을 곱한 값을 더해준다. 쉽게 말하면 '특정 계수와 L2 norm을 곱한 값의 평균'을 더해준다는 것이다. 이때 두 변수 w와 b에 대해..
1. Train / Dev/ Test sets Applied ML is a highly iterative process ML은 다양한 분야에 적용되고 있다. NLP, CV, Speech Recognitoin, 등.. 그러나 어떤 분야든지간에 Model에 대한 적합한 hyper parameter를 한 번에 구할 수는 없다. 전문가라 하더라도 위와 같은 cycle을 반복적으로 돌리면서 모델을 적절히 변경할 수 있게 되는 것이다. Train/dev/test sets 우리는 전체 데이터셋을 흔히 train/dev/test 셋으로 나눈다. train셋에서는 말 그대로 학습을 진행하고, dev셋에서는 우리가 학습시킨 알고리즘과 다른 알고리즘을 cross하여 비교할 수 있으며 test셋에서는 최고의 성능을 보였던 모..
chanmuzi
'Improving Deep Neural Networks/1주차' 카테고리의 글 목록