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