Если вы спрашиваете, как сделать полиномиальную регрессию с использованием нейронных сетей, вот рецепт.
Ваш набор данных состоит из точек (x, y)
. Проектируйте вашу сеть как полностью подключенную сеть (плотная сеть) с 1 входным слоем и 1 выходным слоем. Входной слой состоит из 2 узлов, выходной слой состоит из 1 узла. Затем введите в свою сеть входные данные x
и x^2
. Выход будет рассчитан как:
y = w * X + c
где w
- матрица обучаемых параметров. В частности, он имеет форму 1x2, поскольку содержит параметры a
и b
. c
- это предвзятость. Матрица ввода X
имеет форму 2xN, где N
- количество точек в вашем наборе данных, и для каждой точки первый компонент равен x^2
, а второй - x
.
В качестве функции потерь используйте стандартную среднеквадратичную ошибку. Что касается оптимизатора, простой Stochastic Gradient Descent должен работать просто отлично. При сходимости w
и c
будут достаточно хороши для аппроксимации истинной квадратичной функции.
Я не знаю, keras, но я думаю, что будет непросто выяснить, как реализовать эту наивную сеть.