Як обробити нульовий коефіцієнт при розрахунку класифікатора Naive Bayes?


14

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

Приклад:

P(x|spam=yes)=P(TimeZone=US|spam=yes)P(GeoLocation=EU|spam=yes) ... =0.004

P(x|spam=no)=P(TimeZone=US|spam=no)P(GeoLocation=EU|spam=no) ... =0

Весь продукт стає тому що в даних про тренінг атрибут TimeZone US завжди є Так у нашому невеликому наборі даних про навчання. Як я можу впоратися з цим? Чи варто використовувати більший набір навчальних даних чи є інша можливість подолати цю проблему?0


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

чому ми додаємо задачу частоти 1 в 0, в чому полягає логіка, чому не додати ще одне число.
Афтаб Хуссейн

Відповіді:


13

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

Spam=yesSpam=noTimeZone=US105TimeZone=EU00

P(TimeZone=US|Spam=yes)=1010=1

P(TimeZone=EU|Spam=yes)=010=0

Потім слід додати його до кожного значення цієї таблиці, коли ви використовуєте його для обчислення ймовірностей:

Spam=yesSpam=noTimeZone=US116TimeZone=EU11

P(TimeZone=US|Spam=yes)=1112

P(TimeZone=EU|Spam=yes)=112


4
Справді. Зауважте, що колись ви можете додати інші значення, ніж одне. Для отримання додаткової інформації див en.wikipedia.org/wiki/Additive_smoothing
Dal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.