Нейронная сеть - тестированная обученная сеть - PullRequest
0 голосов
/ 21 мая 2018

Я запрограммировал (Java) свое собственное сетевое обучение с обратной связью путем обратного распространения.Моя сеть обучена изучению проблемы XOR.У меня есть входная матрица 4x2 и цель 4x1.

Входы:

{{0,0},
{0,1},
{1,0},
{1,1}}

Выходы:

{0.95048}
{-0.06721}
{-0.06826}
{0.95122}

У меня есть эта обученная сеть, и теперь я хочу ее протестироватьна новых входах, таких как:

{.1,.9} //should result in 1

Однако я не уверен, как реализовать метод float predict(double[] input).Из того, что я вижу, моя проблема в том, что мои тренировочные данные имеют другой размер, чем мои входные данные.

Пожалуйста, предложите.

РЕДАКТИРОВАТЬ: То, как я это сформулировал, звучит так, как будто я хочу получить значение регрессии.Тем не менее, я хотел бы, чтобы выходные данные были вектором вероятности (классификацией), который я затем могу проанализировать.

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

В вашей ситуации ваша нейронная сеть должна иметь вход с измерением 2 и выход 1. Поэтому во время обучения вы предоставите каждому примеру входные данные {x0, x1} и выходные данные {y0} для его изучения.Затем, наконец, при прогнозировании вы можете указать вектор {.9, .1} и получить желаемый результат.

0 голосов
/ 21 мая 2018

В основном, когда вы обучаете нейронную сеть, вы получаете набор параметров, которые можно использовать для прогнозирования результата.Вы получаете результат, добавляя продукты ваших функций и весов в каждый слой, а затем применяете к нему функцию активации.например, предположим, что ваша сеть имеет 3 слоя (кроме функций), и каждый скрытый слой имеет три нейрона, а ваш выходной слой имеет один нейрон.W1 обозначает ваши веса для первого слоя, поэтому он имеет форму [3,2].С тем же аргументом, W2, веса для вашего второго слоя имеют форму [3,3].Наконец, W3, который является весами для вашего выходного слоя, имеет форму [1,3].Теперь, если мы используем функцию с именем g (z) в качестве функции активации, вы можете вычислить результат для такого примера:

Z1 = W1.X
A1 = g(Z1)
Z2 = W2.A1
A2 = g(Z2)
Z3 = W3.A2
A3 = g(Z3)

, а A3 - это ваш результат, предсказывающий XOR двух чисел.Обратите внимание, что в этом примере я не учел условия смещения.

...