Я изучаю ML с помощью TensorFlow (tf js).
Моим первым тестом было обучение моей модели прогнозированию cos(x)
как функции x (от 0 до 2 * Math.PI * 4 aka 4 периоды)
особенность: 2000 значений x (случайных)
метка: 2000 значений cos (x)
модель:
const model = tf.sequential({
layers: [
tf.layers.dense({ inputShape: [1], units: 22, activation: 'tanh' }),
tf.layers.dense({ units: 1 }),
]
});
model.compile({
optimizer: tf.train.adam(0.01),
loss: 'meanSquaredError',
metrics: ['mae']
});
...
await model.fit(feature, label, {
epochs: 500,
validationSplit: 0.2,
})
Результат довольно "fun":
Теперь я хотел бы узнать, как улучшить мою модель, чтобы она соответствовала периодической природе cos (x) (без использования математическая периодичность cos (x), подобная y = cos (x по модулю 2PI)).
Возможно ли, чтобы моя модель "поняла", что существует периодичность?