Наивный Байес как классификатор
Теорему Байеса можно превратить в рабочий классификатор. Наивный Байес десятилетиями фильтрует спам и до сих пор силён как быстрый базовый метод. Он напрямую применяет всё, что мы знаем про условную вероятность и базовую ставку.
Каждое спам-слово (LR>1) толкает вероятность вверх, «деловое» (LR<1) — вниз. Слова перемножаются независимо — отсюда «наивный». Базовая ставка P(спам) — стартовые шансы: при редком спаме даже сильные слова не делают письмо спамом наверняка.
Задача: письмо со словами — спам или нет? Байес переворачивает вопрос. Нас интересует P(спам | слова), а измеримо обратное: P(слова | спам) — как часто эти слова встречаются в спаме. Теорема Байеса связывает их через базовую ставку P(спам) — насколько спам вообще част.
Наивный Байес — отличная базовая модель для текста (спам, тональность, темы): быстрый, дешёвый, не требует много данных. С него разумно начинать, прежде чем тянуть тяжёлые модели.
Его слабость — те самые коррелированные признаки: вероятности он оценивает смещённо (часто слишком уверенно), поэтому как ИСТОЧНИК вероятностей он хуже, чем как принимающий РЕШЕНИЕ классификатор. Если нужны калиброванные вероятности — их отдельно калибруют.
Классические спам-фильтры (байесовская фильтрация) — прямое применение: по словам письма обновляется вероятность «спам». Тот же приём — в простой классификации отзывов и новостей по темам.
В медицине и диагностике та же логика «обновить базовую ставку наблюдениями» лежит в основе вероятностных скрининговых правил.
Определения
«Наивность» — предположение, что признаки независимы внутри класса. Когда фичи дублируют друг друга (длина письма и число слов), классификатор учитывает одно свидетельство дважды и становится сверхуверенным: его «вероятности» нельзя читать буквально.
Слово, не встречавшееся в классе при обучении, даёт нулевую вероятность и обнуляет всё произведение — нужно сглаживание (добавка Лапласа). И прогнозы зависят от базовых ставок: на новом балансе классов они съезжают.