Как размер пакета влияет на количество данных, разделенных на складки? - PullRequest
0 голосов
/ 14 июля 2020

Я работаю над проблемой классификации аудио. Я использую набор данных urbansound8k , содержащий 8732 аудио. Я знаю, что kfold одинаково разделяет данные на k групп. каждая группа будет использоваться для тестирования, а остальные - для обучения.

, поэтому, если k = 4, каждая группа будет содержать 2,183 данных. однако этот результат далек от моего собственного результата

batch_size = 1
num_folds =4
no_epochs = 10

kfold = KFold(n_splits=num_folds, shuffle=False)

for train, test in kfold.split(features, labels):

  
  model = Sequential()
  model.add(Dense(1000, activation='relu'))
  model.add(Dense(no_classes, activation='softmax'))
  



  model.compile(loss=loss_function,
                 optimizer=opt,
                 metrics=['accuracy'])

  history = model.fit(features[train], labels[train],
              batch_size=batch_size,
              epochs=no_epochs,
              verbose=verbosity,
              validation_split=validation_split,shuffle=False)


этот код имеет следующие результаты с k = 4: - 5239 на сгиб при использовании размера партии = 1 - 1048 на сгиб, размер партии = 5 - 524 на сгиб, размер партии = 10 Я не понимаю, как связаны эти два параметра: размер пакета и количество данных в сгибе.

готов поделиться своим кодом целиком, если потребуется.

1 Ответ

0 голосов
/ 14 июля 2020

Ну, если вас интересует отношение, то они, игнорируя целочисленное округление, обратно пропорциональны , т.е.

batch_size * number_of_data_in_fold = some_constant
...