Не существует «правильной» функции активации для нейрона.То, что вы хотите, это какая-то функция, которая зажата между двумя значениями и монотонно увеличивается.Функция гиперболического тангенса (ваша «нормализованная» функция) будет делать это очень хорошо, без выходов, бегущих от -1 до 1, так как входы бегут от -inf до + inf.
Существует множество общих активацийфункции, хотя.Функция Signum (выходной отрицательный, если входное значение меньше нуля, в противном случае выходной) также действует.Другой - это логистическая кривая, о которой упоминает Кенни Кейсон, но учтите, что на самом деле вы можете заменить -x в функции Кенни на -kx, где k - некоторая константа.Таким образом, вы можете создать семейство сигмовидных кривых с более плотной или более слабой переходной областью около нуля.
Ни один из них не является более «правильным», чем другой.(Если вы не делаете обратное распространение, в этом случае функция signum не дифференцируема и не будет работать для вас.)
Тем не менее, я не понимаю, каково ваше утверждение "если"делает.Похоже, вы создаете функцию, которая переходит от единицы, к нулю и обратно к единице, когда входные данные перемещаются от -inf к + inf.Это совсем не то, что вы хотите.(Если бы вы переходили от отрицательного к нулю к положительному, это было бы хорошо.)