2015-04-27 3 views
2

У меня есть данные эксперимента, который я использовал, используя генетический алгоритм, и пытаюсь представить его в статье. Что является хорошим/классическим способом представления результатов генетического алгоритма. Я думал о том, чтобы сделать рассеянную диаграмму, представляющую людей с максимальной отдачей от их поколений. Является ли это хорошим представлением результатов?Презентация результатов генетического алгоритма

+1

Во-первых, какой тип дисплея используется, зависит от результатов, генерируемых больше, чем алгоритм, используемый для их создания. Во-вторых, следует задать это на [cs.SE] (http://cs.stackexchange.com/questions/tagged/genetic-algorithms) или [stats.SE] (http://stats.stackexchange.com/) как SO фокусируется на проблемах с кодированием, а не на более общих вопросах CS/IT. – JGreenwell

+0

В этом случае я пытаюсь показать результаты по конкретному алгоритму, используемому не столько для конкретного приложения. – David

+0

Результаты генетических алгоритмов могут быть отображены с использованием контрольных диаграмм, гистограмм/гистограмм, комбинированных линий/гистограмм, различных графиков рассеяния, диаграмм запуска и т. Д. Это зависит от того, какой дисплей лучше всего отображает данные. – JGreenwell

ответ

3

Когда вы оцениваете производительность генетического алгоритма (или любого другого стохастического алгоритма), вы запускаете его несколько раз, а затем объединяете результаты, чтобы исключить влияние некоторых прогонов на «удачу» или «неудачу». Затем речь идет о представлении таких обобщенных результатов.

Для одного прогона (среди многих из них) вы, как правило, заботятся о лучшем индивидууме только в фитнессе (если вы не анализируете динамику популяции, которая, как я думаю, вы этого не сделаете), потому что это результат работы алгоритм в любой момент времени во время выполнения.

Когда у вас есть такие лучшие люди для каждого прогона, вы представляете результаты. Типичное визуальное представление ГА является «развитие сюжета» или «прогресс сюжет» (я лично использую первый член и другие исследователи используют это тоже), и это выглядит примерно так (с моей магистерской диссертации):

evolution plot example

Я знаю, это немного грязно. Однако сплошные линии являются медианами агрегированных прогонов. Это означает, что при X-оценках для каждого алгоритма сплошная линия находится в медианной пригодности всех лучших индивидуумов от каждого запуска конкретного алгоритма (среднее также иногда используется, но оно не устойчиво к выбросам). Шкалы ошибок простираются от 1-го до 3-го квартиля, в моем случае (стандартное отклонение также используется иногда, но тогда полосы ошибок симметричны относительно сплошной линии и не показывают распределение столько же, сколько квантили).

Если вас не интересует прогресс эволюции, а скорее конечные результаты, вы можете использовать, например, boxplot, чтобы правильно отображать распределение конечных значений алгоритмов. Это выглядит примерно так (опять-таки, с моей магистерской диссертации, соответствует эволюции участка выше):

final values box plot example

Это одна была создана в среде MATLAB. Существует онлайн-инструмент для создания ящиков: http://boxplot.bio.ed.ac.uk

Если у вас есть только один алгоритм для представления, вы также можете комбинировать график эволюции с boxplot - эволюционный сюжет из ящиков! Вы просто помещаете ящик в каждую N-ю оценку (N зависит от размера фигуры для чтения). Шкалы ошибок квартили и средняя сплошная линия - это своего рода коробчатая диаграмма (искаженным) способом.

Последний вариант - представить результаты в текстовом виде (или в таблице), которые поддерживаются некоторыми статистическими тестами. Для сравнения двух алгоритмов (конечных значений) вы можете использовать, например. Mann-Whitney U-test. Сравнение более двух алгоритмов становится сложным, и вам нужно найти дружественного статистика, чтобы помочь вам :).

Смежные вопросы