Как стать автором
Обновить

Комментарии 10

Умеют ли коты строить регрессию?


Коты умеют всё. Но им обычно лень.
Поэтому многое за них делают человеки.
Например, пишут алгоритм имени их любимых
Про котов впервые попадается. Интересно, чем отличаются роевые алгоритмы друг от друга, в зависимости от того птицы, пчелы или коты это.
Если говорить общими словами, не вдаваясь в подробности сравнения конкретных алгоритмов, то эвристиками, которые лежат в основе оптимизационной процедуры. Сами эти эвристики по сути влияют на:

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

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

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

Насчет гибридов я с Вами согласен. С помощью обычных алгоритмов на benchmark-функциях можно относительно легко добиться хорошего результата, а вот для сложных задач уже придется постараться.
У меня два вопроса, как человека не слишком приближённого к такого рода алгоритмам: каково реальное применение этих вещей? И откуда вы взяли ваши тета и прочие параметры? Почему именно эти значения?
То есть, я вижу, что это в машинном обучении. А более конкретно, где?
Реальное применение методов оптимизации? Если говорить об инженерном деле, то такие алгоритмы используются для синтеза контроллеров объектов различного типа (например, удобно искать управление в виде декомпозиции по заранее фиксированному базисе; в этом случае коэффициенты разложения можно найти с помощью алгоритмов оптимизации). В основном идет речь о получении прототипов управляющих модулей.

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

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

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


Ridge & Lasso Regression накладывает ограничения не для того, чтобы уменьшить «степень вариативности», а для того, что ввести штраф за мультиколлинеарность, которая является стоп-критерием для линейной регрессии. Т.е. штрафы борются с конкретной проблемой, если она существует в данных.

Как правило, Ridge & Lasso Regression дополняют компонентами отбора переменных на основании дополнительных критериев, которые позволяют исключить ряд мультиколлинеарных переменных, т.е. в итоге таки изменить структуру.
Спасибо за замечание. Под вариативностью я имел в виду ограничение на возможные состояния модели с точки зрения алгоритмов оптимизации.

При рассмотрении задачи линейной регрессии в целом Вы правы.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории