Нейронные сети - страница 13

 
Kazam:
Если вам нужен хороший источник информации о HONN, приобретите книгу "Искусственные нейронные сети высшего порядка для экономики и бизнеса". Это новая публикация, поэтому в ней очень хорошая информация. Цена просто убийственная (180$), но вы можете найти ее в pdf .

Это та книга, о которой я говорил, она хороша. Я только немного ознакомился с ней, но она уже дала мне много идей. Реализация их, во всяком случае для меня, немного сложнее, я немного новичок в этом кодировании...

Спасибо за рекомендации, я посмотрю и увижу... Может, повезет и я найду что-нибудь из них в библиотеке университета. Они только что построили новое здание искусственного интеллекта с собственной библиотекой, так что там может быть что-нибудь. В противном случае я просто скачаю их...

Я разделил свои данные за 10 лет на две части 2/3 и 1/3 соответственно, обучил сеть на первых 2/3 (включая разделение этих 2/3 на обучающую, тестовую и CV части) и затем протестировал полученную сеть на оставшейся 1/3, и она, похоже, осталась точной. Была некоторая минимальная потеря точности, но она по-прежнему составляла 0.9995 линии регрессии. Может ли это быть объяснено чрезмерной подгонкой предыдущих обучающих данных?

 
Kazam:

- "Программирование экспрессии генов" - Кандида Феррейра.

Не является ли Кандида Феррейра бактерией, вызывающей молочницу?

 

surfeur

Я не торгую на Forex с помощью ENN. Возможно, скоро начну, но, скорее всего, я буду использовать системы для классификации /системы, которые решают, когда брать длинную/короткую сделку/, а не пытаться прогнозировать цену - Forex слишком волатилен.

Пока что я использую ENN и генетические алгоритмы /и некоторые другие вещи, такие как нечеткая логика, теория грубых множеств и т.д./ для управления портфелем /прогнозирование долгосрочных процентных ставок с целью торговли T-bills и т.д./.

Результаты довольно хорошие. Они будут еще лучше, когда все станет лучше и стабильнее после окончания финансового кризиса.

mrwobbles

Для целей торговли на Forex не смотрите на измерения ошибок, а проверьте, показывают ли прогнозы то же направление движения цены, что и желаемый результат. Что я имею в виду - если NN показывает, что следующая цена закроется выше, чем текущая, то вы должны ожидать, что цена будет двигаться по крайней мере на x пунктов выше уровня открытия. Предсказать точный уровень цены практически невозможно для таких тайм-фреймов, как H1 или H4.

Небольшая ошибка, которую вы получаете сейчас, вызвана неправильным методом ее измерения.

И вы правы - существует род дрожжей под названием Candida.

 

Я пытался предсказать закрытие, а также спред открытия-закрытия, потому что я думаю, что вы правы, что предсказать точное закрытие будет почти невозможно. Но я думаю, что подходящая сеть с генетически оптимизированными нейронами и весами смогла бы сделать это с точностью до 5 пунктов, если бы вы предоставили ей правильные входные данные. Рассматривали ли вы возможность использования самоорганизующихся карт Кохонена (SOMs) для прогнозирования на более отдаленную перспективу, чем t+1? Насколько я понимаю, сети Кохонена могут взять прогноз для t+1 и затем использовать это значение для прогнозирования всех значений, скажем, до t+10, хотя я могу ошибаться. Это было бы полезно, хотя все примеры, которые я видел, были менее точными, чем то, что я ищу.

 

Для целей прогнозирования временных рядов Forex забудьте о SOM'ах. ENN намного лучше.

Если вы хотите предсказывать шаги в течение t+1 /t+2, t+3 и т.д./, просто используйте другой таймфрейм. Например, если вы хотите предсказать тренд на следующую неделю, используйте таймфрейм W1. Не прогнозируйте t+n на основе t+n-1 /потому что курсы валют на Forex хаотичны и нелинейны/. Вы также можете обучить одну сеть для прогнозирования t+1, вторую - для прогнозирования t+2 /используя те же данные/ и так далее.

Очень хорошей идеей является создание гибридных систем. Проще говоря - взять 5-6 лучших нейронных сетей и объединить их выходы /для этого можно использовать простое усреднение [(out1+out2+...+outN)/N)], GEM, LWPR [LWPR - лучший выбор IMO] и т.д./.

 

В принципе, я так и думал, я видел несколько прогнозов от SOM, и они могли правильно определить тенденцию в течение, скажем, 20 шагов, но они были далеки от фактического пути, который прошла цена. Я думаю, что использование генетической оптимизации - это путь вперед, учитывая, что NN был разработан для имитации биологических систем, кажется логичным, что добавление некоторой формы эволюционного процесса увеличит точность.

Я не уверен в этих результатах, я увеличил масштаб, чтобы проверить, правильно ли он выбирает направление, и, похоже, чаще всего он его выбирает. Есть пара аномальных результатов (один, где он промахнулся на 400 пунктов = S), но в основном он правильно определяет направление. На рисунке показаны прогнозы (зеленый) против целей (синий) для закрытия, максимума и минимума. Я много читал о ANN, но это мой первый опыт их создания, поэтому я не знаю, что именно я ищу, кроме очевидного.

Файлы:
gbpjpy60-3.jpg  67 kb
 

привет

Несколько лет назад я написал диссертацию о нечеткой логике + нейронной сети с обратным распространением для прогнозирования залежей нефти в процессе каротажа скважин, и результат был хорошим, поэтому я думаю, что нечеткая логика с NN обратного распространения может быть реализована для прогнозирования тренда в этом бизнесе, но ему нужно больше данных для обучения, чтобы получить лучший результат, я использовал 9 узлов для прогнозирования паттерна пород, я не знаю, сколько узлов для распознавания паттерна форекс.

