Методы увеличения данных для общих наборов данных?


21

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

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


2
Я думаю, что некоторые методы, такие как PCA или AE, все еще интуитивно понятны для увеличения данных. Первый метод заключается в применении PCA, сохранении первых k собственных значений и установке kn собственных значений случайным образом из распределения, гауссов и т. Д. Если другой метод использует авто-кодеры для построения самих данных. Если количество скрытых юнитов близко к видимым юнитам, оно может построить себя довольно хорошо. Реконструированные данные могут быть использованы в качестве дополненной части данных.
yasin.yazici

@ Ммм, это ответило на твой вопрос?
shf8888

@ yasin.yazici Привет. Не могли бы вы объяснить немного об увеличении данных с помощью PCA? Предположим, у меня есть данные где 50 - это размерность объекта. Сейчас я делаю PCA и нахожу, что первых 30 главных собственных векторов достаточно. Что я должен сделать в следующих 20 собственных векторах и как я должен ввести случайность? 100Икс50503020
Рони

См. Мою магистерскую диссертацию, стр. 80, где представлен обзор технических приемов увеличения данных для изображений.
Мартин Тома

Увеличение данных имеет большой смысл для изображений, например. Повернутое изображение объекта по-прежнему является изображением объекта, и вам нужно, чтобы модель подверглась воздействию этого, но, вероятно, у вас не обязательно есть такое изображение в вашем наборе данных. Зачем нужна / точка увеличения данных в этом случае? Мне не ясно, что ты должен делать это.
gung - Восстановить Монику

Ответы:


17

Я понимаю, что этот вопрос подразумевает как построение объектов, так и работу с множеством функций, которые у вас уже есть +, которые будут сконструированы относительно ваших наблюдений ( N << P).

Особенность конструкции

В дополнение к комментарию @ yasin.yazici, возможны несколько способов дополнения данных:

  • PCA
  • Авто-кодирование
  • Преобразование, такое как журнал, полномочия и т. Д.
  • Объединение непрерывных переменных в дискретные категории (т. Е. Непрерывная переменная на 1 SD выше среднего, 1 ниже среднего и т. Д.)
  • Составные переменные (например, см. Здесь )

Я уверен, что я скучаю по многим другим.

Выбор характеристик / уменьшение размеров

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


2
Подскажите, пожалуйста, как можно использовать автоматическое кодирование для создания объектов?
Рони

1
@roni Успешное обучение автоэнкодеру дает некоторое представление данных на более высоком уровне абстракции. Надеюсь, более полезное представление, которое вы можете использовать в классификаторе.
Крис Андерсон

0

Я столкнулся с аналогичной проблемой, когда хотел увеличить немаркированные числовые данные. Я добавил данные следующим образом: (скажем, у меня есть набор данных размером 100 * 10.)

  1. Создайте список путем случайной выборки значений из {0,1}, чтобы число нулей было меньше числа 1, например, в этом случае доля 0 равна 20%. Таким образом, каждый будет иметь список 0 и 1 с длиной 100.
  2. Используйте этот список как зависимую переменную и передайте его в smote, чтобы генерировать больше точек данных. (Здесь smote будет генерировать точки по краям, соединяющие точки данных, которые соответствуют 0 в сгенерированном списке).
  3. Повторяйте этот процесс, пока не получите набор данных требуемого размера.

1
Пожалуйста, не публикуйте одинаковые ответы в нескольких темах. Если вы действительно верите, что тот же ответ, который вы опубликовали в другом месте, полностью отвечает на другой вопрос, пометьте этот вопрос как дубликат первого.
gung - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.