Naive Bayes е алгоритъм за класификация, базиран на теоремата на Bayes. Простотата на алгоритъма го прави лесен за разбиране и прилагане. Често дава добри резултати, стига предположенията относно характеристиките да не се нарушават сериозно. Работи особено добре с текстови данни.

Вероятности и теорема на Байс

Основният принцип на алгоритъма са условните вероятности и теоремата на Байс. Теоремата на Байс е принцип, използван за изчисляване на вероятностите за условни събития, които не могат да бъдат изчислени лесно с помощта на емпирични данни. Помислете за сценарий, при който трябва да се изчисли вероятността някой да има туберкулоза, защото лицето има треска. Това е трудно изчисление, тъй като повечето хора с треска не отиват в болница. Обратното обаче е лесно да се изчисли.

Математически казано, помислете за събития A и B. Вероятността за събитие B при условие A може да се изчисли като:

След като това стане ясно, не е трудно да се разбере защо може да се приложи като алгоритъм за машинно обучение. Класификационният модел се опитва да изчисли към кой клас е най-вероятно да принадлежи точка от данни, дадени определени характеристики, т.е. P(C/F). От данните за обучение е възможно да се изчислят вероятностите на характеристиките за различни класове и вероятностите на самите класове.

Наивно предположение

Наивното предположение на алгоритъма влиза в картината, когато се изчислява предишната вероятност. „Характеристиките“ обикновено са повече от една и теоремата на Байс се трансформира в

Числителят е почти невъзможно да се изчисли, освен ако не се направи предположение за независимост между характеристиките. Това често не е така с повечето данни от реалния свят. Със сигурност ще има някаква асоциация между характеристиките. Следователно терминът „наивен“ е даден на алгоритъма.

При предположението, P(y|X) става

Начинът, по който се изчисляват тези приоритети, зависи от разпределението на данните. Важно е да разберете това и да използвате различните наивни Bayes, налични в модула sklearn. Трябва да се отбележи, че вероятностите на характеристиките P(xi) са еднакви за всички класове y. Не е необходимо да ги изчислявате, тъй като вероятностите трябва само да се сравняват.

Гаус наивен Байес

Gaussian naive Bayes приема нормално разпределение за характеристиките. Това определя начина, по който се изчисляват предходните вероятности.

Нормално разпределение и вероятност

Нормалното разпределение предполага, че данните са центрирани около средната стойност, като вероятността данните да са далеч от нея намалява. Скоростта на намаляване се определя от дисперсията. Разпределението има два параметъра (средно и стандартно отклонение). Въпреки че вероятността е дефинирана само в интервал, тъй като данните са непрекъснати, е възможно да се изчисли вероятността или логаритмичната вероятност.

Вероятността за x в разпределението със средна стойност 𝛍 и стандартно отклонение 𝛔 се дава от

Предишните вероятности или по-скоро предходните вероятности P(xi|y) и P(xi) могат да бъдат изчислени, след като са известни средното и стандартното отклонение.

Категоричен наивен Байес

Докато Gaussian наивен Bayes е мощен за числени данни, тъй като повечето числени данни са нормални по природа, категоричният наивен Bayes е за категорични характеристики. Вероятностите са много по-лесни за изчисляване, тъй като в този случай това е просто част от случаите спрямо общия брой случаи.

Пример

Помислете за хипотетичен набор от данни по-долу

Проблемът изисква да се изчисли дали мъж на 55 години е предразположен към диабет.

Трябва да сравним вероятностите за да и не при тези условия.

Както беше посочено по-рано, няма нужда да се изчисляват вероятностите за P(възраст = 55) и P(M), тъй като е необходимо само сравнение. Условните вероятности за възрастта изискват гаусова вероятност със средно и стандартно отклонение, докато условната вероятност за пола е част.

Мултиномиален наивен Бейс и НЛП

Многочленният наивен Бейс предполага многочленно разпределение на данните като цяло, а не на отделни характеристики. Наивността тук се крие в предположението, че данните са многочленно разпределение, а не независими. Това работи особено добре за векторизирано преброяване на текстови данни, тъй като по своята същност е многочленно.

Да разгледаме набор от документи с m брой думи в речника, вероятността документът да бъде в клас се дава от мултиномиалното разпределение

Където ki е честотата на i-тата дума в документа,

Ni е честотата на i-тата дума в класа, N е сумата от честотите на всички думи в класа и n е броят на класовете. ɑ е необходимата корекция, тъй като много от думите могат да имат честота 0, което би довело до нулева вероятност.

Това работи добре с векторизатор за броене за текстови данни, тъй като разпределението на думите в набор от документи може да се разглежда като мултиномиално разпределение.

Заключение

Naive Bayes е многофункционален алгоритъм за машинно обучение, който може да бъде внедрен с разбиране на разпределението на данните. Въз основа на естеството на характеристиките е възможно да се направи претеглено обединяване на различни наивни байесови (напр.: гаусови и категорични). Освен това е изчислително ефективен, което прави възможно създаването на алгоритми за всяко друго известно разпределение на данните като поасоново или експоненциално.