Как я могу использовать автоэнкодеры для анализа паттернов и их классификации?
Краткое содержание
Я сгенерировал множество данных для моделирования из сложного физического симулятора, который выдает узоры. Я пытаюсь применить непреднамеренное обучение для анализа этих узоров и идеально классифицировать их в категории, которые определит метод обучения. Использование PCA или техник многообразия, таких как t-SNE, для этой задачи довольно простое, но применение нейронных сетей (автокодировщиков, в частности) становится не тривиальным, так как я не уверен, что разделение моего набора данных на тестовый и обучающий является правильным подходом. Непосредственно, я думал о следующих подходах: 1. Обучить автокодировщик с использованием всего набора данных в качестве обучающих данных и обучать его на большом количестве эпох (переобучение не является проблемой в этом случае, как я полагаю). 2. Keras предлагает опцию `model.predict`, которая позволяет просто построить секцию кодировщика автокодировщика и получить значения бутleneck. 3. Провести некоторую аугментацию данных и разделить данные на обучающий и тестовый наборы, как обычно, и выполнить рабочий процесс. Однако продолжение: Продолжая, я рассматривал следующие подходы: - Обучать автокодировщик с использованием всего набора данных в качестве обучающих данных и обучать его на большом количестве эпох (переобучение не является проблемой в этом случае, поскольку я предполагаю отсутствие риска переобучения). - Использовать опцию `model.predict` в Keras для построения только секции кодировщика автокодировщика и получения значений бутleneck. - Провести аугментацию данных и разделить их на обучающий и тестовый наборы, как обычно, и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных в качестве обучающих данных на большом количестве эпох (переобучение не является проблемой из-за отсутствия риска). 2. Использовать `model.predict` в Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако правильнее будет: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, разделить их на обучающий и тестовый наборы и выполнить стандартный рабочий процесс. Однако более точно: Продолжая, я рассматривал следующие подходы: 1. Обучать автокодировщик с использованием всего набора данных как обучающих данных на большом количестве эпох (переобучение не является проблемой в данном контексте). 2. Использовать `model.predict` из Keras для построения кодировщика автокодировщика и получения значений бутleneck. 3. Провести аугментацию данных, раздел
Полный текст
Задано 5 лет, 9 месяцев назад
2 $\begingroup$ Я сгенерировал множество данных моделирования из сложного физического симулятора, который выдает шаблоны. Я пытаюсь применить несупервайзинговое обучение для анализа шаблонов и идеально классифицировать их в категории, которые определяет метод обучения. Применение PCA или техник многомерного анализа, таких как t-SNE, к этой задаче довольно простое, но применение нейронных сетей (автоэнкодеров, в частности) становится не тривиальным, так как я не уверен, что разделение моего набора данных на тестовый и обучающий является правильным подходом. Несколько наивно я думал о следующих подходах: Обучить автоэнкодер с использованием всех данных в качестве обучающих данных и обучать его за большое количество эпох (переобучение не является проблемой в этом случае, как я полагаю) Keras предлагает опцию model.predict, которая позволяет просто построить секцию кодировщика автоэнкодера и получить значения бутылочного горлышка Провести некоторую аугментацию данных и разделить данные так же, как на обучающую и тестовую выборки, и провести рабочий процесс в обычном порядке (этот подход вызывает у меня некоторое беспокойство, поскольку я не пытаюсь обобщать нейронную сеть или должен ли я это делать?) Я был бы признателен за любые рекомендации по тому, как продолжить или если мое понимание применения автоэнкодеров в этом контексте неверно. image-recognition keras unsupervised-learning autoencoders dimensionality-reduction Изменено 5 марта 2020 г., 0:51 nbro 43,1k 14 14 золотых значков 121 121 серебряных значка 222 222 бронзовых значка Задано 4 марта 2020 г., 8:30 Pavan Inguva 71 1 1 серебряный значок 2 2 бронзовых значка $\endgroup$ 2 $\begingroup$ Какого типа данные у вас есть? Какие слои вы используете для автоэнкодера? Например, если у вас есть временные ряды данных и вы используете сверточные автоэнкодеры, представление, полученное из скрытых слоев, может быть не таким хорошим, как ожидалось. Есть ли конкретная причина использовать автоэнкодеры? $\endgroup$ Uskebasi – Uskebasi 2021-01-02 08:51:18 +00:00 Комментарий 2 января 2, 2021 г., 8:51 $\begingroup$ Данные - это конечное состояние симуляции, т. е. конечная картинка/шаблон. Идея использования автоэнкодера заключается в том, что другие методы уменьшения размерности не смогли различить шаблоны в отдельные кластеры. Я должен был указать, что это была задача кластеризации, а не классификации. $\endgroup$ Pavan Inguva – Pavan Inguva 2021-01-03 18:53:00 +00:00 Комментарий 3 января 3, 2021 г., 18:53 Добавить комментарий | 2 Ответа 2 Сортировано по: Перезагрузить По умолчанию Наибольший рейтинг (по умолчанию) Изменено последним Дата изменения (сначала новые) Дата создания (сначала старые) 0 $\begingroup$ При использовании автоэнкодера, я думаю, данные, которые вы вводите, должны быть коррелированы каким-то образом. Например, если я хочу извлечь скрытое пространство представления изображения кота, обучающие данные, которые вы вводите в автоэнкодер, должны состоять только из изображений котов. Подобно другим нейронным сетям, вы подаете автоэнкодеру набор обучающих данных и надеетесь, что сеть научится набором весов, способных воспроизводить изображение из скрытого представления. Чтобы увидеть, может ли обученная модель автоэнкодера обобщать на другие не виденные ранее изображения котов, вам нужно использовать тестовый набор для этого. Вот статья о автоэнкодировании. https://web.stanford.edu/class/cs294a/sparseAutoencoder_2011new.pdf Надеюсь, это поможет вам в некоторой степени определить, следует ли вам использовать автоэнкодер. Share Improve this answer Follow answered 5 марта 2020 г., 16:20 calveeen 1,331 9 9 серебряных значков 18 18 бронзовых значков $\endgroup$ Добавить комментарий | 0 $\begingroup$ Автоэнкодер помогает вам изучать пространство представлений, которое можно использовать в PCA или T-SNE для классификации различных категорий изображений в несупервайзинговом режиме. Поскольку вы пытаетесь восстановить входное изображение, модель пытается изучить основное распределение шаблонов в ваших изображениях. $\endgroup$