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

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

Experts Advice — это онлайн-платформа машинного обучения, которая со временем учится на своих ошибках и пытается предсказать будущее. В то время как все машинное обучение в значительной степени вращается вокруг творческого наказания компьютера за его ошибки, советы экспертов работают в более метасфере: система не делает собственного расчетного прогноза, а просто обрабатывает объединенный прогноз группы экспертов. Это также приводит к потерям из-за плохого прогноза и использует его для определения приоритета одного эксперта над другим.

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

Цель учащегося – научиться точно предсказывать результат в любое время t. Обучаемый ведет учет распределения pt, которое представляет собой распределение вероятности того, что эксперты сделают правильный прогноз в этот момент времени t. Нам нужно, чтобы это распределение менялось со временем, поскольку оно диктует, какой эксперт заслуживает того, чтобы ему придавалось большое значение или вес. pt(i) обозначает вероятность того, что i-й эксперт сделает правильный прогноз в момент времени t. Если это значение высокое, к эксперту отнесутся серьезно. Если мало, то плохо.

Учащийся использует все эти индивидуальные прогнозы (et), чтобы сделать окончательный прогноз, основанный на всех них. Это обозначается:

Основываясь на реальном результате, учащийся терпит убытки и обновляет pt, чтобы отразить, какие эксперты с большей вероятностью правильно ответят на следующий вопрос. Это почти обратная игра со ставками.

Функции потерь

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

Проигрыш эксперта i в момент времени t выражается как:

Совокупный убыток этого эксперта i в конце T временных шагов составляет:

Потери, понесенные общим алгоритмом обучения в момент времени t и в конце временных шагов T, составляют:

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

Скрытая марковская модель

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

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

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

Адаптация HMM к советам экспертов

При адаптации HMM к советам экспертов, вот несколько соотношений, которые мы должны установить.

  1. скрытое состояние — это определение лучшего эксперта в данный момент времени t.
  2. Наблюдение — это фактический результат yt.
  3. Вероятность перехода будет представлять собой матрицу значений вероятности, которая показывает, кто с большей вероятностью будет лучшим экспертом в следующий момент времени, если мы знаем текущий.

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

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

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

∑ (Вероятность текущего лучшего эксперта). (Вероятность эмиссии для текущего результата)

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

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

Zt – это нормализующий коэффициент, гарантирующий, что pt всегда находится в диапазоне от 0 до 1.

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

  1. Установив для ɑ значение 0, мы получим систему, которая никогда не отпустит, как только заполучит лучшего эксперта. Эта структура называется статическим экспертом. Ученик начинает с одинакового веса для всех экспертов, но как только он сужается до одного лучшего эксперта, он постепенно увеличивает веса для него, скрывая все остальные. Это полезно, если все, что мы хотим сделать, это найти, какой эксперт хорошо справляется с работой.
  2. Когда ɑ поддерживается постоянным, это замораживает стремление лучшего эксперта постоянно меняться. Другими словами, это гарантирует, что каждый эксперт получит равную долю потерь, понесенных учащимся, независимо от того, насколько хорошо каждый из них справился. Эта структура называется фиксированной общей папкой. Это полезно, когда каждый эксперт хорошо прогнозирует разные ситуации (используя разные функции), и нам нужно держать их повсюду. Таким образом, если один эксперт временно выйдет из строя, остальные компенсируют ошибку.

Я останавливаюсь здесь. Но существует гораздо больше исследований и литературы, посвященных различным способам настройки вероятностей перехода или теоретическому выводу сожаления о наихудшем случае, чтобы понять, насколько плохим может стать ученик при заданном наборе условий. эксперты. Существует также интересный алгоритм обучения ɑ, который является еще одним алгоритмом машинного обучения поверх этого, который время от времени выбирает лучший ɑ, чтобы убедиться, что система обучается. отлично.

Уравнения здесь не так уж сложны для кодирования и прототипирования на чем-то вроде MATLAB. NumPy, вероятно, лучшая идея. Кодирование помогает понять это более четко.

Если математика вас не смущает, возможно, вам понравится эта статья. Это большое если, но я оставлю это на ваше усмотрение.

Если вы считаете, что в том, что я здесь объяснил, есть что-то принципиально неправильное, я хочу знать. Вы знаете, где меня найти.