Доброго дня! В этой статье разбираются функции активации нейрона.
Функция активации в нейроне – это такая функция, которая позволяет нормализовать выходные данные в более удобный и правильный формат, для дальнейшего использования.
В прошлой статье я уже рассказывал об одной из них.
1. Функция единого скачка. Когда заряд в нейроне, после суммирования достиг какого-то порога или привесил его – нейрон вместо суммированного заряда выдаст 1. Если же заряд не достиг порога – нейрон выдаст 0.
Так же, есть сигмоидальные функции активации. Их несколько. К типу сигмоидальных относится логистическая функция.
Вот она:
На Java это выглядело бы так: double out = 1/(1+Math.exp(-net); или
double out = 1/(1+Math.exp(-a * net);
За переменную 'a’ у нас отвечает степень крутизны наклона на графике. Обычно – 1, ½, или 2.
Net – результат суммирования входа на вес. В результате такой функции мы получим значение от 0.0 до 1.0.
Получив вещественное число в таком диапазоне, мы можем уже как-то определить ответ. Если результат больше 0.8 – хорошо. Если больше 0.5 и не равен 0.8 – средний результат. Ну а меньше 0.5 – все плохо.
Вы можете распределить не так как я, ведь наша сеть обучается, она подстроится под нужное нам значение.
Ещё к сигмоидальным функция относят гиперболический тангенс. Вот он:
Используется он уже не так часто. В данном случае на Java это выглядело бы так:
double out = Math.tanh(net/a); Net – результат суммирований, а ‘a’ – это степень крутизны кривой на графике. В данном случае мы так же получаем вещественное число от 0 до 1.
В следующей статье поговорим о типах сетей.
На этом всё. Спасибо за внимание.
Автор: EmeraldSoft