===================

Коллекция индикаторов форекс

 
prasxz:
Я размещу это снова: несколько лет назад я написал диссертацию о нечеткой логике + нейронная сеть с обратным распространением для прогнозирования залежей нефти в процессе каротажа скважин и результат хороший, поэтому я думаю, что нечеткая логика с NN обратного распространения может быть реализована для прогнозирования тенденции в этом бизнесе, но ему нужно больше данных для обучения, чтобы получить лучший результат, я использовал 9 узлов для прогнозирования узора горных пород, я не знаю, сколько узлов для распознавания паттерна Форекс.

===================

Коллекция индикаторов форекс

Я читал, что это в значительной степени зависит от количества входов, которые вы даете сети. Я даю ей 32 входа и хочу получить 3 выхода, поэтому я бы начал с (32-3)/2=14.5, то есть с 14 нейронов, а затем работал бы дальше. Модель, которую я построил, использует 13 узлов, как ни странно, уменьшение количества узлов увеличило точность и время сходимости, но после некоторого момента оно уменьшилось. Применение генетического алгоритма к проблеме для создания ENN, о чем говорил Казам, должно позволить сети выбрать наиболее оптимальную сеть в пространстве всех возможных сетей, которые дают точные результаты. Это если я правильно понял то, что читал о них. Я полагаю, что это значительно увеличит время, необходимое для построения сети.

 

prasxz

Нечеткие нейронные сети и нечеткие гибридные нейронные системы могут быть очень хорошим выбором при построении торговых систем. Они могут быть менее полезны для прогнозирования хаотических временных рядов.

mrwobbles

Эти графики показывают обучающие данные /желаемые и прогнозируемые/?

Выбрать правильное количество узлов очень сложно. Формула, которую вы представили, бесполезна /но очень популярна/ - не существует детерминированного способа выбора оптимальной или близкой к оптимальной архитектуры NN.

Генетические алгоритмы преодолевают эту проблему. Вы предоставляете ГА две группы - одну с терминальными символами /входы, константы и т.д./ и другую с функциями /узлы с различными функциями активации, тригонометрическими функциями и т.д./, и алгоритм "строит" NN, используя члены этих групп. Таким образом, вы можете получить NN с 3 узлами и 5 входами или NN с 30 узлами и 50 входами. Чем больше поколений вы ждете, тем лучшие NN вы получаете /почитайте о теореме Холланда о схемах, если хотите знать, почему это происходит так

http://en.wikipedia.org/wiki/Holland%27s_schema_theorem

/.

 
Kazam:

mrwobbles

Эти графики показывают данные обучения /желаемые и прогнозируемые/?

Выбрать правильное количество узлов очень и очень сложно. Формула, которую вы представили, бесполезна /но очень популярна/ - не существует детерминированного способа выбора оптимальной или близкой к оптимальной архитектуры NN.

Генетические алгоритмы преодолевают эту проблему. Вы предоставляете ГА две группы - одну с терминальными символами /входы, константы и т.д./ и другую с функциями /узлы с различными функциями активации, тригонометрическими функциями и т.д./, и алгоритм "строит" NN, используя члены этих групп. Таким образом, вы можете получить NN с 3 узлами и 5 входами или NN с 30 узлами и 50 входами. Чем больше поколений вы ждете, тем лучшие NN вы получаете /почитайте о теореме Холланда о схемах, если хотите знать, почему так происходит/.

http://en.wikipedia.org/wiki/Holland%27s_schema_theorem
/.

Да, обучение против прогноза. Я построил новую сеть с данными за первые 6-7 лет, которые использовались для обучения, тестирования и перекрестной проверки. Затем я скормил ей оставшиеся 3 года данных в качестве теста без обучения, идея состояла в том, чтобы имитировать живой тест. Линия регрессии при обучении имела наклон 0,99995, а когда я скормил ей около 3 лет ранее невидимых данных, этот наклон снизился до 0,9995. Я не уверен, как это интерпретировать. Это кажется слишком точным для того, что я составил менее чем за час.

Да, я наткнулся на эту формулу в книге "Введение в нейронные сети", которую нашел в библиотеке. Она охватывала основы и для меня была хорошим введением в мир нейронных сетей. Для тех, кто только начинает, это самое подходящее место, чтобы начать, прежде чем приступать к более сложным концепциям, таким как генетические алгоритмы.

Если я правильно понял, он включает в себя генерацию, сначала случайной популяции программ (входные веса, скрытые слои, нейроны и т.д.), которые могут решить проблему, а затем использование оптимальных родительских программ для создания нового поколения программ, которые, надеюсь, будут лучше предыдущих. Конечно, если вы генерируете первую популяцию случайным образом, не существует ли вероятность того, что вы можете сгенерировать популяцию, в которой ни одна программа не решает проблему? Или идея состоит в том, чтобы начать с популяции, которая не решает проблему, а затем развить ту, которая решает? Конечно, это потребует больших вычислений? Больше, чем может выдержать, скажем, средний настольный компьютер? Я бы предположил, что потребуется параллельная обработка графической карты или, еще лучше, массивная параллельная система. Тем не менее, это кажется лучшим подходом к выбору наиболее оптимального решения.

Не лучше ли начать с популяции, скажем, 12 сетей, созданных в результате обучения с помощью существующих методов, а затем использовать этот набор программ для получения потомства друг от друга? Затем вы могли бы создать структуру типа семейного дерева, используя предложенные вами методы для эволюции лучшей популяции, обрезая неудачных потомков и выбирая 12 наиболее оптимальных программ, которые станут родителями следующего поколения? Идея заключается в том, чтобы начать с популяции, которая, как вы знаете, решает проблему, а затем развивать более эффективную программу из полученного потомства.

Причина обращения: