Наивный байесовский классификатор - Naive Bayes classifier

В статистике , наивные байесовские классификаторы представляют собой семейство простых « вероятностных классификаторов » на основе применения теоремы Байеса с сильными (наивной) независимостью предположениями между функциями (см Байесом классификатора ). Они являются одними из самых простых байесовских сетевых моделей, но в сочетании с оценкой плотности ядра они могут обеспечить более высокий уровень точности.

Наивные байесовские классификаторы обладают высокой масштабируемостью, требуя ряда параметров, линейных по количеству переменных (характеристик / предикторов) в задаче обучения. Обучение с максимальным правдоподобием может быть выполнено путем оценки выражения в замкнутой форме , которое требует линейного времени , а не путем дорогостоящего итеративного приближения, которое используется для многих других типов классификаторов.

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

Вступление

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

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

Несмотря на свой наивный дизайн и явно упрощенные предположения, наивные байесовские классификаторы довольно хорошо работают во многих сложных ситуациях реального мира. В 2004 году анализ проблемы байесовской классификации показал, что существуют веские теоретические причины кажущейся неправдоподобной эффективности наивных байесовских классификаторов. Тем не менее, всестороннее сравнение с другими алгоритмами классификации в 2006 году показало, что классификация Байеса превосходит другие подходы, такие как усиленные деревья или случайные леса .

Преимущество наивного байесовского метода состоит в том, что для оценки параметров, необходимых для классификации, требуется лишь небольшое количество обучающих данных.

Вероятностная модель

В абстрактном смысле, наивный байесовский метод представляет собой модель условной вероятности : заданному экземпляру проблемы, который должен быть классифицирован, представлен вектором, представляющим некоторые n характеристик (независимые переменные), он присваивает этому экземпляру вероятности

для каждого из K возможных исходов или классов .

Проблема с приведенной выше формулировкой заключается в том, что если количество признаков n велико или если признак может принимать большое количество значений, то основывать такую ​​модель на таблицах вероятности невозможно. Поэтому модель необходимо переформулировать, чтобы сделать ее более управляемой. Используя теорему Байеса , условную вероятность можно разложить как

На простом английском языке, используя терминологию байесовской вероятности , приведенное выше уравнение можно записать как

На практике интерес представляет только числитель этой дроби, потому что знаменатель не зависит от значений признаков и даны значения, так что знаменатель фактически постоянен. Числитель эквивалентен совместной вероятностной модели

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

Теперь в игру вступают «наивные» предположения об условной независимости : предположим, что все функции являются взаимно независимыми , обусловленными категорией . В этом предположении

.

Таким образом, совместная модель может быть выражена как

где обозначает пропорциональность .

Это означает, что при указанных выше предположениях о независимости условное распределение по переменной класса :

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

Построение классификатора по вероятностной модели

До сих пор в ходе обсуждения была выведена модель независимых признаков, то есть наивная байесовская вероятностная модель . Наивный байесовский классификатор сочетает эту модель с решающим правилом . Одно общее правило - выбирать наиболее вероятную гипотезу; это известно как максимальное апостериорное правило решения или правило MAP . Соответствующий классификатор, байесовский классификатор , представляет собой функцию, которая назначает метку класса для некоторого k следующим образом:

Оценка параметров и модели событий

Класс - х до может быть вычислена в предположении равновероятных классов ( то есть , ), или путем вычисления оценки для вероятности класса из обучающей выборки ( т.е. , <до для данного класса> = <число образцов в классе> / <общего количество образцов>). Чтобы оценить параметры распределения признака, необходимо принять распределение или сгенерировать непараметрические модели для признаков из обучающего набора.

Предположения о распределении признаков называются «событийной моделью» наивного байесовского классификатора. Для дискретных функций, подобных тем, которые встречаются при классификации документов (включая фильтрацию спама), популярны полиномиальные распределения и распределения Бернулли . Эти предположения приводят к двум различным моделям, которые часто путают.

Гауссовский наивный байесовский

При работе с непрерывными данными типичное предположение состоит в том, что непрерывные значения, связанные с каждым классом, распределяются в соответствии с нормальным (или гауссовым) распределением. Например, предположим, что обучающие данные содержат непрерывный атрибут . Данные сначала сегментируются по классу, а затем вычисляется среднее значение и дисперсия для каждого класса. Пусть будет средним значением значений, связанных с классом C k , и пусть будет дисперсией с поправкой на Бесселя для значений, связанных с классом C k . Предположим, кто-то собрал некоторую ценность для наблюдений . Тогда вероятность плотность из данного класса , может быть вычислена путем затыкать в уравнение для нормального распределения параметризованного и . Это,

Другой распространенный метод обработки непрерывных значений - использование биннинга для дискретизации значений признаков и получения нового набора функций, распределенных по Бернулли; в некоторой литературе на самом деле предполагается, что это необходимо для применения наивного байесовского метода, но это не так, и дискретизация может отбросить различительную информацию .

Иногда распределение условно-классовых предельных плотностей далеко от нормального. В этих случаях оценка плотности ядра может использоваться для более реалистичной оценки предельной плотности каждого класса. Этот метод, предложенный Джоном и Лэнгли, может значительно повысить точность классификатора.

Полиномиальный наивный байесовский

В модели полиномиальных событий выборки (векторы признаков) представляют частоты, с которыми определенные события были сгенерированы полиномом, где - вероятность того, что событие i произойдет (или K таких мультиномов в случае мультикласса). Вектор признаков представляет собой гистограмму с подсчетом количества наблюдений за событием i в конкретном случае. Это модель событий, обычно используемая для классификации документов, с событиями, представляющими появление слова в одном документе (см. Предположение о мешке слов ). Вероятность наблюдения гистограммы x определяется выражением

Полиномиальный наивный байесовский классификатор становится линейным классификатором, когда выражается в лог-пространстве:

где и .

Если данный класс и значение признака никогда не встречаются вместе в обучающих данных, тогда оценка вероятности на основе частоты будет равна нулю, поскольку оценка вероятности прямо пропорциональна количеству вхождений значения признака. Это проблематично, потому что это уничтожит всю информацию о других вероятностях при их умножении. Следовательно, часто желательно включать поправку на малую выборку, называемую псевдосчетом , во все оценки вероятности, чтобы никакая вероятность никогда не устанавливалась равной нулю. Этот способ регуляризации наивного Байеса называется сглаживанием Лапласа, когда псевдосчет равен единице, и сглаживанием Лидстона в общем случае.

Ренни и др. обсудить проблемы с полиномиальным предположением в контексте классификации документов и возможные способы решения этих проблем, включая использование весов tf – idf вместо исходных частот терминов и нормализации длины документа, чтобы создать наивный байесовский классификатор, который конкурирует с вектором поддержки машины .

Бернулли наивный Байес

В многомерной модели событий Бернулли функции являются независимыми логическими значениями (двоичными переменными), описывающими входные данные. Как и полиномиальная модель, эта модель популярна для задач классификации документов, где используются признаки появления двоичных терминов, а не частота терминов. Если - логическое значение, выражающее наличие или отсутствие i -го термина из словаря, то вероятность документа, заданного классом , определяется выражением

где - вероятность класса, порождающего термин . Эта модель событий особенно популярна для классификации коротких текстов. Его преимущество заключается в явном моделировании отсутствия терминов. Обратите внимание, что наивный байесовский классификатор с моделью событий Бернулли - это не то же самое, что полиномиальный классификатор NB с усеченными до единицы значениями частоты.

Полуконтролируемая оценка параметров

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

Учитывая коллекцию меченого образцов L и немеченых образцов U , начните обучение наивный байесовский классификатор на L .
До схождения делать:
Прогнозируйте вероятности классов для всех примеров x in .
Переобучите модель на основе вероятностей (а не меток), предсказанных на предыдущем шаге.

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

Этот обучающий алгоритм является примером более общего алгоритма ожидания-максимизации (EM): шаг прогнозирования внутри цикла - это E- шаг EM, а повторное обучение наивного байесовского алгоритма - M- шаг. Формально алгоритм обоснован предположением, что данные генерируются смешанной моделью , а компоненты этой смешанной модели являются в точности классами задачи классификации.

Обсуждение

Несмотря на то, что далеко идущие предположения о независимости часто бывают неточными, наивный байесовский классификатор имеет несколько свойств, которые делают его удивительно полезным на практике. В частности, разделение условных распределений признаков классов означает, что каждое распределение может быть независимо оценено как одномерное распределение. Это помогает облегчить проблемы, возникающие из-за проклятия размерности , например, необходимость в наборах данных, которые экспоненциально масштабируются с количеством функций. Хотя наивный метод Байеса часто не может дать хорошую оценку вероятностей правильного класса, это может не быть требованием для многих приложений. Например, наивный байесовский классификатор сделает правильную классификацию правил принятия решений MAP, если правильный класс более вероятен, чем любой другой класс. Это верно независимо от того, является ли оценка вероятности незначительной или даже очень неточной. Таким образом, общий классификатор может быть достаточно устойчивым, чтобы игнорировать серьезные недостатки лежащей в его основе наивной вероятностной модели. Другие причины наблюдаемого успеха наивного байесовского классификатора обсуждаются в цитируемой ниже литературе.

Связь с логистической регрессией

В случае дискретных входных данных (индикатор или частотные характеристики для дискретных событий) наивные байесовские классификаторы образуют генеративно-дискриминативную пару с ( полиномиальными ) классификаторами логистической регрессии : каждый наивный байесовский классификатор можно рассматривать как способ подбора вероятностной модели, которая оптимизирует совместное правдоподобие , в то время как логистическая регрессия соответствует той же вероятностной модели для оптимизации условного .

Связь между ними можно увидеть, заметив , что решающая функцию для наивного Байеса (в двоичном случае) можно переписать в виде «предсказать класс , если шансы на превышают ». Выражение этого в пространстве журнала дает:

Левая часть этого уравнения - это логарифм-шансы, или логит , величина, предсказанная линейной моделью, лежащей в основе логистической регрессии. Поскольку наивный байесовский метод также является линейной моделью для двух «дискретных» моделей событий, ее можно повторно параметризовать как линейную функцию . Таким образом, получение вероятностей является вопросом применения логистической функции к функции softmax или, в случае мультикласса .

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

Примеры

Классификация лиц

Проблема: классифицируйте, является ли данный человек мужчиной или женщиной, на основе измеренных характеристик. Характеристики включают рост, вес и размер стопы.

Подготовка

Пример обучающего набора ниже.

Человек высота (футы) вес в фунтах) размер стопы (дюймы)
мужчина 6 180 12
мужчина 5,92 (5 футов 11 дюймов) 190 11
мужчина 5,58 (5 футов 7 дюймов) 170 12
мужчина 5,92 (5 футов 11 дюймов) 165 10
женский пол 5 100 6
женский пол 5,5 (5 футов 6 дюймов) 150 8
женский пол 5,42 (5 футов 5 дюймов) 130 7
женский пол 5,75 (5 футов 9 дюймов) 150 9

Классификатор, созданный из обучающей выборки с использованием предположения о распределении Гаусса, будет иметь вид (заданные дисперсии являются несмещенными дисперсиями выборки ):

Человек среднее (рост) дисперсия (рост) среднее (вес) дисперсия (вес) среднее (размер стопы) отклонение (размер стопы)
мужчина 5,855 3,5033 × 10 −2 176,25 1,2292 × 10 2 11,25 9,1667 × 10 -1
женский пол 5,4175 9,7225 × 10 −2 132,5 5,5833 × 10 2 7,5 1,6667

