Как обучить нейронную сеть, чтобы определить, совпадают ли письменные и устные числа - PullRequest
0 голосов
/ 31 мая 2019

Предоставленные данные содержат набор данных с записанными числами (45000 строк, 784 столбцов), набор данных из произносимых чисел (45000 строк, 1 столбец) и набор данных, содержащий метки со значениями TRUE или FALSE (45000, логическое значение).Значение метки равно TRUE, когда устное и письменное значение соответствуют одному и тому же номеру.Поэтому мне нужно создать нейронную сеть, чтобы предсказать, будет ли результат ИСТИНА или ЛОЖЬ.

Во-первых, я суммировал данные (мин, макс, среднее, стандартное отклонение) и применил Перцептрон, но коэффициент ошибокбыл слишком высокПоэтому сейчас я пытаюсь создать нейронную сеть для решения этой проблемы.Но я застреваю.

Сначала я изменил данные, чтобы заставить их работать:

written_train = written_train.reshape(45000,28,28)
spoken_train = spoken_train.reshape(45000,1,1)

После этого я хотел применить эту модель к данным:

def model(i,p,data_a,data_b,labels):
    x=Input(shape=(28,28))
    y=Input(shape=(1,1))
    admi=LSTM(40,return_sequences=False)(x)
    pla=LSTM(40,return_sequences=False)(y)
    out=concatenate([admi,pla],axis=-1)
    print(pla)
    print(out)
    output=Dense(1, activation='sigmoid')(out)
    model = Model(inputs=[x, y], outputs=output)
    model.compile(optimizer='rmsprop',
          loss='binary_crossentropy',
          metrics=['accuracy'])
    n=model.fit([data_a, data_b],labels,batch_size=1, epochs=10)
    return n

re=model(1,4,written_train,spoken_train,match_train)
print(re)

Это приводит кследующее сообщение об ошибке:

ValueError: setting an array element with a sequence.

Так что я думаю, что требуется некоторая предварительная обработка, но я не знаю, как и что делать.Кроме того, это мой первый раз на Stackoverflow.Так что если есть что-то, что мне нужно улучшить, пожалуйста, дайте мне знать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...