"Новый нейронный" - проект Open Source движка нейронной сети для платформы MetaTrader 5. - страница 39
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Радиально-базисные сети будем строить?
у них есть сильный баг, при том что они учатся быстро, они плохо предсказывают на неизвестных данных.
Общий курс (с сайта http://www.intuit.ru/department/expert/neuro/ там нужна регистрация, кому влом регится - ник Nic_Touch pas zdraste01 )
Лекции http://www.softcraft.ru/neuro/ni/p00.shtml
Примеры отображения http://www.statsoft.ru/home/products/version6/snn.htm
Книги по моделям и методам обучения
u - вход активатора
y - дополнительный степенной коэффициент.
Везде где есть экспонента, нужно избегать вычислять экспоненты положительных чисел чтобы не получить больших чисел превышающих 32 бита. Например, вычисление sigma лучше так
double x = -y*u;
double e=exp(-|x|);
if(x<=0) return(1./(1.+e));
if(x>0) return(e/(1.+e));
Эти формулы выводятся довольно просто. Если аргумент экспоненты отрицателен, то оставляем формулу без изменений. Если положительный, то умножаем числитель и знаменатель на экспоненту того же аргумента, но с отрицательным знаком.
Везде где есть экспонента, нужно избегать вычислять экспоненты положительных чисел чтобы не получить больших чисел превышающих 32 бита. Например, вычисление sigma лучше так
double x = -y*u;
double e=exp(-|x|);
if(x<=0) return(1./(1.+e));
if(x>0) return(e/(1.+e));
Эти формулы выводятся довольно просто. Если аргумент экспоненты отрицателен, то оставляем формулу без изменений. Если положительный, то умножаем числитель и знаменатель на экспоненту того же аргумента, но с отрицательным знаком.
Как ни странно сам сигмоид работает корректно и при условии больших отрицательных входов, а вот функция гипертангенса сбоит, поэтому я и привёл в довесок к класическим алгоритмам, отсебячину сдвинутый сигмоид. Функция работает в том же пределе что и гипертангенс но быстрее и не имеет проблем с #IND.
Плюс к этому при регулировке угла атаки (на малых значениях коэф y) гипертангенс не достигает -1;1 , у сдвинутого сигмоида таких проблем нет.
В общем кто желает дорабатывайте гипертангенс, но я считаю что функция бесперспективная, мало того что приходится сохранять результат тк расчёт экспоненты используется два раза, так ещё нужны проверки, плюс проблемы с недостижением границ при регулировке атаки.
Мой вывод гипертангенс фтопку, сдвинутый сигмоид рулит.
Мой вывод гипертангенс фтопку, сдвинутый сигмоид рулит.
поддерживаю.
Можно правда сделать более простую реализацию сигмоида в пределе [-1;1]
но у этой реализации есть так же проблема с #IND, так что лучше всё же добавить пару простых операций чем писать многочисленные проверки
тут добавлено + - / , итого 3 дополнительных операции против кучи проверок
Это оптимальный вариант, как в качестве удобства рабочего диапазона [-1;1], так и по скорости работы. Область определения - вся числовая прямая.
Именно такую функцию активации и использую с недавнего времени, перепробовав множество альтернатив, испытав их на скорость исполнения.
А у мну в эхо сетке вот эта любимая:
Кстати.
Нужна функция сигмоидного типа.
Требования -- нормальный вид самой функции и производной (не сильно сложная в вычислении) и нормальный вид обратной функции и ее производной.