В следующем примере предполагаются равновероятные классы, так что P (мужской) = P (женский) = 0,5. Это априорное распределение вероятностей может быть основано на предварительном знании частот в большей совокупности или в обучающем наборе.

Тестирование

Ниже приведен образец, который можно разделить на мужчин и женщин.

Человек высота (футы) вес в фунтах) размер стопы (дюймы)
образец 6 130 8

Чтобы классифицировать образец, нужно определить, какая задняя часть больше, мужская или женская. Для классификации мужского пола задняя часть дается следующим образом:

Для классификации женского пола задняя часть дается следующим образом:

Свидетельство (также называемое нормализующей константой) может быть вычислено:

Однако, учитывая выборку, доказательства являются постоянными и, таким образом, одинаково масштабируются для обоих задних зубов. Следовательно, это не влияет на классификацию и может быть проигнорировано. Теперь можно определить распределение вероятностей для пола в выборке:

,

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

Поскольку в случае женщин апостериорный числитель больше, можно предположить, что выборка - женщина.

Классификация документов

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

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

Тогда вероятность того, что данный документ D содержит все слова , учитывая класс C , равна

Необходимо ответить на вопрос: «какова вероятность того, что данный документ D принадлежит данному классу C ?» Другими словами, что есть ?

Теперь по определению

и

Теорема Байеса превращает их в утверждение о вероятности с точки зрения правдоподобия .

Предположим на данный момент, что существует только два взаимоисключающих класса, S и ¬ S (например, спам, а не спам), так что каждый элемент (электронное письмо) находится либо в одном, либо в другом;

и

Используя приведенный выше байесовский результат, можно написать:

Разделение одного на другое дает:

Что может быть преобразовано как:

Таким образом, отношение вероятностей p ( S | D ) / p (¬ S | D ) может быть выражено через ряд отношений правдоподобия . Фактическая вероятность p ( S | D ) может быть легко вычислена из log (p ( S | D ) / p (¬ S | D )) на основании наблюдения, что p ( S | D ) + p (¬ S | D ) = 1.

Принимая логарифм всех этих соотношений, получим:

(Этот метод « логарифмических соотношений правдоподобия » является распространенным методом в статистике. В случае двух взаимоисключающих альтернатив (таких как этот пример) преобразование логарифмического отношения правдоподобия в вероятность принимает форму сигмовидной кривой. : подробности см. в logit .)

Наконец, документ можно классифицировать следующим образом. Это спам, если (т. Е. ), В противном случае это не спам.

Смотрите также

использованная литература

дальнейшее чтение

внешние ссылки

Программного обеспечения
  • Наивные байесовские классификаторы доступны во многих универсальных пакетах машинного обучения и НЛП, включая Apache Mahout , Mallet , NLTK , Orange , scikit-learn и Weka .
  • IMSL Numerical Libraries Коллекции математических и статистических алгоритмов, доступных на C / C ++, Fortran, Java и C # /. NET. Процедуры интеллектуального анализа данных в библиотеках IMSL включают наивный байесовский классификатор.
  • Интерактивная электронная таблица Microsoft Excel. Наивная реализация Байеса с использованием VBA (требуются включенные макросы) с видимым исходным кодом.
  • jBNC - Панель инструментов классификатора байесовских сетей
  • Набор инструментов статистического распознавания образов для Matlab .
  • ifile - первый свободно доступный (наивный) байесовский фильтр почты / спама
  • NClassifier - NClassifier - это библиотека .NET, которая поддерживает классификацию текста и суммирование текста. Это порт Classifier4J.
  • Classifier4J - Classifier4J - это библиотека Java, предназначенная для классификации текста. Он поставляется с реализацией байесовского классификатора.
  • Наивный байесовский классификатор JNBC, работающий в памяти или использующий быстрые хранилища значений ключей (MapDB, LevelDB или RocksDB).
  • Blayze - Blayze - это минимальная библиотека JVM для наивной байесовской классификации, написанная на Kotlin.