Как обработать нулевой фактор в расчете наивного байесовского классификатора?


14

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

Пример:

P(x|spam=yes)=P(TimeZone=US|sпaмзнак равноYеs)⋅п(граммеоLосaTяоNзнак равноЕU|sпaмзнак равноYеs)⋅ ,,, знак равно0,004

п(Икс|sпaмзнак равноNо)знак равноп(TямеZоNезнак равноUS|sпaмзнак равноNо)⋅п(граммеоLосaTяоNзнак равноЕU|sпaмзнак равноNо)⋅ ,,, знак равно0

Весь продукт становится равным потому что в данных обучения значение атрибута TimeZone US всегда равно Да в нашем небольшом наборе данных обучения. Как я могу справиться с этим? Должен ли я использовать больший набор обучающих данных или есть другая возможность преодолеть эту проблему?0


Если вы получаете значение отдельного атрибута, его вероятность, по определению, не может быть равна нулю.
— Пол

почему мы добавляем проблему с частотой 1 в 0, что за этим стоит логика, почему бы нам не добавить еще одно число?
— Афтаб Хусайин

Ответы:


13

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

Спамзнак равноYеsСпамзнак равноNоЧасовой поясзнак равноUS105Часовой поясзнак равноЕU00

п(Часовой поясзнак равноUS|Спамзнак равноYеs)знак равно1010знак равно1

п(Часовой поясзнак равноЕU|Спамзнак равноYеs)знак равно010знак равно0

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

Спамзнак равноYеsСпамзнак равноNоЧасовой поясзнак равноUS116Часовой поясзнак равноЕU11

п(Часовой поясзнак равноUS|Спамзнак равноYеs)знак равно1112

п(Часовой поясзнак равноЕU|Спамзнак равноYеs)знак равно112


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