Лабораторная работа 4 Применение наивных байесовских методов для задач классификации


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



бет2/2
Дата18.02.2022
өлшемі0,68 Mb.
#25875
түріЛабораторная работа
1   2
Полиномиальный наивный байесовский классификатор

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

Основная идея остается точно такой же, но вместо моделирования распределения данных с оптимальной Гауссовой функцией мы моделируем распределение данных с оптимальным полиномиальным распределением.

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



Скачаем данные и изучим целевые названия:



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



Вот типичный образец записи из этого набора данных:



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



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



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




Рис. 3. Матрица различий для полиномиального наивного

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

Хорошая новость состоит в том, что у нас теперь есть инструмент определения категории для любой строки с помощью метода predict() нашего конвейера. Следующий фрагмент кода описывает простую вспомогательную функцию, возвращающую предсказание для отдельной строки:



Попробуем ее на деле:





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


Когда имеет смысл использовать наивный байесовский классификатор

В силу столь строгих допущений относительно данных наивные байесовские клас­сификаторы обычно работают хуже, чем более сложные модели. Тем не менее у них есть несколько достоинств:

- они выполняют как обучение, так и предсказание исключительно быстро;

- обеспечивают простое вероятностное предсказание;

- их результаты часто очень легки для интерпретации;

- у них очень мало (если вообще есть) настраиваемых параметров.

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

Наивные байесовские классификаторы склонны демонстрировать особенно хоро­шие результаты в следующих случаях:

- когда данные действительно соответствуют наивным допущениям (на практике бывает очень редко);

- для очень хорошо разделяемых категорий, когда сложность модели не столь важна;



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

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

Достарыңызбен бөлісу:
1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет