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


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.