Никогда больше не смущайтесь недоумением.

Возможно, вы видели что-то подобное в классе НЛП:

Or

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

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

Но почему недоумение в НЛП определяется так, как оно есть?

Если вы посмотрите сложность дискретного распределения вероятностей в Википедии:

где H (p) - энтропия распределения p (x), а x - случайная величина по всем возможным событиям.

В предыдущем посте мы вывели H (p) с нуля и интуитивно показали, почему энтропия - это среднее количество бит, которое нам нужно для кодирования информации. Если вы не понимаю H (p), прочтите этот перед тем, как читать дальше.



Теперь договоримся, что H (p) = -Σ p (x) log p (x).

Тогда недоумение - это просто возведение в степень энтропии!

да. Энтропия - это среднее количество битов для кодирования информации, содержащейся в случайной величине, поэтому возведение энтропии в степень должно быть общим объемом всей возможной информации или, точнее, средневзвешенным количеством вариантов выбора. случайная величина имеет .

Например, если среднее предложение в тестовом наборе может быть закодировано в 100 битах, недоумение модели составит 2¹⁰⁰ на предложение.

Подтвердим, что определение в Википедии совпадает с определением на слайдах.

Где

p: распределение вероятностей, которое мы хотим смоделировать . Обучающая выборка берется из p, и ее распределение неизвестно.

q: предлагаемая вероятностная модель. Наше предсказание.

Мы можем оценить наш прогноз q, сравнив его с образцами, взятыми из p. Затем он в основном вычисляет перекрестную энтропию. В приведенном выше выводе мы предполагали, что все слова имеют одинаковую вероятность (1 / количество слов) в p.

Замечания

  • Когда q (x) = 0, недоумение будет . Собственно, это одна из причин, по которой было введено понятие сглаживание в НЛП.
  • Если мы используем единую вероятностную модель для q (просто 1 / N для всех слов), недоумение будет равно размеру словарного запаса.
  • Приведенный выше вывод предназначен только для иллюстрации, чтобы получить формулу на слайдах UW / Stanford. На обоих слайдах предполагается, что мы вычисляем сложность всего корпуса, используя модель униграммы, и нет повторяющегося слова. (Предполагается, что количество общих слов (N) совпадает с количеством уникальных слов.) Кроме того, предполагается, что все слова имеют одинаковую вероятность 1 / N. Это нереалистичные предположения.

Вывод

  • Меньшая энтропия (или менее неупорядоченная система) лучше, чем большая энтропия. Потому что предсказуемые результаты предпочтительнее случайности. Вот почему люди говорят, что низкая недоумение - это хорошо, а высокая недоумение - плохо, поскольку недоумение - это возведение энтропии в степень (и вы можете смело думать о концепции недоумения как об энтропии).
  • Языковая модель - это распределение вероятностей по предложениям. И лучшая языковая модель - это та, которая лучше всего предсказывает невидимый набор тестов.
  • Почему мы используем недоумение вместо энтропии?
    Если мы думаем о недоумении как о множителе ветвления (средневзвешенное количество вариантов выбора случайной переменной), тогда это число легче понять, чем энтропию. Я нашел это удивительным, потому что я думал, что будут более серьезные причины. Я спросил доктора Зеттлемойера, есть ли еще какая-то причина, кроме легкости интерпретации. Его ответ был: «Думаю, это все! Это в основном исторические данные, поскольку было бы разумно использовать и множество других показателей! »

Если вам понравился мой пост, не могли бы вы хлопнуть в ладоши? Это дает мне мотивацию писать больше. :)