Рыночный этикет или правила хорошего тона на минном поле - страница 30
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В вашем коде - if(NormalizeDouble(SquarHid[i,j],4) != 0.0), сравнение не катит . Обсуждали уже сравнение дублей.
Спасибо, но ошибки "деление на ноль" в моем коде тоже нет.
Привет, Серёга!
А вот Grasn говорил, что 14-ая версия коцаная и движок там дохлый и дифуры с ошибками считает. Вобщем, paralocus, взвесь все за и против, полазь по инету поузнавай. В ларьках дистрибутив Маткада стоит 100 руб.
Не совсем "коцанная". grasn говорил совсем другое, что в 14 движек более дешевый и все в итоге сводится к старому спору, какой из движков лучший Waterloo Maple vs SciFace Software. А на самом деле, что то лучше, что то хуже - смотреть надо, что нужно тебе. Вот пример, есть такая классическая задача о движении 3 планет. При определенных начальных условиях одна планета захватывает траекторию другой.
Вот решение в 13 маткаде (захватывает)
Вот решение в 14 маткаде (отсылает нах)
А так много плюсов и у 14 версии, очень много. Мне то видимо придется перети на нее, поскольку в висте 13 просто сваливается. А глюков у 13 доже предостаточно, а чего уж говорить о более старых версиях.
Привет, Серёга!
Классные ты задачки привёл. Красивые. Может дело в точности для численного метода? Задать точность выше и решения сойдуться...
Привет, Серёга!
Классные ты задачки привёл. Красивые. Может дело в точности для численного метода? Задать точность выше и решения сойдуться...
нет, дело не в точности.
Neutron, если я ввожу этот регулирующий коэффициент (1 - J/N) то должен ли я использовать его для всех весов, или можно использовать его, например для весов скрытого слоя, а для весов выходного нейрона - не использовать? Сейчас он у меня только для весов скрытого слоя используется. Веса более-менее стабилизировались +/-50. В качестве N я использую количество эпох.
Попробуй так и этак. Я у себя применяю его ко всем без исключения весам. Но, связано это с моей любовью к упрощению во всём, стемлению к одинаковости. Может у тебя и выгорит чего. N - количество эпох.
Смущает меня одна весчь:
Коррекция в этой системе происходит постоянно, вне зависимости от того, нужна она, или нет. Тем более станно это для сетки с бинарным входом.
Т.е. если знак угадан правильно, но есть разница между амплитудой на выходе сетки и тестовым сигналом, коррекция все равно происходит. А вот нужна ли она?
Ведь сетка, в данном случае, не ошиблась...
... Но, связано это с моей любовью к упрощению во всём, стемлению к одинаковости....
Не ветка, а мастер-класс! Благодарю за массу полезного! ОРО не занимаюсь, но рекомендации по обучению отлично работают и на PNN. Ещё раз: спасибо Neutron!
Спасибо, rsi, за тёплые слова. Всегда рад поделиться знаниями!
Смущает меня одна весчь:
Коррекция в этой системе происходит постоянно, вне зависимости от того, нужна она, или нет. Тем более станно это для сетки с бинарным входом.
Т.е. если знак угадан правильно, но есть разница между амплитудой на выходе сетки и тестовым сигналом, коррекция все равно происходит. А вот нужна ли она?
Ведь сетка, в данном случае, не ошиблась...
У меня так же ведёт себя.
Это и правильно, ведь сетка постоянно оттачивает точность прогноза не только сам знак...
Привет, Neurton! Вобщем, с двухслойкой пока не получается.
Написал однослойный перцептрон с ОРО и вчера весь день его гонял. Странно он себя ведет. То учится, то не учится и катастрофически зависит от количества эпох.
Т.е. мои результаты таковы: 8 эпох - сетка не учится, 12 эпох - сетка учится, 13 эпох - сетка не учится.
Короче результатами похвастать пока не могу.
На всякий случай распишу алгоритм, который у меня реализован. Посмотри, может я что-то упустил.
1. В перцептроне D бинарных входов, один из которых постоянный +1.
2. Используемый ВР - последовательные приращения котира по ряду Open.
3. До начала работы все веса инициализируются небольшими случайными величинами из диапазона +/-1.
4. Длинна обучающего вектора расчитывается как P = 4 * D*D /D = 4*D.
5. Обучающий вектор подается на вход сетки и вычисляется ошибка сети как Qs = Test - OUT, где Test - значение ВР на n+1, т.е. следующем, отсчете, OUT - выход сетки на n отсчете.
6. Для получения значения ошибки на входах Q ошибка сетки Qs умножается на производную сжимающей функции (1 - OUT+OUT): Q = Qs *(1 - OUT*OUT) .
7. Расчитывается и накапливается в течении всей эпохи вектор коррекции для каждого веса, входящего в нейрон COR[i] += Q*D[i]
8. Отдельно расчитывается и накапливается в течении всей эпохи квадрат ветора коррекции для каждого веса, входящего в нейрон SQR[i] += COR[i]*COR[i]
9. По окончании эпохи, для каждого веса вычисляется персональная коррекция и добавляется к этому весу W[i] += COR[i]/SQR[i]
Пробовал использовать коэффициент (1 - j/N), а так же рандомировать веса, абсолютные значения которых выросли свыше 20. Рандомирование помогает лучше.
P.S поправил ошибку в тексте