Применяет теорему Байеса при «наивном» предположении о независимости — и работает лучше, чем должно.
Ключевые тезисы
- Очень быстрый, хорошо ведёт себя на малых выборках и разреженных текстах.
- Варианты: мультиномиальный, бернуллиевский, гауссовский.
- Вероятности плохо откалиброваны, но ранжирование классов обычно адекватное.
Какую задачу решает
Байесовский классификатор считает, при каком классе наблюдаемый объект наиболее вероятен. Проблема в том, что оценить совместное распределение всех внутри класса невозможно: комбинаций экспоненциально много. Наивное предположение снимает это одним махом — признаки считаются независимыми при известном классе, и совместная вероятность распадается в произведение.
Предположение почти всегда ложно: слова в тексте зависят друг от друга. Но для классификации важен не точный уровень вероятности, а то, какой класс победит, — и порядок классов оказывается устойчивым к нарушению независимости. Отсюда парадокс метода: заведомо неверная модель даёт неожиданно приличное качество почти бесплатно.
Обучили спам-фильтр. Приходит письмо со словом «блокчейн», которого в спам-выборке не было ни разу: , и всё произведение обнуляется — письмо не может быть спамом, что бы ни было в остальном тексте. Сглаживание Лапласа прибавляет единицу ко всем счётчикам, так что незнакомое слово получает малую, но ненулевую вероятность и лишь слегка сдвигает ответ. Это не косметика: без сглаживания мультиномиальный на реальных текстах просто не работает.
Подробный разбор
- истинное значение целевой переменной
- объект: вектор признаков
- произведение по всем элементам
Предположение почти всегда ложно (слова в тексте зависимы), но для ранжирования классов этого часто достаточно: даже смещённые вероятности сохраняют правильный порядок.
Слово «выигрыш» встречается в 8% спама и в 0.1% нормальных писем. Каждое такое слово умножает шансы в пользу спама. Именно так работали первые байесовские фильтры — и работали хорошо.
| Вариант | Данные | Модель |
|---|---|---|
| Multinomial | счётчики слов | частоты |
| Bernoulli | бинарные | наличие / отсутствие |
| Gaussian | вещественные | внутри класса |
- коэффициент, задающий вес слагаемого или скорость обновления
- истинное значение целевой переменной
- объект: вектор признаков
- число объектов в выборке
Вероятности Naive Bayes систематически переуверены (близки к 0 или 1) из-за перемножения зависимых множителей. Если нужны вероятности, а не метки, — калибруйте.
Где применяется
- Фильтрация спамаИсторическое и до сих пор рабочее применение: быстро, дёшево, легко дообучается на потоке.
- Классификация текстаКрепкая на мешке слов, которую стоит побить прежде, чем строить что-то сложное.
- Задачи реального времениОбучение и предсказание — это подсчёт частот: работает там, где на модель есть миллисекунды.
- Очень малые выборкиОценивается мало параметров, поэтому метод не разваливается на десятках примеров.
Плюсы, минусы и альтернативы
Плюсы
- Обучение за один проход по данным — быстрее не бывает.
- Работает на крошечных выборках, где сложные модели переобучаются.
- Естественно поддерживает онлайн-дообучение обновлением счётчиков.
- Отлично переносит очень высокую размерность (десятки тысяч слов).
- Прозрачен: вклад каждого виден как множитель.
Минусы
- Предположение независимости нарушается почти всегда.
- Вероятности плохо : обычно вырождаются к 0 или 1.
- Не улавливает взаимодействия в принципе.
- Скоррелированные учитываются многократно и перекашивают ответ.
- На больших данных систематически уступает бустингу и линейным моделям с .
Брать, если
- Нужна мгновенная на тексте.
- Данных очень мало, а много.
- Модель должна дообучаться на потоке без с нуля.
Не брать, если
- Нужны калиброванные вероятности — берите .
- сильно скоррелированы, и это принципиально.
- Данных достаточно для более сильной модели: разрыв в качестве будет заметным.
Чем заменяют
Связанные темы
Байесовский подход · Вероятность и информация
Bayes Theorem93%
Теорема Байеса · Математический справочникПравило пересчёта вероятности гипотезы после получения новых данных.
Probability93%
Теория вероятностей · ОсновыЯзык неопределённости: распределения, условные вероятности и теорема Байеса описывают, как данные порождаются и как обновлять убеждения.
Bayesian Inference75%
Байесовский вывод · Теория вероятностей и распределенияПараметры модели рассматриваются как случайные величины; данные обновляют априорное распределение в апостериорное.
Markov Chains75%
Марковские цепи · Теория вероятностей и распределенияПроцесс, в котором будущее зависит только от текущего состояния. База для MDP, MCMC и моделей поведения пользователя.
Beta Distribution75%
Бета-распределение · Теория вероятностей и распределенияРаспределение вероятности на отрезке [0,1] — естественный априор для конверсии и для многоруких бандитов.
Conditional Independence75%
Условная независимость · Теория вероятностей и распределенияДве величины независимы при известной третьей. Понятие, на котором стоят байесовские сети и наивный классификатор.
Probability Axioms75%
Аксиомы вероятности · Теория вероятностей и распределенияТри аксиомы Колмогорова, из которых выводится вся теория: неотрицательность, нормировка и аддитивность.
Random Variables75%
Случайные величины · Теория вероятностей и распределенияОтображение исходов в числа. Дискретные описываются функцией вероятности, непрерывные — плотностью.
Bayesian Optimization75%
Байесовская оптимизация · Практика MLСтроит модель зависимости метрики от гиперпараметров и выбирает следующую точку осознанно.
Statistics70%
Статистика · ОсновыКак от выборки перейти к выводам о генеральной совокупности: оценки, доверительные интервалы и проверка гипотез.
Information Theory70%
Теория информации · ОсновыИзмеряет количество информации и различие между распределениями. Отсюда родом энтропия, кросс-энтропия и KL-дивергенция.
Probability Distribution70%
Распределение вероятностей · Математический справочникЗакон, задающий вероятности значений случайной величины.
Expectation70%
Математическое ожидание · Математический справочникСреднее значение случайной величины по её распределению.
Variance70%
Дисперсия · Математический справочникМера разброса значений вокруг среднего.
Covariance70%
Ковариация · Математический справочникМера совместной изменчивости двух величин; корреляция — её нормированная версия.
Entropy70%
Энтропия · Математический справочникМера неопределённости распределения: максимальна при равномерном, нулевая при детерминированном.
KL Divergence70%
KL-дивергенция · Математический справочникНасколько распределение q плохо описывает распределение p; несимметрична и не является метрикой.
Cross-Entropy70%
Кросс-энтропия · Математический справочникОжидаемая длина кода при использовании q для данных из p: энтропия p плюс KL(p‖q).
Log Loss70%
Логарифмические потери · МетрикиОценивает качество самих вероятностей, а не только меток: уверенная ошибка штрафуется очень сильно.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Теорема Байеса
: апостериорная вероятность класса через и априор.
Разбор ниже: Идея и «наивное» предположениеНаивное предположение
независимы при известном классе — то самое допущение, которое делает подсчёт возможным.
Разбор ниже: Идея и «наивное» предположениеСглаживание Лапласа
Прибавление единицы к счётчикам: без него слово, не встреченное в классе, обнуляет всё произведение.
Разбор ниже: Варианты и сглаживаниеМультиномиальный вариант
Для счётчиков слов — стандарт классификации текста.
Разбор ниже: Варианты и сглаживаниеГауссов вариант
Для непрерывных : внутри класса каждый признак считается нормальным.
Разбор ниже: Варианты и сглаживаниеГлава «Классическое машинное обучение» последний раз правилась . Нашли ошибку — напишите.