0

분류를 위해 MLP를 사용하려고합니다. 다음은 모델의 모양입니다. 내 모델을 학습 할 때이상한 유효성 검사 손실 및 정확도

import keras 

from keras.models import Sequential 
from keras.layers import Dense, Dropout 

from keras.utils import np_utils 

model = Sequential() 
model.add(Dense(256, activation='relu', input_dim=400)) 
model.add(Dropout(0.5)) 
model.add(Dense(256, activation='relu')) 
model.add(Dropout(0.5)) 
model.add(Dense(number_of_classes, activation='softmax')) 

model.compile(loss='categorical_crossentropy', 
       optimizer='adam', 
       metrics=['accuracy']) 

X_train = input_data 
y_train = np_utils.to_categorical(encoded_labels, number_of_classes) 

history = model.fit(X_train, y_train, validation_split=0.2, nb_epoch=10, verbose=1) 

는하지만, 교육의 정확성이 더 간다하지만 검증의 정확성이 움직이지 않고 높은 값을 갖는 것을 알 수있다.

Using TensorFlow backend. 

Train on 41827 samples, validate on 10457 samples 
Epoch 1/10 
41827/41827 [==============================] - 7s - loss: 2.5783 - acc: 0.3853 - val_loss: 14.2315 - val_acc: 0.0031 
Epoch 2/10 
41827/41827 [==============================] - 6s - loss: 1.0356 - acc: 0.7011 - val_loss: 14.8957 - val_acc: 0.0153 
Epoch 3/10 
41827/41827 [==============================] - 6s - loss: 0.7935 - acc: 0.7691 - val_loss: 15.2258 - val_acc: 0.0154 
Epoch 4/10 
41827/41827 [==============================] - 6s - loss: 0.6734 - acc: 0.8013 - val_loss: 15.4279 - val_acc: 0.0153 
Epoch 5/10 
41827/41827 [==============================] - 6s - loss: 0.6188 - acc: 0.8185 - val_loss: 15.4588 - val_acc: 0.0165 
Epoch 6/10 
41827/41827 [==============================] - 6s - loss: 0.5847 - acc: 0.8269 - val_loss: 15.5796 - val_acc: 0.0176 
Epoch 7/10 
41827/41827 [==============================] - 6s - loss: 0.5488 - acc: 0.8395 - val_loss: 15.6464 - val_acc: 0.0154 
Epoch 8/10 
41827/41827 [==============================] - 6s - loss: 0.5398 - acc: 0.8418 - val_loss: 15.6705 - val_acc: 0.0164 
Epoch 9/10 
41827/41827 [==============================] - 6s - loss: 0.5287 - acc: 0.8439 - val_loss: 15.7259 - val_acc: 0.0163 
Epoch 10/10 
41827/41827 [==============================] - 6s - loss: 0.4923 - acc: 0.8547 - val_loss: 15.7484 - val_acc: 0.0187 

열차 데이터 또는 기차 프로세스 설정에 문제가 있습니까?

답변

1

당신의 모델은 강하게 overfitting 것으로 보인다. 아마도 데이터와 관련이 있지만 학습 속도를 먼저 낮추십시오.

from keras.optimizers import Adam 
model.compile(loss='categorical_crossentropy', 
      optimizer=Adam(lr=0.0001), 
      metrics=['accuracy']) 
+0

예. 데이터에 문제가 있습니다. 나는 전처리를 할 필요가 있다고 생각한다. –