Jump to content

Смешение контекстов

(Перенаправлено из Смешивания контекста )

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

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

Приложение к сжатию данных

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

Предположим, что нам даны две условные вероятности: и , и мы хотим оценить , вероятность события X при обоих условиях и . недостаточно информации, Для теории вероятностей чтобы дать результат. На самом деле можно сконструировать сценарии, в которых результатом может быть что угодно. Но интуитивно мы ожидаем, что результат будет своего рода средним из двух.

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

Например, предположим, что мы сжимаем текстовый файл. Мы хотим предсказать, будет ли следующий символ переводом строки, учитывая, что предыдущий символ был точкой (контекст ) и что последний перевод строки произошел 72 символа назад (контекст ). Предположим, что ранее произошел перевод строки после 1 из последних 5 периодов ( ) и в 5 из последних 10 строк в столбце 72 ( ). Как следует объединить эти прогнозы?

Использовались два общих подхода: линейное и логистическое смешивание. Линейное смешивание использует средневзвешенное значение прогнозов, взвешенных по доказательствам. В этом примере получает больший вес, чем потому что основан на большем количестве тестов. Более старые версии PAQ используют этот подход. [1] В более новых версиях используется логистическое (или нейронное ) смешивание, сначала преобразующее прогнозы в логистическую область, log(p/(1-p)) перед усреднением. [2] Это фактически придает больший вес прогнозам около 0 или 1, в данном случае . В обоих случаях каждой из входных моделей могут быть присвоены дополнительные веса и адаптированы в пользу моделей, которые давали наиболее точные прогнозы в прошлом. Все версии PAQ, кроме самых старых, используют адаптивное взвешивание.

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

Линейное смешивание

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

Нам дан набор предсказаний P i (1) = n 1i /n i , где n i = n 0i + n 1i , а n 0i и n 1i — количество битов 0 и 1 соответственно для i-й модели. . Вероятности вычисляются путем взвешенного сложения отсчетов 0 и 1:

  • S 0 знак равно Σ я ш я п 0i
  • S 1 знак равно Σ я ш я п 1i
  • С = С 0 + С 1
  • Р(0) = С0 / С
  • Р(1) = С1 / С

Веса w i изначально равны и всегда в сумме равны 1. При начальных условиях каждая модель взвешивается пропорционально доказательствам. Затем веса корректируются в пользу более точных моделей. Предположим, нам дано, что фактический прогнозируемый бит равен y (0 или 1). Тогда корректировка веса составит:

  • п я = п 0i + п 1i
  • ошибка = y – P(1)
  • w i w i + [(Sn1i - S1ni ) S0S1 / ( ) ошибка ]

Сжатие можно улучшить, ограничив n i , чтобы лучше сбалансировать вес модели. В PAQ6 всякий раз, когда увеличивается один из счетчиков битов, часть другого счетчика, превышающая 2, уменьшается вдвое. Например, после последовательности 000000001 счетчик будет идти от (n 0 , n 1 ) = (8, 0) до (5, 1).

Логистическое смешивание

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

Пусть P i (1) будет предсказанием i-й модели о том, что следующий бит будет равен 1. Затем вычисляется окончательный прогноз P (1):

  • х я = растяжение (П я (1))
  • P (1) = сквош (Σ ш я Икс я ) я

где P(1) — вероятность того, что следующий бит будет равен 1, Pi ( 1) — вероятность, оцененная i-й моделью, и

  • растяжение(х) = ln(х/(1 - х))
  • сквош(х) = 1/(1 + е ) (обратное растяжению).

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

  • w i ← w i + η x i (y - P(1))

где η — скорость обучения (обычно от 0,002 до 0,01), y — прогнозируемый бит, а (y — P(1)) — ошибка прогнозирования.

Список компрессоров микширования контекста

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

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

  • Все PAQ версии (Мэтт Махони, Серж Оснах, Александр Ратушняк, Пшемыслав Скибиньский, Ян Ондрус и другие) [1] . PAQAR и версии до PAQ7 использовали линейное смешивание. В более поздних версиях использовалось логистическое смешивание.
  • All LPAQ versions (Matt Mahoney, Alexander Ratushnyak) [2] .
  • ZPAQ (Мэтт Махони) [3] .
  • WinRK 3.0.3 (Malcolm Taylor) в режиме PWCM максимального сжатия [4] . Версия 3.0.2 была основана на линейном смешивании.
  • NanoZip (Sami Runsas) в режиме максимального сжатия (опция -cc) [5] .
  • xwrt 3.2 (Пшемыслав Скибинский) в режиме максимального сжатия (параметры от -i10 до -i14) [6] в качестве серверной части словарного кодировщика.
  • cmm1–cmm4, M1 и M1X2 (Кристофер Маттерн) используют небольшое количество контекстов для обеспечения высокой скорости. M1 и M1X2 используют генетический алгоритм для выбора контекстов с двумя битовыми масками в отдельном проходе оптимизации.
  • ccm (Кристиан Мартелок).
  • бит (Осман Туран) [7] .
  • pimple, pimple2, tc и px (Илья Муравьев) [8] .
  • enc (Серж Оснак) пробует несколько методов, основанных на PPM и (линейном) смешивании контекстов, и выбирает лучший из них. [9]
  • fpaq2 (Нания Франческо Антонио) использует фиксированное усреднение веса для высокой скорости.
  • cmix (Байрон Нолл) сочетает в себе множество моделей и в настоящее время занимает первое место в тесте сжатия большого текста, [3] а также Силезский корпус [4] и превзошел работу, выигравшую премию Хаттера, хотя она не имеет права участвовать в конкурсе из-за использования слишком большого количества памяти.
  1. ^ Махони, М. (2005), «Адаптивное взвешивание контекстных моделей для сжатия данных без потерь», Технологический институт Флориды. Технический отчет CS-2005-16
  2. ^ Махони, М. «Программа сжатия данных PAQ8» .
  3. ^ Мэтт Махони (25 сентября 2015 г.). «Бенчмарк сжатия большого текста» . Проверено 4 ноября 2015 г.
  4. ^ Мэтт Махони (23 сентября 2015 г.). «Силезский тест сжатия с открытым исходным кодом» . Проверено 4 ноября 2015 г.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0bacb959dbaee7922eebb534567fce9a__1711648260
URL1:https://arc.ask3.ru/arc/aa/0b/9a/0bacb959dbaee7922eebb534567fce9a.html
Заголовок, (Title) документа по адресу, URL1:
Context mixing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)