Я занимаюсь интересной проблемой машинного обучения и хотел бы услышать, если кто-нибудь знает хороший алгоритм для решения следующих проблем:
- Алгоритм должен научиться приближаться к функции N входов и M выходов
- N довольно большое, например 1,000-10,000
- М довольно мало, например, 5-10
- Все входы и выходы значения с плавающей запятой , могут быть положительными или отрицательными, вероятно, будут относительно небольшими по абсолютной величине, но без абсолютных гарантий на границах
- Каждый период времени, когда я получаю N входных данных и мне нужно прогнозировать M выходных данных, в конце временного периода предоставляются фактические значения для M выходных данных (т. Е. Это контролируемое обучение ситуация, когда обучение нужно проходить онлайн )
- Базовая функция нелинейная , но не слишком неприятная (например, я ожидаю, что она будет плавной и непрерывной в большей части входного пространства)
- В функции будет небольшое количество шума , но сигнал / шум, вероятно, будут хорошими - я ожидаю, что N входов будет иметь значение 95% + от выходных значений
- Базовая функция медленно изменяется со временем - вряд ли изменится радикально за один период времени, но, вероятно, немного сместится в течение 1000 с периода времени
- Нет скрытого состояния, о котором нужно беспокоиться (кроме функции изменения), т. Е. Вся необходимая информация находится на N входах
В настоящее время я думаю, что может работать какая-то нейронная сеть обратного распространения с большим количеством скрытых узлов - но действительно ли это лучший подход в этой ситуации и будет ли он обрабатывать меняющуюся функцию?