Интерпретация параметра размера шага в пакете DEoptim - PullRequest
1 голос
/ 28 ноября 2011

Я искал виньетку " Масштабная оптимизация портфеля с помощью DEoptim ".Виньетка применяет генетические алгоритмы для решения невыпуклых задач оптимизации.

Мой вопрос был о том, как интерпретировать параметр "F" размера шага.Документация гласит: «F: шаг от интервала [0,2]. По умолчанию до 0,8».В литературе по машинному обучению для градиентных приличных методов под размером шага понимается величина, на которую вектор выбора настраивается в направлении максимального спуска.Большие шаги подразумевают более быструю конвергенцию, но меньшую точность.

Пример использования виньетки включает оптимизацию портфеля.Размер шага не указывается в качестве аргумента, поэтому всегда используется размер шага .8.Однако, поскольку оптимизация находит, какие веса минимизируют некоторую цель портфеля, и поскольку веса должны составлять 1, кажется, что размер шага 0,8 (80% портфеля) слишком велик для этой проблемы.Лучший выбор размера шага может быть 0,01.

Однако я должен что-то упустить, так как, когда я запускаю оптимизацию, я вижу, что в каждом поколении веса не прыгают на 0,8 каждый раз.Итак, какова интерпретация «размер шага»?В контексте оптимизации портфеля имеет смысл установить это значение на небольшое значение, например 0,01 (1%)?

1 Ответ

3 голосов
/ 28 ноября 2011

F - дифференциальный весовой коэффициент; «step-size» в документации - плохое описание. Я изменю это.

F используется для взвешивания разницы между двумя членами населения перед добавлением к третьему члену населения для создания нового члена населения. В зависимости от стратегии используется для создания дрожания или дизеринга.

Например, вот формула классической стратегии по созданию нового члена населения:

newMember = oldPop[i,] + F*(oldPop[j,] - oldPop[k,])

, где i, j, k - случайные члены населения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...