Да, вы можете так тренировать свою модель. Но вы должны кормить все функции во время предсказания. Например, у вас есть 30 обязательных функций и 10 дополнительных функций. Всего 40. Вы должны скормить все 40 функций, чтобы получить прогноз от вашей модели. Форма входных данных всегда должна быть одинаковой. Но мы попросили дополнительные функции, но почему меня заставляют сейчас? Хорошо, я рассмотрю два варианта.
Вариант 1: установите для формы ввода значение «Нет». Если вы установите для формы ввода значение Нет, ваша модель будет принимать любую форму ввода. Но если вам придется разобраться с некоторыми вещами. Вы не можете использовать слой MaxPooling. Если вам действительно нужно использовать MaxPool, вам нужно будет рассчитать входную и выходную форму для всех слоев только с использованием обязательных форм элементов (минимальная входная форма). Если вы рассчитываете с использованием (обязательная_функция + необязательная функция), вы получите ошибку. Потому что форма входного слоя maxpool может стать слишком маленькой и не может быть уменьшена. Позаботьтесь об этом, и вы добьетесь go.
Вариант 2: Приведу вам пример. Я использовал набор выходных данных OpenPose для классификации некоторых движений. Вывод OpenPose = 18 ключевых точек кости, 36 функций, включая координаты x и y. Эти ключевые моменты были извлечены из кадров живых камер. Но нельзя сказать, что все части тела человека всегда будут внутри кадра. Когда чьи-то ноги находятся за пределами кадра, мы не можем определить ключевые точки их ног. Но все же нам нужно классифицировать. Вариантов было много. Мы могли бы заменить отсутствующие ключевые точки на 0 или найти медианное / среднее значение таких поз и использовать это значение в качестве ключевых точек. Мы нашли лучший вариант, проанализировав все данные. Если вы выберете вариант 2, я предлагаю вам сначала проанализировать данные, а затем решить, как вы собираетесь обрабатывать отсутствующее поле.