Алгоритм онлайн-аппроксимации медленно меняющейся вещественной функции - PullRequest
1 голос
/ 23 сентября 2010

Я занимаюсь интересной проблемой машинного обучения и хотел бы услышать, если кто-нибудь знает хороший алгоритм для решения следующих проблем:

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

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

Ответы [ 3 ]

1 голос
/ 23 сентября 2010

Я думаю, что стохастический градиентный спуск (http://en.wikipedia.org/wiki/Stochastic_gradient_descent) был бы прямым первым шагом, он, вероятно, будет работать хорошо, учитывая ваши рабочие условия.

1 голос
/ 23 сентября 2010

Я бы тоже пошел за ANN . Один слой может подойти, так как ваше пространство ввода велико. Вы можете попробовать, прежде чем добавлять много скрытых слоев.

@ mikera Для чего он будет использоваться? Это задание по курсу ML ?

1 голос
/ 23 сентября 2010

С вашим количеством входов и выходов, я бы также выбрал нейронную сеть, это должно быть хорошим приближением.Небольшое изменение хорошо для техники обратного распространения, оно не должно «отучать» материал.

...