Интуитивно понятное введение без математики

Оптимизация лежит в основе современного машинного обучения. Почему? Линейная регрессия, минимизирующая сумму квадратов ошибок. Логистическая регрессия, сводящая к минимуму отрицательную вероятность. Машины опорных векторов, минимизирующие отрицательное расстояние между двумя опорными векторами.

Вместо объяснения, перегруженного математическими определениями и уравнениями, давайте разберемся с оптимизацией в более простых терминах. Это последний день месяца, и у вас осталось всего 30 долларов. Вы жаждете вкусной еды. Вы хотели иметь хотя бы один сорт среди пиццы (5 долларов за штуку), гамбургера (3 доллара за штуку) и колы (1 доллар за штуку). Вы не можете съесть больше 4 пицц и должны заказать как минимум два бургера. Ну вот! Реальная задача оптимизации: максимизация или минимизация целевой функции с учетом некоторых ограничений».

Является ли вышеуказанная проблема линейной или нелинейной оптимизацией? Линейная оптимизация включает в себя целевую функцию, состоящую только из линейных членов (или членов первой степени), и если она имеет какие-либо члены второй степени или нелинейные уравнения, то это нелинейная оптимизация.

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

Давай сыграем в игру! Есть функция f(x), которую я не буду раскрывать. Эта функция принимает действительные числа. Задача такова: Вам нужно аппроксимировать минимальное (наименьшее) значение функции в интервале [-150, 350]. Я скажу вам значение функции при любом значении x, которое вы спросите. Но вот в чем загвоздка: у вас есть только ограниченные запросы, а если быть точным, только 5. Ну, между -150 и 350 есть бесконечное количество реальных чисел, поэтому выбирайте тщательно.

Допустим, ваш первый запрос — приятный и легкий 0.

Теперь любой разумный человек выберет одно положительное и одно отрицательное число, так что позвольте мне сделать это от вашего имени. Я поделю f(x) при x = 150 и x=-50

Интересный набор точек, не так ли? Вы думаете, что я думаю? Выбор следующей точки около -50, чтобы проверить, может ли наша функция иметь минимальное значение в этом месте? В терминах оптимизации это называется Эксплуатация. Это похоже на то, когда вы знаете, что значение функции в точке близко к нашему желаемому значению по сравнению с другими значениями, вы продолжите использовать этот регион. Я не хочу тратить свои последние два шанса на эксплуатацию. Может быть между 0 и 100, у меня может быть желаемое значение, область, которую мы еще даже не исследовали. В терминологии оптимизации это называется Исследование, вы уже знаете, что выводит ваша функция для нескольких значений, поэтому вместо того, чтобы использовать известные значения, мы будем исследовать новые области, чтобы найти наше желаемое значение. Хороший алгоритм оптимизации должен обеспечивать баланс между исследованием и эксплуатацией.

Обсудив вышеизложенное, давайте воспользуемся нашими двумя последними догадками: одну для эксплуатации и одну для исследования. Возьмем x как -100 и 100.

Эксплуатация окупилась, и теперь у нас есть минимальное значение (относительно 5 сделанных нами предположений) при x=-100, но мы все еще не знаем, является ли это истинным минимумом.

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

Без особой математики я попытаюсь объяснить, как это оценивается с помощью графиков. И в последний раз я обещаю, что никакой математики.

Как наивный алгоритм оптимизации вычисляет, где функция имеет минимальное значение? Он должен перебирать все значения в заданном диапазоне и оценивать значение функции для каждого — просто поиск по сетке. Это чрезвычайно утомительно и крайне неточно, особенно если это многомерная функция или функция со многими локальными минимумами.

Теперь мы увидим, как байесовская оптимизация справляется с тем, как думают люди, но в статистическом смысле.

Итак, когда я дал первый ввод как x = 0, мы получили соответствующее значение f (x). Байесовская оптимизация использует гауссовский процесс для моделирования различных функций, проходящих через точку. А что такое гауссовский процесс? Это выходит за рамки этой статьи (может быть следующей). А пока представьте, что у вас есть точка в пространстве, и я прошу вас провести различные линии, проходящие через эту точку.

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

Теперь воспользуемся воображением и приблизим графики, когда получим новые значения.

Ранее я говорил вам, что я использовал свое воображение, чтобы нарисовать эти странные линии, проходящие через точки, которые мы угадали, верно?» Ну, я как бы использовал Gaussian Process для моделирования кривых. Таким образом, байесовская оптимизация аппроксимирует график функции после каждого нового значения. Интеллектуальный способ выбора следующей точки на основе предыдущих значений заключается в использовании так называемой функции сбора данных, которая обеспечивает хороший баланс между исследованием и эксплуатацией. Это просто интуитивное введение в то, почему вы должны выбрать байесовскую оптимизацию, и я надеюсь, что вы получили некоторое представление о том, как это работает. Чтобы понять это глубже, нам нужна математика, как и многое другое, о чем я постараюсь рассказать в следующих статьях.

Наконец, я даю график, для которого мы пытаемся найти минимум,

Свяжитесь со мной в LinkedIn для любых разъяснений / отзывов или если вы хотите сотрудничать в проектах по науке о данных.

И прежде чем погрузиться в байесовский подход, я бы порекомендовал вам хорошо ознакомиться с традиционными методами оптимизации, такими как Newton Raphson, и вы можете найти мои статьи здесь, Newton Raphson Part 1, Part 2, Part 3.

Использованная литература:

https://arxiv.org/abs/1012.2599