Jump to content

Выбор алгоритма

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

Определение

[ редактировать ]

Учитывая портфолио алгоритмов , набор экземпляров и показатель стоимости , задача выбора алгоритма состоит в нахождении отображения из экземпляров к алгоритмам такой, что стоимость во всех экземплярах оптимизировано. [1] [2]

Проблема булевой выполнимости (и другие сложные комбинаторные проблемы)

[ редактировать ]

Хорошо известным применением выбора алгоритма является проблема булевой выполнимости . Здесь портфель алгоритмов представляет собой набор (дополнительных) решателей SAT , экземпляры — это логические формулы, показатель стоимости — это, например, среднее время выполнения или количество нерешенных экземпляров. Итак, цель состоит в том, чтобы выбрать хорошо работающий решатель SAT для каждого отдельного экземпляра. Таким же образом выбор алгоритма можно применить и ко многим другим -сложные задачи (такие как смешанное целочисленное программирование , CSP , планирование AI , TSP , MAXSAT , QBF и программирование набора ответов ). Системы-победители конкурса SAT: SATzilla, [3] [4] и CSHC [5]

Машинное обучение

[ редактировать ]

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

Возможности экземпляра

[ редактировать ]

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

Объекты экземпляра — это числовые представления экземпляров. Например, мы можем подсчитать количество переменных, предложений, среднюю длину предложений для булевых формул, [6] или количество образцов, функций, баланс классов для наборов данных ML, чтобы получить представление об их характеристиках.

Статические и зондирующие функции

[ редактировать ]

Мы различаем два типа характеристик:

  1. Статические функции в большинстве случаев представляют собой некоторые подсчеты и статистику (например, соотношение предложений и переменных в SAT). Эти функции варьируются от очень дешевых функций (например, количества переменных) до очень сложных функций (например, статистики графов переменных).
  2. Зондирующие признаки (иногда также называемые признаками ориентиров) вычисляются путем проведения некоторого анализа поведения алгоритма на экземпляре (например, точности дешевого алгоритма дерева решений на наборе данных ML или запуска в течение короткого времени решателя стохастического локального поиска на наборе данных). Булева формула). Эти функции часто стоят дороже, чем простые статические функции.

Стоимость функций

[ редактировать ]

В зависимости от используемой метрики производительности , вычисление признаков может быть связано с затратами. Например, если мы используем время работы в качестве показателя производительности, мы включаем время на вычисление функций нашего экземпляра в производительность системы выбора алгоритма. Решение SAT является конкретным примером, когда такими затратами функций нельзя пренебрегать, поскольку экземпляры функций для формул CNF могут быть либо очень дешевыми (например, получение количества переменных может быть выполнено за постоянное время для CNF в формате DIMAC), либо очень дешевыми. дорогостоящие (например, графические функции, стоимость которых может составлять десятки или сотни секунд).

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

Регрессионный подход

[ редактировать ]

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

Кластерный подход

[ редактировать ]

Распространенным предположением является то, что данный набор экземпляров могут быть сгруппированы в однородные подмножества и для каждого из этих подмножеств существует один хорошо работающий алгоритм для всех экземпляров. Итак, обучение состоит из выявления однородных кластеров с помощью подхода неконтролируемой кластеризации и связывания алгоритма с каждым кластером. Кластеру назначается новый экземпляр и выбирается соответствующий алгоритм. [7]

Более современный подход — экономичная иерархическая кластеризация. [5] использование контролируемого обучения для выявления однородных подмножеств экземпляров.

Парный подход к классификации с учетом затрат

[ редактировать ]

Общий подход к многоклассовой классификации заключается в изучении парных моделей между каждой парой классов (здесь алгоритмы). и выберите класс, который чаще всего предсказывали парные модели. Мы можем взвесить экземпляры задачи парного прогнозирования по разнице в производительности между двумя алгоритмами. Это мотивировано тем, что мы больше всего заботимся о том, чтобы прогнозы с большими различиями были правильными, но штраф за неправильный прогноз невелик, если разницы в производительности почти нет. Поэтому каждый экземпляр для обучения модели классификации против связано с затратами . [8]

Требования

[ редактировать ]
Кластеризация решателей SAT из сценария SAT12-INDU ASlib согласно коэффициенту корреляции Спирмена.
Значения Шепли для дополнительного анализа в сценарии SAT12-INDU ASlib [9]

Задача выбора алгоритма может эффективно применяться при следующих предположениях:

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

Домены приложений

[ редактировать ]

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

Обширный список литературы по выбору алгоритмов можно найти в обзоре литературы.

Варианты выбора алгоритма

[ редактировать ]

Онлайн подбор

[ редактировать ]

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

Расчет графиков

[ редактировать ]

Расширением выбора алгоритма является задача планирования алгоритма для каждого экземпляра, в которой мы не выбираем только один решатель, а выбираем бюджет времени для каждого алгоритма на основе каждого экземпляра. Этот подход повышает производительность систем выбора, особенно если признаки экземпляра не очень информативны и вероятен неправильный выбор одного решателя. [11]

