Я начал изучать ML, и я попытался реализовать один нейрон самостоятельно.Я использовал формулу в качестве функции активации.
Алгоритм работает нормально, если данные находятся далеко, но когда данные слишком близки, он обычно перемещается в одну из группы итаким образом неправильно классифицирует это.Это можно увидеть на следующих изображениях.
Я понимаю, почему это произошло, поскольку сигмоидальная функция имеетошибка высоты для точек, близких к линии.Если нейрон видит одну группу как более плотную, он пытается отойти от них, даже если некоторые из точек второй группы будут неправильно классифицированы.
Мой вопрос заключается в том, как обнаружить эту ситуацию (особенно в более высоком измерении).) и как это предотвратить?
Вы можете найти весь скрипт в виде gist на GitHub .Я проверял это несколько раз, и ошибки не должно быть, но вы можете увидеть сами.