Чтобы наши модели машинного обучения могли различать 1/2 и 50/100.

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

penalty_success_rate = penalties_scored / penalties_attempted

Однако, поскольку пенальти и серии пенальти случаются нечасто, у нас есть следующие проблемы с этой новой функцией:

  • Некоторые игроки никогда не получали пенальти, поэтому их шанс_успеха_ пенальти не определен.
  • Для игроков, которые ранее выполняли ровно один пенальти, их шанс_успешного_успеха равен 100% или 0%. Оба числа не отражают вероятность того, что игроки забьют следующий пенальти, и введут в заблуждение нашу модель машинного обучения. (Для справки, средний процент успешных пенальти в серии пенальти на чемпионате мира составляет около 70%)
  • Когда мы обновляем пенальти_успеш_поступления новыми данными, значения могут сильно колебаться для игроков, которые понесли лишь несколько штрафов. Например, если игрок забивает свой 1-й штраф, но пропускает 2-й, значение его характеристики резко упадет со 100% до 50%. Это может вызвать нестабильность работы модели.
  • Наконец, мы хотели бы, чтобы наша функция учитывала силу доказательства успеха. Результат 1 из 2 может по-прежнему принадлежать очень хорошему исполнителю пенальти, но игрок с результатом 50 из 100 почти гарантированно не умеет выполнять пенальти. Тем не менее, формула штраф_успешности_успеха дает 50% для обоих случаев и не может различить их.

Байесовский подход

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

Формула нашей байесовской характеристики:

bayesian_penalty_success_rate = 
        (penalties_scored + α) / (penalties_attempted + α + β)

где α и β - гиперпараметры, которые нам нужно выбрать. Интуитивно мы можем понимать α и β как величину «форы», которую мы даем количеству забитых и пропущенных пенальти соответственно.

Мотивация формулы

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

Приведенная выше формула представляет собой среднее значение бета-распределения.

Beta(penalties_scored + α, penalties_missed + β)

где пропущенные_ штрафы = попытки_ штрафов - начислены_ штрафы.

Конкретный пример

Выберем α = 7, β = 3 и рассмотрим игрока, который никогда раньше не выполнял пенальти.

  • Первоначально оба значения Penalties_scored и Penalties_attempted равны 0. Следовательно,
    байесовская_пенальти_success_rate = (0 + 7) / (0 + 7 + 3) = 0,7
  • Предположим, наш игрок забивает свой 1-й пенальти:
    bayesian_penalty_success_rate = (1 + 7) / (1 + 7 + 3) ≈ 0,7272
  • Тогда наш игрок пропускает свой второй штраф:
    bayesian_penalty_success_rate = (1 + 7) / (2 + 7 + 3) ≈ 0,6667
  • Наконец, предположим, что у нашего игрока общий рекорд 50 из 100:
    bayesian_penalty_success_rate = (50 + 7) / (100 + 7 + 3) ≈ 0,5182

Мы видим, что bayesian_penalty_success_rate всегда четко определен. Его значение постепенно изменяется при получении новых данных, и для этого требуется убедительное свидетельство того, что значение значительно отклонится от начального значения.

Как выбрать α и β

  • Начальное значение байесовской_пеналты_успешного_процесса равно α / (α + β). Мы можем выбрать α и β так, чтобы α / (α + β) равнялось глобальному среднему количеству успешных результатов штрафа. Это соответствует обычной практике замены отсутствующих значений средним.

Среди всех пар (α, β), удовлетворяющих указанному выше равенству, мы можем выбрать пару следующими способами:

  • Посмотрите на разные процентили бета-распределения и посмотрите, соответствуют ли они вашим знаниям в предметной области.
  • Решите, сколько данных считается убедительным доказательством. Например, предположим, что мы проводим предварительный анализ данных и выясняем, что все игроки, которые забили свои первые 5 пенальти, в конечном итоге имеют процент успешных штрафов за карьеру выше 82%. В результате мы можем выбрать α и β так, чтобы
    (5 + α) / (5 + α + β) ›0,82
  • Сгруппируйте данные и посмотрите, есть ли какие-нибудь α и β, которые объясняют кластеры. Например, если игроки с 2 из 3 записей, 5 из 7 и 8 из 11 показывают похожие характеристики, мы можем выбрать α = 7, β = 3, что даст значения характеристик 0,6923, 0,7059 и 0,7143 соответственно.

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

Конкретный пример II

  • Сначала нам нужно α / (α + β) = 0,7, что является средним показателем успешных пенальти в серии пенальти на чемпионате мира.

Среди всех различных значений, удовлетворяющих α / (α + β) = 0,7:

  • Для α = 70, β = 30 1-й процентиль бета (70, 30) равен 0,5887. Это означает, что мы заранее знаем, что вероятность того, что наш игрок забьет свой следующий пенальти, с вероятностью 99% составляет не менее 58,87%. Это кажется слишком высоким для игрока, который никогда не выполнял пенальти. Поэтому мы откажемся от этой пары ценностей.
  • Для α = 7, β = 3 1-й и 99-й процентили бета (7, 3) равны 0,3437 и 0,9467 соответственно. Это означает, что вероятность того, что наш игрок находится в пределах от 34,37% до 94,67%, составляет 98%, что имеет гораздо больше смысла, чем указано выше.

Кроме того, нам нужно (5 + α) / (5 + α + β) ›0,82 из-за исследовательского анализа данных об игроках, которые забили все свои первые 5 пенальти.

  • Для α = 7, β = 3, (5 + 7) / (5 + 7 + 3) = 0,8, что меньше, чем мы хотим.
  • Для α = 3,5, β = 1,5, (5 + 3,5) / (5 + 3,5 + 1,5) = 0,85, что удовлетворяет нашему условию.

Быстрая проверка процентилей бета (3,5, 1,5) также выглядит нормально, поэтому мы выберем α = 3,5, β = 1,5.

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

Часто задаваемые вопросы

В: Обязательно ли α и β быть целыми числами?

A: Нет. Единственное требование - это положительные действительные числа.

В: Можно ли выбрать разные α и β для разных игроков?

Ответ: Да. Напомним, что α и β определяют бета-распределение, которое описывает наши предварительные знания. Очень вероятно, что у нас разные предварительные знания о разных игроках, например, нападающие обычно хорошо справляются с пенальти, а защитники - нет.

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

Ответ: Да. Эти формулы легко найти в Википедии.

Вопрос: Выгодно ли создание этой байесовской функции, если мы уже используем Pencil_success_rate, Penties_scored, и Penties_attempted в нашей модели машинного обучения? Например, чтобы различать 1 из 2 и 50 из 100, наша модель может просто использовать функцию начисление штрафов.

О: Да, это по-прежнему выгодно. Представьте, что мы начинаем с двух функций: Penties_scored и штрафы_attempted. Несмотря на то, что модель с достаточной сложностью может выполнять деление, мы все равно разработали бы функцию штраф_суспешности, чтобы наша модель лучше обучалась. То же самое и с нашей байесовской функцией.

Дальнейшее чтение

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