В статистике , наивные байесовские классификаторы представляют собой семейство простых « вероятностных классификаторов » на основе применения теоремы Байеса с сильными (наивной) независимостью предположениями между функциями (см Байесом классификатора ). Они относятся к простейшим байесовским сетевым моделям [1], но в сочетании с оценкой плотности ядра они могут обеспечить более высокий уровень точности. [2] [3]
Наивные байесовские классификаторы обладают высокой масштабируемостью, требуя ряда параметров, линейных по количеству переменных (функций / предикторов) в задаче обучения. Максимальное правдоподобие обучение может быть сделано путем оценки в выражении замкнутой формы , [4] : 718 , который принимает линейное время , а не дорогой итеративной аппроксимации , который используется для многих других типов классификаторов.
В статистике и литературе по информатике наивные байесовские модели известны под разными именами, включая простой байесовский и независимый байесовский . [5] Все эти имена ссылаются на использование теоремы Байеса в решающем правиле классификатора, но наивный Байес не является (обязательно) байесовским методом. [4] [5]
Вступление
Наивный байесовский метод - это простой метод построения классификаторов: моделей, которые присваивают метки классов экземплярам проблем, представленных в виде векторов значений признаков , где метки классов взяты из некоторого конечного набора. Для обучения таких классификаторов не существует единого алгоритма , а существует семейство алгоритмов, основанное на общем принципе: все наивные байесовские классификаторы предполагают, что значение конкретной характеристики не зависит от значения любой другой характеристики, учитывая переменную класса. Например, фрукт может считаться яблоком, если он красный, круглый и имеет диаметр около 10 см. Наивный байесовский классификатор считает, что каждая из этих характеристик независимо влияет на вероятность того, что этот фрукт является яблоком, независимо от любых возможных корреляций между характеристиками цвета, округлости и диаметра.
Для некоторых типов вероятностных моделей наивные байесовские классификаторы можно очень эффективно обучать в условиях обучения с учителем . Во многих практических приложениях для оценки параметров наивных байесовских моделей используется метод максимального правдоподобия ; другими словами, можно работать с наивной байесовской моделью, не принимая байесовскую вероятность или используя какие-либо байесовские методы.
Несмотря на свой наивный дизайн и явно упрощенные предположения, наивные байесовские классификаторы довольно хорошо работают во многих сложных ситуациях реального мира. В 2004 году анализ проблемы байесовской классификации показал, что существуют веские теоретические причины кажущейся неправдоподобной эффективности наивных байесовских классификаторов. [6] Тем не менее, всестороннее сравнение с другими алгоритмами классификации в 2006 году показало, что классификация Байеса превосходит другие подходы, такие как усиленные деревья или случайные леса . [7]
Преимущество наивного байесовского метода состоит в том, что для оценки параметров, необходимых для классификации, требуется лишь небольшое количество обучающих данных. [ необходима цитата ]
Вероятностная модель
В абстрактном смысле наивный байесовский метод представляет собой модель условной вероятности : задан экземпляр проблемы, подлежащий классификации, представленный векторомпредставляя некоторые n признаков (независимых переменных), он присваивает этому экземпляру вероятности
для каждого из K возможных исходов или классов . [8]
Проблема с приведенной выше формулировкой заключается в том, что если количество признаков n велико или если признак может принимать большое количество значений, то основывать такую модель на таблицах вероятности невозможно. Поэтому модель необходимо переформулировать, чтобы сделать ее более управляемой. Используя теорему Байеса , условную вероятность можно разложить как
На простом английском языке, используя терминологию байесовской вероятности , приведенное выше уравнение можно записать как
На практике интерес представляет только числитель этой дроби, потому что знаменатель не зависит от и значения характеристик даны, так что знаменатель фактически постоянен. Числитель эквивалентен совместной вероятностной модели
который можно переписать следующим образом, используя цепное правило для повторных применений определения условной вероятности :
Теперь в игру вступают «наивные» предположения об условной независимости : предположим, что все функции вявляются независимыми друг от друга , обусловливающие категории. В этом предположении
- .
Таким образом, совместная модель может быть выражена как
где обозначает пропорциональность .
Это означает, что при сделанных выше предположениях о независимости условное распределение по переменной класса является:
где доказательства коэффициент масштабирования зависит только от , то есть константа, если известны значения переменных признаков.
Построение классификатора по вероятностной модели
До сих пор в ходе обсуждения была выведена модель независимых признаков, то есть наивная байесовская вероятностная модель . Наивный байесовский классификатор сочетает эту модель с решающим правилом . Одно из общих правил - выбирать наиболее вероятную гипотезу; это известно как максимальное апостериорное правило решения или правило MAP . Соответствующий классификатор, байесовский классификатор , представляет собой функцию, которая назначает метку класса.для некоторого k следующим образом:
Оценка параметров и модели событий
Класс это до может быть вычислена в предположении равновероятных классов ( то есть ,) или путем вычисления оценки вероятности класса из обучающего набора ( т. е. <предшествующий для данного класса> = <количество выборок в классе> / <общее количество выборок>). Чтобы оценить параметры распределения признака, необходимо принять распределение или сгенерировать непараметрические модели для признаков из обучающего набора. [9]
Предположения о распределении признаков называются «событийной моделью» наивного байесовского классификатора. Для дискретных функций, подобных тем, которые встречаются при классификации документов (включая фильтрацию спама), популярны полиномиальные распределения и распределения Бернулли . Эти предположения приводят к двум различным моделям, которые часто путают. [10] [11]
Гауссовский наивный байесовский
При работе с непрерывными данными типичное предположение состоит в том, что непрерывные значения, связанные с каждым классом, распределяются в соответствии с нормальным (или гауссовым) распределением. Например, предположим, что обучающие данные содержат непрерывный атрибут,. Данные сначала сегментирован по классу, а затем среднее значение и дисперсию извычисляется в каждом классе. Позволять быть средним значением в ассоциированный с классом C k , и пусть- скорректированная по Бесселю дисперсия значений вассоциированный с классом C k . Предположим, вы собрали некоторую ценность для наблюдения. Тогда вероятность того, плотность в учитывая класс , , можно вычислить, подключив в уравнение для нормального распределения, параметризованного а также . Это,
Другой распространенный метод обработки непрерывных значений - использование биннинга для дискретизации значений признаков и получения нового набора функций, распределенных по Бернулли; в некоторой литературе на самом деле предполагается, что это необходимо для применения наивного байесовского метода, но это не так, и дискретизация может отбросить различительную информацию . [5]
Иногда распределение условно-классовых предельных плотностей далеко от нормального. В этих случаях оценка плотности ядра может использоваться для более реалистичной оценки предельной плотности каждого класса. Этот метод, предложенный Джоном и Лэнгли [9], может значительно повысить точность классификатора. [2] [3]
Полиномиальный наивный байесовский
В полиномиальной модели событий выборки (векторы признаков) представляют частоты, с которыми определенные события были сгенерированы полиномиальным где - вероятность того, что произойдет событие i (или K таких многочленов в случае мультикласса). Вектор признаковтогда гистограмма , сподсчет количества раз, когда событие i наблюдалось в конкретном случае. Это модель событий, обычно используемая для классификации документов, с событиями, представляющими появление слова в одном документе (см. Предположение о мешке слов ). Вероятность наблюдения гистограммы x определяется выражением
Полиномиальный наивный байесовский классификатор становится линейным классификатором, когда выражается в лог-пространстве: [12]
где а также .
Если данный класс и значение признака никогда не встречаются вместе в обучающих данных, тогда оценка вероятности на основе частоты будет равна нулю, потому что оценка вероятности прямо пропорциональна количеству вхождений значения признака. Это проблематично, потому что это уничтожит всю информацию о других вероятностях при их умножении. Следовательно, часто желательно включать поправку на малую выборку, называемую псевдосчетом , во все оценки вероятности, чтобы никакая вероятность никогда не устанавливалась равной нулю. Этот способ регуляризации наивного Байеса называется сглаживанием Лапласа, когда псевдосчет равен единице, и сглаживанием Лидстона в общем случае.
Ренни и др. обсудить проблемы с полиномиальным предположением в контексте классификации документов и возможные способы решения этих проблем, включая использование весов tf – idf вместо исходных частот терминов и нормализации длины документа, чтобы создать наивный байесовский классификатор, который конкурирует с вектором поддержки машины . [12]
Бернулли, наивный Байес
В многомерной модели событий Бернулли функции являются независимыми логическими значениями (двоичными переменными), описывающими входные данные. Как и полиномиальная модель, эта модель популярна для задач классификации документов [10], где используются признаки появления двоичных терминов, а не частоты терминов. Еслиявляется логическим значением, выражающим наличие или отсутствие i -го термина из словаря, тогда вероятность документа, заданного классомдается [10]
где вероятность класса создание термина . Эта модель событий особенно популярна для классификации коротких текстов. Его преимущество заключается в явном моделировании отсутствия терминов. Обратите внимание, что наивный байесовский классификатор с моделью событий Бернулли - это не то же самое, что полиномиальный классификатор NB с усеченными до единицы значениями частоты.
Полу-контролируемая оценка параметров
Имея способ обучить наивный байесовский классификатор на основе помеченных данных, можно построить полууправляемый обучающий алгоритм, который может учиться на комбинации помеченных и немаркированных данных, запустив алгоритм обучения с учителем в цикле: [13]
- Учитывая коллекцию меченые пробы L и немеченых образцы ¯u , начать обучение наивного байесовского классификатора на L .
- До схождения делать:
- Прогнозировать вероятности классов для всех примеров x в .
- Переобучите модель на основе вероятностей (а не меток), предсказанных на предыдущем шаге.
Сходимость определяется на основе улучшения вероятности модели. , где обозначает параметры наивной байесовской модели.
Этот обучающий алгоритм является примером более общего алгоритма ожидания-максимизации (EM): шаг прогнозирования внутри цикла - это E- шаг EM, а повторное обучение наивного байесовского алгоритма - M- шаг. Формально алгоритм обоснован предположением, что данные генерируются смешанной моделью , а компоненты этой смешанной модели являются в точности классами задачи классификации. [13]
Обсуждение
Несмотря на то, что далеко идущие предположения о независимости часто бывают неточными, наивный байесовский классификатор имеет несколько свойств, которые делают его удивительно полезным на практике. В частности, разделение условных распределений признаков классов означает, что каждое распределение может быть независимо оценено как одномерное распределение. Это помогает облегчить проблемы, возникающие из-за проклятия размерности , например, необходимость в наборах данных, которые экспоненциально масштабируются с количеством функций. Хотя наивный метод Байеса часто не может дать хорошую оценку вероятностей правильного класса [14], это может не быть требованием для многих приложений. Например, наивный байесовский классификатор сделает правильную классификацию правил принятия решений MAP, если правильный класс более вероятен, чем любой другой класс. Это верно независимо от того, является ли оценка вероятности незначительной или даже очень неточной. Таким образом, общий классификатор может быть достаточно устойчивым, чтобы игнорировать серьезные недостатки лежащей в его основе наивной вероятностной модели. [15] Другие причины наблюдаемого успеха наивного байесовского классификатора обсуждаются в цитируемой ниже литературе.
Связь с логистической регрессией
В случае дискретных входных данных (индикатор или частотные характеристики для дискретных событий) наивные байесовские классификаторы образуют генеративно-дискриминативную пару с ( полиномиальными ) классификаторами логистической регрессии : каждый наивный байесовский классификатор можно рассматривать как способ подбора вероятностной модели, которая оптимизирует совместная вероятность, в то время как логистическая регрессия соответствует той же вероятностной модели для оптимизации условного . [16]
Связь между ними можно увидеть, заметив, что функция принятия решения для наивного Байеса (в двоичном случае) может быть переписана как «класс прогнозирования если шансы на превышают те из ". Выражение этого в пространстве журнала дает:
Левая часть этого уравнения - это логарифм-шансы, или логит , величина, предсказанная линейной моделью, лежащей в основе логистической регрессии. Поскольку наивный байесовский метод также является линейной моделью для двух «дискретных» моделей событий, ее можно повторно параметризовать как линейную функцию.. Получение вероятностей - это вопрос применения логистической функции к, или, в случае мультикласса, функция softmax .
Дискриминантные классификаторы имеют меньшую асимптотическую ошибку, чем генеративные; однако исследования Нг и Джордана показали, что в некоторых практических случаях наивный метод Байеса может превзойти логистическую регрессию, поскольку он быстрее достигает своей асимптотической ошибки. [16]
Примеры
Классификация лиц
Проблема: классифицируйте, является ли данный человек мужчиной или женщиной, на основе измеренных характеристик. Характеристики включают рост, вес и размер стопы.
Обучение
Пример обучающего набора ниже.
Человек | высота (футы) | вес в фунтах) | размер стопы (дюймы) |
---|---|---|---|
мужчина | 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 .)
Наконец, документ можно классифицировать следующим образом. Это спам, если (т.е. ), иначе это не спам.
Смотрите также
- AODE
- Байесовский классификатор
- Байесовская фильтрация спама
- Байесовская сеть
- Случайный наивный байесовский
- Линейный классификатор
- Логистическая регрессия
- Перцептрон
- Лучшая эвристика
Рекомендации
- ^ Маккаллум, Эндрю. «Графические модели, лекция 2: представление байесовской сети» (PDF) . Проверено 22 октября 2019 года .
- ^ а б Пирьонези, С. Мадех; Эль-Дираби, Тамер Э. (01.06.2020). «Роль аналитики данных в управлении инфраструктурными активами: преодоление проблем с размером и качеством данных». Журнал транспортного машиностроения, часть B: Тротуары . 146 (2): 04020022. DOI : 10,1061 / JPEODX.0000175 .
- ^ а б Хасти, Тревор. (2001). Элементы статистического обучения: интеллектуальный анализ данных, вывод и прогнозирование: с 200 полноцветными иллюстрациями . Тибширани, Роберт., Фридман, Дж. Х. (Джером Х.). Нью-Йорк: Спрингер. ISBN 0-387-95284-5. OCLC 46809224 .
- ^ а б Рассел, Стюарт ; Норвиг, Питер (2003) [1995]. Искусственный интеллект: современный подход (2-е изд.). Прентис Холл. ISBN 978-0137903955.
- ^ а б в Рука, диджей; Ю. К. (2001). «Идиотский байесовский - не все ли так глуп?». Международное статистическое обозрение . 69 (3): 385–399. DOI : 10.2307 / 1403452 . ISSN 0306-7734 . JSTOR 1403452 .
- ^ Чжан, Гарри. Оптимальность наивного Байеса (PDF) . Конференция FLAIRS2004.
- ^ Caruana, R .; Никулеску-Мизил, А. (2006). Эмпирическое сравнение алгоритмов обучения с учителем . Proc. 23-я Международная конференция по машинному обучению. CiteSeerX 10.1.1.122.5901 .
- ^ Нарасимха Мурти, М .; Сушила Деви, В. (2011). Распознавание образов: алгоритмический подход . ISBN 978-0857294944.
- ^ а б Джон, Джордж Х .; Лэнгли, Пэт (1995). Оценка непрерывных распределений в байесовских классификаторах . Proc. Одиннадцатая конф. о неопределенности в искусственном интеллекте. Морган Кауфманн. С. 338–345. arXiv : 1302,4964 .
- ^ а б в Маккаллум, Эндрю; Нигам, Камаль (1998). Сравнение моделей событий для наивной байесовской классификации текста (PDF) . AAAI-98 семинар по обучению классификации текста. 752 .
- ^ Метсис, Вангелис; Андроутсопулос, Ион; Палиоурас, Георгиос (2006). Фильтрация спама с наивным байесовским методом - какой наивный байесовский? . Третья конференция по электронной почте и борьбе со спамом (CEAS). 17 .
- ^ а б Ренни, Дж .; Shih, L .; Teevan, J .; Каргер, Д. (2003). Устранение ошибочных предположений наивных байесовских классификаторов (PDF) . ICML.
- ^ а б Нигам, Камаль; Маккаллум, Эндрю; Трун, Себастьян; Митчелл, Том (2000). «Учимся классифицировать текст из помеченных и немаркированных документов с помощью EM» (PDF) . Машинное обучение . 39 (2/3): 103–134. DOI : 10,1023 / A: 1007692713085 . S2CID 686980 .
- ^ Никулеску-Мизил, Александру; Каруана, Рич (2005). Предсказание хороших вероятностей с обучением с учителем (PDF) . ICML. DOI : 10.1145 / 1102351.1102430 . Архивировано из оригинального (PDF) 11 марта 2014 года . Проверено 24 апреля 2016 .
- ^ Риш, Ирина (2001). Эмпирическое исследование наивного байесовского классификатора (PDF) . Семинар IJCAI по эмпирическим методам ИИ.
- ^ а б Нг, Эндрю Ю .; Джордан, Майкл И. (2002). О дискриминирующих и генеративных классификаторах: сравнение логистической регрессии и наивного Байеса . НИПС . 14 .
дальнейшее чтение
- Домингос, Педро; Паццани, Майкл (1997). «Об оптимальности простого байесовского классификатора при нулевой потере» . Машинное обучение . 29 (2/3): 103–137. DOI : 10,1023 / A: 1007413511361 .
- Уэбб, Г.И.; Boughton, J .; Ван, З. (2005). «Не такой уж наивный Байес: агрегирование оценок с одной зависимостью» . Машинное обучение . 58 (1): 5–24. DOI : 10.1007 / s10994-005-4258-6 .
- Мозина, М .; Demsar, J .; Kattan, M .; Зупан, Б. (2004). Номограммы для визуализации наивного байесовского классификатора (PDF) . Proc. ПКДД-2004. С. 337–348.
- Марон, ME (1961). «Автоматическое индексирование: экспериментальное исследование». Журнал ACM . 8 (3): 404–417. DOI : 10.1145 / 321075.321084 . hdl : 2027 / uva.x030748531 . S2CID 6692916 .
- Минский, М. (1961). Шаги к искусственному интеллекту . Proc. IRE. 49 . С. 8–30.
Внешние ссылки
- Глава книги: Наивная байесовская классификация текстов, Введение в поиск информации
- Наивный байесовский метод классификации текста с несбалансированными классами
- Результаты тестов наивных байесовских реализаций
- Иерархические наивные байесовские классификаторы для неопределенных данных (расширение наивного байесовского классификатора).
- Программное обеспечение
- Наивные байесовские классификаторы доступны во многих универсальных пакетах машинного обучения и НЛП, включая 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.