У Naive Bayes характерні ймовірності: чи слід подвоїти кількість слів?


12

Я прототипував свою власну модель Naive Bayes o 'слова слів, і у мене виникло питання щодо обчислення ймовірностей функції.

Скажімо, у мене два класи, я буду просто використовувати спам та не-спам, оскільки саме цим користуються всі. І візьмемо для прикладу слово "віагра". У мене в навчальному наборі 10 електронних листів, 5 спаму та 5 неспам. "viagra" відображається у всіх 5 спам-документах. В одному з навчальних документів це відображається 3 рази (саме про це моє питання), тож це 7 виступів у спамі. У навчальному наборі без спаму це відображається 1 раз.

Якщо я хочу оцінити p (viagra | spam), це просто:

p (viagra | spam) = 5 спам-документів містять viagra / 5 спам-документів усього = 1

Іншими словами, чи не має значення той факт, що один документ, згаданий про віагру 3 рази замість одного, насправді не має значення?


Редагувати: Ось повідомлення в блозі, де автор використовує підхід, який я тільки що виклав: http://ebiquity.umbc.edu/blogger/2010/12/07/naive-bayes-classifier-in-50-lines/

І ось запис у блозі, де автор каже: p (viagra | spam) = 7 згадок про спаму viagra / 8 загальних згадок http://www.nils-haldenwang.de/computer-science/machine-learning/how-to-apply -naive-bayes-класифікатори-до-документа-класифікація-проблеми

І тоді одна з відповідей нижче говорить, що це повинно бути: p (viagra | спам) = 7 віагра згадується у спамі / загальний підрахунок терміну у спамі

Чи може хтось посилатися на джерело, яке дає думку з цього приводу?

Відповіді:


4

Іншими словами, чи не має значення той факт, що один документ, згаданий про віагру 3 рази замість одного, насправді не має значення?

Це має значення. Наївна модель полиномиального Байеса враховує кожне входження в знак, в той час як наївна модель Бернуллі Байеса немає (тобто для останньої моделі, 3 входження «віагри» таким же , як 1 поява «віагри»).

Ось дві ілюстрації, а також таблиця порівняння {1}:

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

{1} акуратно вводить Naive Bayes для класифікації тексту, а також модель Multinomial Naive Bayes та модель Naive Bayes Бернуллі.


Список літератури:


1

Це залежить від конкретної наївної моделі, яку ви застосовуєте. Взагалі, для Класифікації тексту ви хочете розглянути питання про повторення термінів, тому відповідь - так.

Інший момент полягає в тому, що ви розглядаєте ймовірність на основі простору події документа. Ви також можете це зробити на основі терміна простір:

p (viagra | spam) = 5-кратний термін спаму в класі спам / 50 термінів у класі

Ви маєте багато інформації в цьому [документі] ( http://echo.edres.org:8080/betsy/mccallum1.pdf )


0

Я думаю, це залежить від того, що саме ти маєш на увазі p (viagra | spam) та як ти моделюєш дані.

Як написано, я би трактував ваше значення як "ймовірність того, що слово viagra згадується хоч раз у повідомленні, враховуючи це повідомлення є спамом". У такому випадку, так, той факт, що один документ, згаданий про віагру, тричі, не впливає. Ви визначили модель, яка не звертає уваги на такі факти.

Звичайно, у вас може бути інша модель. Наприклад, замість того, щоб viagra була представлена ​​бінарною змінною (присутня / відсутня), вона могла представляти підрахунок кількості разів, коли слово з’являється в повідомленні. У такому випадку з ваших необроблених даних ви оціните емпіричну частоту чогось подібного

p (viagra = 0 | спам) = 0

p (viagra = 1 | спам) = 4/5

p (viagra = 2 | спам) = 0

p (viagra = 3 | спам) = 1/5

тощо.

Я не кажу, що це кращий спосіб зробити це. Я просто ілюструю альтернативну ситуацію, коли ваша інтуїція про те, що побачити віагру, згадану тричі, є доречною, дотримується.

Більш практичним прикладом може бути "Термін Частота - Зворотна частота документа", це метод, який приділяє багато уваги частоті слова в документі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.