2017-09-27 6 views
0

Keras를 사용하여 샘플 코드를 실행했습니다.Keras 출력 메트릭스 해석

None 
Epoch 1/2 
500/500 [==============================] - 147s - loss: 2.2464 - acc: 0.3520 - val_loss: 6.4765 - val_acc: 0.1100 
Epoch 2/2 
500/500 [==============================] - 140s - loss: 0.8074 - acc: 0.7880 - val_loss: 3.8807 - val_acc: 0.1450 

내가 loss, acc, val_loss, val_acc의 의미를 찾을 수 아니에요 :

model = Sequential([ 
BatchNormalization(axis=1, input_shape=(3,224,224)) 
Flatten(), 
Dense(10, activation='softmax')]) 

model.compile(Adam(lr=1e-4), loss="categorical_crossentropy", metrics=['accuracy']) 
model.fit_generator(batches, batches.nb_sample, nb_epoch=2, 
        validation_data=test_batches, nb_val_samples=test_batches.nb_sample) 

그것은이 출력을했다. 문서에 대한 설명이나 링크가 도움이 될 것입니다.

This is 가장 가까운 제품을 찾고 계십니다. 위의 코드에서 모델을 피팅했습니다. 그러나 또한 유효성 검사의 정확성을 제공합니다. 어떤 데이터 세트로부터이 유효성 검증 정확도가 계산됩니까? 첫 번째 질문에 대해서는

답변

2

손실은 신경망을 훈련시키기 위해 최소화하려는 목표 함수입니다. loss 값은 학습 세트의 배치 전반에 걸친 손실 함수의 평균값입니다. 정확도 (acc)는 배치 전반의 평균 정확도이며 교육 세트의 평균 정확도입니다. 정확도는 모델이 올바르게 분류 된 데이터 세트의 샘플 분율에 불과합니다.

그러나 val 메트릭은 전체 유효성 검사 집합 (validation_data에 전달한 데이터 집합)에서 계산됩니다. 이것은 훈련 중 과핑을 확인하기 위해 수행됩니다.

+0

감사합니다. 이것은 도움이됩니다. – Netro

0
  1. : 나는 정중하게 당신이 basic mechanics of a neural network에 익숙해 또는 즉 this excellent one from fast.ai 많은 MOOCs 중 하나에 보면 좋습니다. 이것은 프로그래밍에 관한 것 같지 않기 때문에이 포럼의 범위를 벗어납니다.

  2. 귀하의 model.fit_generator() 기능에 validation_data 매개 변수를 설정하여 제공 한 데이터로부터 귀하의 유효성 정확도가 계산됩니다. 귀하의 경우에는 조직적으로 매우 정확하지 않을 가능성이있는 test_batches으로 설정했습니다. 데이터를 세 가지 세트로 나눠야합니다. 하나는 교육용이고 다른 하나는 유효성 검사 용입니다 (보이지 않는 데이터와 관련하여 교육 진행 상황을보고 하이퍼 매개 변수를 튜닝하는 데 유용한 정보 얻기). 테스트 용으로 하나의 데이터 세트 모델의 최종 점수).

한 가지 더 : nb_val_samples은 더 이상 fit_generator의 매개 변수가 아닙니다. documentation here을 참조하십시오.

+0

고마워, 나는 다음 fast.ai :) 코드를 https://github.com/fastai/courses/blob/master/deeplearning1/nbs/statefarm-sample.ipynb에서 가져갔습니다. keras 1.2.2를 사용하고 있습니다. nb_val_samples https://faroit.github.io/keras-docs/1.2.2/models/sequential/#fit_generator – Netro