02.15.2023#
XOR нельзя обучить на нашем перцептроне потому, что в x_train
бывают нулевые значения. А из-за функции корректировки ошибок у нас нейросеть обучаться не будет.
if error != 0:
for ii in range(len(w)):
w[ii] = w[ii] + error * x_train[i][ii] * SPEED
А из-за рассматриваемой логической операции формируются ситуации, когда нейросеть в нужный момент обучаться не будет.
Это можно компенсировать нейроной смещения
Патент: RU 2 269 155 C2 - модель, которая на одном нейроне можно обучиться на логический оператор XOR.