Выбор параллельных портфелей

[ редактировать ]

Учитывая растущую важность параллельных вычислений, расширением выбора алгоритма для параллельных вычислений является выбор параллельного портфеля, в котором мы выбираем подмножество алгоритмов для одновременного запуска в параллельном портфеле. [12]

[ редактировать ]
  1. ^ Райс, Джон Р. (1976). «Проблема выбора алгоритма». Достижения в области компьютеров . Том. 15. С. 65–118. дои : 10.1016/S0065-2458(08)60520-3 . ISBN  9780120121151 .
  2. ^ Бишль, Бернд; Кершке, Паскаль; Коттофф, Ларс; Линдауэр, Мариус; Малицкий Юрий; Фрешетт, Александр; Хус, Хольгер; Хаттер, Фрэнк; Лейтон-Браун, Кевин; Тирни, Кевин; Ваншорен, Хоакин (2016). «ASlib: библиотека тестов для выбора алгоритма». Искусственный интеллект . 237 : 41–58. arXiv : 1506.02465 . дои : 10.1016/j.artint.2016.04.003 . S2CID   261945 .
  3. ^ Jump up to: а б Л. Сюй; Ф. Хаттер; Х. Хоос и К. Лейтон-Браун (2008). «SATzilla: Выбор алгоритма на основе портфеля для SAT». Журнал исследований искусственного интеллекта . 32 : 565–606. arXiv : 1111.2249 . дои : 10.1613/jair.2490 . S2CID   10987043 .
  4. ^ С. Кадиоглу; Ю. Малицкий; А. Сабхарвал; Х. Самуловиц; М. Селлманн (2011). «Выбор алгоритма и планирование». В Ли, Дж. (ред.). Принципы и практика программирования с ограничениями . Конспекты лекций по информатике. Том. 6876. стр. 454–469. CiteSeerX   10.1.1.211.1807 . дои : 10.1007/978-3-642-23786-7_35 . ISBN  978-3-642-23785-0 .
  5. ^ Jump up to: а б Ю. Малицкий; А. Сабхарвал; Х. Самуловиц; М. Селлманн (2013). «Портфели алгоритмов на основе экономически чувствительной иерархической кластеризации». Материалы двадцать третьей международной совместной конференции по искусственному интеллекту . АААИ Пресс. стр. 608–614. ISBN  978-1-57735-633-2 .
  6. ^ Э. Нудельман; К. Лейтон-Браун; Х. Хоос; А. Девкар; Ю. Шохам (2004). «Понимание случайного SAT: помимо соотношения предложений и переменных» (PDF) . Труды КП .
  7. ^ С. Кадиоглу; Ю. Малицкий; М. Селлманн; К. Тирни (2010). «ISAC – Конфигурация алгоритма для конкретного экземпляра» (PDF) . Материалы Европейской конференции по искусственному интеллекту .
  8. ^ Л. Сюй; Ф. Хаттер; Дж. Шен; Х. Хоос; К. Лейтон-Браун (2012). «SATzilla2012: Улучшенный выбор алгоритма на основе моделей классификации с учетом затрат» (PDF) . Материалы SAT Challenge 2012: описания решателя и эталонных тестов .
  9. ^ А. Фрешетт; Л. Коттофф; Т. Михалак; Т. Рахван; Х. Хоос и К. Лейтон-Браун (2016). «Использование значения Шепли для анализа портфелей алгоритмов» . Материалы конференции AAAI по искусственному интеллекту . 30 . дои : 10.1609/aaai.v30i1.10440 . S2CID   6676831 .
  10. ^ Коттхофф, Ларс. « Выбор алгоритма для задач комбинаторного поиска: обзор ». Интеллектуальный анализ данных и программирование с ограничениями. Спрингер, Чам, 2016. 149–190.
  11. ^ М. Линдауэр; Р. Бергдолл; Ф. Хаттер (2016). «Эмпирическое исследование поэкземплярного планирования алгоритмов». Обучение и интеллектуальная оптимизация (PDF) . Конспекты лекций по информатике. Том. 10079. стр. 253–259. дои : 10.1007/978-3-319-50349-3_20 . ISBN  978-3-319-50348-6 .
  12. ^ М. Линдауэр; Х. Хоос и Ф. Хаттер (2015). «От последовательного выбора алгоритма к параллельному выбору портфеля». Обучение и интеллектуальная оптимизация (PDF) . Конспекты лекций по информатике. Том. 8994. стр. 1–16. дои : 10.1007/978-3-319-19084-6_1 . ISBN  978-3-319-19083-9 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8af21023f80756aac2db496496d0043f__1712175780
URL1:https://arc.ask3.ru/arc/aa/8a/3f/8af21023f80756aac2db496496d0043f.html
Заголовок, (Title) документа по адресу, URL1:
Algorithm selection - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)