Так что я тихий новичок в углубленном изучении. Так что терпите меня. У меня есть ANN, и у меня есть набор данных прогноза цен на жилье, который я передаю ему. Я очистил набор данных, нормализовал вывод (принимая журнал) и разделил набор данных, обучил модель и извлек веса и смещение. Я жестко закодировал свое собственное уравнение нейронной сети с использованием этих весов и смещений (что на самом деле является функцией), которая возвращает прогнозируемый результат. Теперь я предполагал, что если я сравню значение из прогнозируемого результата обученной модели, используя model.predict()
, а затем использую те же входные данные и добавлю его в мое уравнение, тогда оба выходных значения должны совпадать. Однако, это не так. И прежде чем кто-либо еще спросит, я использую трехслойную модель с (12,8,1) и relu в первых 2 слоях и линейную в последнем слое, и я также применил свою функцию активации к выходу всех слоев (если -ve тогда вернуть 0 или значение). Итак, я хочу знать, есть ли какая-либо другая причина, почему эти результаты не будут совпадать. Вот как выглядит мое уравнение примерно (не воспроизводимо):
layer1:
L1N0=activation_function(I1*w(0,0)+I2*w(0,1)+I3*w(0,2)+b1N0)
L1N1=activation_function(I1*w(0,1)+I2*w(1,1)+I3*w(1,2)+b1N1)
layer2:
L2N0=activation_function(L1N0*w_layer2(0,0)+L1N0*w_layer2(0,1)+b2N0)
```