Порог не является необходимым, но может помочь, например, в лучшей классификации.
В вашем случае, возможно, вы можете установить порог 0,1 для 0 и 0,9 для 1. Когда ваш выход ниже 0,1, мы можем считать, что это 0, а если выходной сигнал выше 0,9, то это 1.
Поэтому , установите порог 0,36 только потому, что с это Тестовый пример работает, это очень плохая идея.Потому что 0,36 далеко от выхода 1, который мы хотим.И потому что он может (не будет) работать со всеми вашими тестовыми данными.
Вы должны рассмотреть проблему с вашим кодом.
Это не начальный вопрос, но вот несколько идей:1. Посмотрите на точность тренировки на каждом этапе.Если он учится медленно, увеличьте скорость обучения и, возможно, уменьшите его после нескольких эпох.2. Если точность не меняется, посмотрите на алгоритм Back Backagation3. Посмотрите на ваш набор данных и убедитесь, что входы и выходы правильные4. Убедитесь, что ваши веса инициализированы случайным образом5. И ворота можно решить с помощью линейного NN, без скрытого слоя.Myabe попробовать удалить скрытый слой?