pustota (pustota_2009) wrote,
pustota
pustota_2009

Categories:

Эффективность SBX кроссовера (генетические алгоритмы)

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

Однако эксперименты показывают, что если рассматривать эмоции как интегральную оценку успешности/не успешности выбранной стратегии, то они существенно ускоряют процесс эволюции нейросетей. Впрочем, сейчас хотел поделиться не этим, а приятным удивлением от эффективности опробованного способа скрещивания особей. Называется Simulated Binary Crossover (SBX) или "Кроссовер имитирующий двоичный". Описание метода можно прочитать тут, а вот практические результаты:



Где:
RND - скрещивание методом равномерной рекомбинации
SBX - Simulated Binary Crossover
1-3 номера запуска алгоритма

Все особи в начале имеют одинаковый набор синапсов, далее в процессе мутаций и скрещивания они размножаются стремясь занять ограниченное жизненное пространство - всего 1000 клеток, конкурируя за ресурсы. Производить потомство при высокой плотности энергетически невыгодно (энергия на спаривание тратится, а потомство погибает), поэтому 100% заселенность наверное не возможна (хотя один запуск дал 99.5% заполнения). Соответственно оптимум - примерно 950 особей и мы видим, что SBX кроссовер достигает этого значения гораздо быстрее чем методом равномерной рекомбинации, т.е. когда наследник случайным образом получает тот или иной ген от одного из родителей.

Следует отметить, что вполне возможно для других задач эффективнее другие методы. А может и для моего случая тоже, пока не тестировал другие алгоритмы, кроме еще "плоского кроссовера", но опыт показал, что он совсем никуда не годится. А вот с SBX дело должно пойти быстрее, т.к. очень много времени уходит на тесты и быстрая сходимость имеет большое значение.
Tags: Нейросети
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 28 comments