Как сделать увеличение данных и разделить проверку достоверности?

14

Я делаю классификацию изображений с использованием машинного обучения.

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

Какой правильный способ сделать увеличение данных?

  1. Сначала разбейте данные на обучающие и проверочные наборы, затем выполните увеличение данных как на обучающих, так и проверочных наборах.

  2. Сначала разбейте данные на обучающие и проверочные наборы, затем увеличивайте данные только на обучающем наборе.

  3. Сначала выполните увеличение данных на данных, затем разделите данные на набор для обучения и проверки.

yangjie
источник
1
«Увеличение данных» имеет несколько значений; это поможет отредактировать ваш вопрос, чтобы уточнить, какой из них ваш, или просто привести пример.
Scortchi - Восстановить Монику
Если вы планируете сделать TTA, то добавление должно быть применено к набору валидации как к тестовому набору.
Эбби Йоркер

Ответы:

18

Сначала разбейте данные на обучающие и проверочные наборы, затем выполните увеличение данных на обучающем наборе.

Вы используете свой набор проверки, чтобы попытаться оценить, как ваш метод работает с данными реального мира, поэтому он должен содержать только данные реального мира. Добавление дополненных данных не улучшит точность проверки. Это в лучшем случае скажет что-то о том, насколько хорошо ваш метод реагирует на увеличение данных, а в худшем случае испортит результаты проверки и интерпретируемость.

Берк
источник
Мне довольно любопытно о чем-то в вашем ответе. Если мой критерий прекращения обучения CNN снижает потери при проверке, считаете ли вы, что дополнение данных к данным проверки является хорошим выбором?
безумный
1
Нет, я все еще думаю, что это «испортит результаты проверки и интерпретируемость», поскольку точность проверки больше не является хорошим показателем точности для новых невидимых данных, если вы дополняете данные проверки.
Burk
так что нам вообще не нужно применять увеличение данных при проверке и тестировании данных?
Ааднан Фарук
@AadnanFarooqA Нет. Обычно вы должны выполнять те же операции с вашими данными тестирования и проверки, что вы собираетесь делать с вашими невидимыми данными, когда вы используете свою модель для прогнозов.
Burk
1
@AadnanFarooqA Обычно вы должны просто применить увеличение к тренировочным данным после разделения.
Burk
4

никогда не делайте 3, так как вы получите утечку. например, предположим, что увеличение - это сдвиг на 1 пиксель влево. если разделение не учитывает увеличение, вы можете получить очень похожие образцы данных как при обучении, так и при проверке.

eyaler
источник
0

Увеличение данных означает добавление внешних данных / информации к существующим данным, которые анализируются.

Таким образом, поскольку все дополненные данные будут использоваться для машинного обучения, лучше подойдет следующий процесс:

Делать увеличение данных -> Разделение данных

Dawny33
источник
Спасибо за ответ. Хорошо ли, что выборка и расширенная выборка, которая очень похожа на оригинальную, распределены в разных наборах?
Янцзы
Вы имеете в виду существующие данные в качестве обучающего набора и дополненные данные в качестве проверочного набора? Тогда НЕТ
Dawny33
Разделение является случайным, поэтому я имею в виду, что если я делаю увеличение данных, а затем разделяю данные, вполне вероятно, что некоторые существующие данные (не все) будут разделены на обучающий набор, в то время как дополненные данные отправляются в набор проверки.
Янцзы
Под увеличением вы подразумеваете добавление? Дополненные данные - это данные, которые поддерживают текущие данные во всех точках. Таким образом, если расщепление является случайным, то расщепление приведет к тому же количеству расширенных данных в обоих наборах, что и к существующим данным
Dawny33
Есть ли какие-либо ссылки на бумаги для этого?
Ааднан Фарук