일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 머신러닝
- labelImg
- NeuralNet
- Artificial Intelligence
- DataSet
- 텐서플로우
- Learning_Rate
- tensorflow
- digitalforensic
- 인공지능
- LogisticRegression
- Neural Net
- HiddenLayer
- relu
- Deep_Learning
- 모두의딥러닝
- suninatas
- blindsqlinjection
- DeepLearning개념
- Model Ensemble
- TestDataSet
- 모두의 딥러닝
- FC layer
- forensic
- TrainingDataSet
- ai
- 딥러닝
- Softmax Classification
- sql_injection
- neuralnetwork
- Today
- Total
InformationSecurity-Study
[모두의 딥러닝] Training Data Set & Test Data Set Lab 본문
별도의 Test Set을 이용해서 모델을 평가하는 방법과 Learning rate에 대해서 알아보도록 하자.
이전에는 가지고 있는 데이터를 가지고 학습하고 테스트 했지만, 엄밀히 말하면 그 방법은 틀린 것이다.
트레이닝 셋이 말하듯이 이 데이터는 학습에만 사용한다. 트레이닝 데이터 셋을 이용해서 학습하고 테스트 셋을 이용해서 모델을 평가하는 것이다. 테스트셋은 모델의 입장에서는 처음 보는 것이다.
x_data와 y_data가 Training Data Set이며, x_test와 y_test는 학습이 끝난 다음에 모델을 테스트하는 데 사용한다.
필요한 X, Y Placeholder만 있으면 되고, cost/hypothesis/optimizer 부터 prediction/is_correct/accuracy는 이전과 같다.
prediction할 때, accuracy를 측정할 때에는 x_test와 y_test를 이용해서 측정하는 것이다.
Learning rate를 0.1과 0.01을 일반적으로 준다고 했는데, 이 값이 너무 크다면 어떤 점에서 기울기를 구해서 얼마만큼 스텝을 움직이는 지의 문제가 발생한다. overshooting 현상이 일어난다는 것이다. 반대로 Learning rate를 0.00000001과 같이 괴장히 작은 값을 주게 된다면 Local Minimum에 갇히는 문제가 일어난다.
Learning rate를 1.5로 줄 경우, 숫자가 아닌 값인 nan으로 나오며, 학습을 포기해버리는 상태가 일어난다.
cost에 nan이 나온다면 Learning Rate이 크다는 것을 의심해야 한다.
반면에 Learning Rate를 0.00000000001으로 준다면, 학습이 일어나지 않음을 알 수 있다.
Learning Rate를 잘 했는데도 NaN을 만날 수도 있다. 다른 이유 중 하나가 데이터가 일반화되지 않을 때이다.
Non-normalized input이라 한다. minimize를 위해서 경사를 따라서 내려올텐데 바깥으로 튕겨나가는 문제가 있다.
이를 해결하기 위한 방법은 굉장히 간단한데, MinMaxScaler함수를 사용하는 것이다. 제일 작은 값을 0, 제일 큰 값을 1로 두어서 normalize한다. 따라서 데이터가 너무 들쑥날쑥할 때에는 데이터를 반드시 Nomalize 해주어야 한다.
'인공지능' 카테고리의 다른 글
[모두의 딥러닝] Deep Neural Nets for Everyone (0) | 2019.04.06 |
---|---|
[모두의 딥러닝] Meet MNIST Dataset LAB (0) | 2019.04.06 |
[모두의 딥러닝] Training Data Set & Test Data Set (0) | 2019.04.06 |
[모두의 딥러닝] rate, Overfitting, 그리고 일반화 (Regularization) (0) | 2019.04.06 |
[모두의 딥러닝] Softmax Classification with Tensorflow (0) | 2019.03.30 |