Я пытаюсь построить сверточную модель. Я тренировал две разные структуры следующим образом. Как вы можете видеть, для одного слоя нет никаких очевидных изменений по количеству эпох. Двухуровневый Conv2D обеспечивает повышение точности и потери для набора данных поезда, но характеристики проверки будут трагедией. В связи с тем, что я не могу увеличить свой набор данных, что мне делать, чтобы улучшить характеристики проверки? Я исследовал регуляризаторы L1 и L2, но они не повлияли на мою модель. Фигуры SpatialDropout2D

2
Codie 17 Окт 2019 в 15:46

3 ответа

Лучший ответ

Я пробовал разные модели, которые хорошо работают с небольшими наборами данных, но, как я и подозревал, как и мой окончательный вердикт - это проигранное дело .

У вас недостаточно данных для обучения хорошей модели DL или даже модели ML, такой как SVM, что усугубляется наличием восьми отдельных классов; Ваш набор данных будет иметь некоторый шанс с SVM для бинарной классификации, но не для 8-класса. В крайнем случае, вы можете попробовать XGBoost, но я бы не стал на это ставить.

Что вы можете сделать? Получите больше данных. Там нет никакого способа обойти это. У меня нет точного числа, но для 8-классовой классификации я бы сказал, что вам нужно где-то в 50-200 раз больше ваших текущих данных, чтобы получить разумные результаты. Помните также, что ваша производительность проверки будет намного хуже при большем наборе проверки, учитываемом в этом числе.


Для читателей OP поделился со мной своим набором данных; формы: X = (1152, 1024, 1), y = (1152, 8)

0
OverLordGoldDragon 18 Окт 2019 в 17:03

1) . Вы можете использовать адаптивную скорость обучения (у вас может работать экспоненциальный спад или зависимость от шага). Кроме того, вы можете попробовать очень высокие скорости обучения, когда ваша модель переходит на локальный минимум.

2) Если вы тренируетесь с изображениями, вы можете перевернуть, повернуть или выполнить другие действия, чтобы увеличить размер набора данных, и, возможно, для вашего случая подойдут другие методы дополнения.

3) Попробуйте изменить модель на более глубокую, мелкую, широкую, узкую.

4) Если вы используете классификационную модель, убедитесь, что в конце концов вы не используете сигмоид в качестве функции активации, если не выполняете бинарную классификацию.

5) . Всегда проверяйте ситуацию в наборе данных перед тренировкой.

  • Ваш разделенный тест может не подходить для вашего случая.
  • В ваших данных могут быть сильные шумы.
  • Некоторое количество ваших данных может быть повреждено.

Примечание. Я буду обновлять их всякий раз, когда мне в голову приходит новая идея. Кроме того, я не хотел повторять комментарии и другие ответы, у них обоих есть ценная информация для вашего случая.

2
Physicing 17 Окт 2019 в 13:56

Проверка становится трагедией, потому что модель перегружена данными обучения, которые вы можете попробовать, если что-то из этого работает,

1) Хорошим вариантом будет нормализация партии. 2) Попробуйте уменьшить размер партии.

1
ArunJose_Intel 17 Окт 2019 в 13:15