Можно ли обучить NN в Keras с функциями, которые не будут доступны для прогнозирования? - PullRequest
0 голосов
/ 19 июня 2020

Я новичок в этой топи c в целом и изо всех сил пытаюсь понять даже основы нейронных сетей в целом. Не ища плана проекта, знайте, что у вас, вероятно, есть дела поважнее. Тем не менее, любая идея или pu sh в правильном направлении приветствуется.

Представляя какую-либо модель серого ящика, тепловую сеть, электрическую сеть и т. Д., Желательно прогнозировать отдачу на основе очень несколько функций с базовой интеллектуальной моделью, которая обучается с гораздо большим набором данных.

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

Любые подсказки приветствуются.

Ура

1 Ответ

0 голосов
/ 19 июня 2020

Да, вы можете так тренировать свою модель. Но вы должны кормить все функции во время предсказания. Например, у вас есть 30 обязательных функций и 10 дополнительных функций. Всего 40. Вы должны скормить все 40 функций, чтобы получить прогноз от вашей модели. Форма входных данных всегда должна быть одинаковой. Но мы попросили дополнительные функции, но почему меня заставляют сейчас? Хорошо, я рассмотрю два варианта.

Вариант 1: установите для формы ввода значение «Нет». Если вы установите для формы ввода значение Нет, ваша модель будет принимать любую форму ввода. Но если вам придется разобраться с некоторыми вещами. Вы не можете использовать слой MaxPooling. Если вам действительно нужно использовать MaxPool, вам нужно будет рассчитать входную и выходную форму для всех слоев только с использованием обязательных форм элементов (минимальная входная форма). Если вы рассчитываете с использованием (обязательная_функция + необязательная функция), вы получите ошибку. Потому что форма входного слоя maxpool может стать слишком маленькой и не может быть уменьшена. Позаботьтесь об этом, и вы добьетесь go.

Вариант 2: Приведу вам пример. Я использовал набор выходных данных OpenPose для классификации некоторых движений. Вывод OpenPose = 18 ключевых точек кости, 36 функций, включая координаты x и y. Эти ключевые моменты были извлечены из кадров живых камер. Но нельзя сказать, что все части тела человека всегда будут внутри кадра. Когда чьи-то ноги находятся за пределами кадра, мы не можем определить ключевые точки их ног. Но все же нам нужно классифицировать. Вариантов было много. Мы могли бы заменить отсутствующие ключевые точки на 0 или найти медианное / среднее значение таких поз и использовать это значение в качестве ключевых точек. Мы нашли лучший вариант, проанализировав все данные. Если вы выберете вариант 2, я предлагаю вам сначала проанализировать данные, а затем решить, как вы собираетесь обрабатывать отсутствующее поле.

...