Наивен алгоритъм на Бейс в машинното обучение
⚡ Умно обобщение
Наивният Байес е контролиран, вероятностен алгоритъм за класификация, изграден върху теоремата на Байес, приемайки, че всяка характеристика допринася независимо. Неговата теория, работещ процес...ping Например, по-долу са разгледани трите варианта на модела, предимствата, ограниченията и приложенията в реалния свят.
Алгоритъм за наивен класификатор на Бейс
Класификаторът е алгоритъм за машинно обучение, който сортира данните в един или повече от набор от „класове“. Класификаторът на имейли е един познат пример: той сканира всяко входящо съобщение и прикачва етикет за клас „Спам“ или „Не е спам“.
Наивният Байесов класификатор в машинното обучение е контролирано обучение алгоритъм, използван за задачи за класификация.
Диаграмата по-долу очертава този поток.
Naive Bayes се използва за решаване на проблеми с класификацията. Той прогнозира въз основа на вероятността за обект. Naive Bayes се основава на теоремата на Bayes и се използва най-вече за класификация на текст. Naive Bayes е алгоритъм за вероятностна класификация, който е лесен за внедряване и бърз за обучение.
Тъй като наивният Байесов класификатор се основава на теоремата на Байес, той е известен още като вероятностен класификатор. Той прави прогнози въз основа на вероятността на даден елемент.
Защо се нарича наивен Байес?
Името „Наивен Байес“ се състои от две части: „Наивен“ и „Байес“. Защо „наивен“? Алгоритъмът игнорира реда, в който се появяват характеристиките, така че „Ти си“ и „Ти ли си“ изглеждат идентични. Той също така приема, че никоя характеристика не влияе на друга. За да разпознаете плода ябълка, използвате червен цвят, сферична форма и сладък вкус, а алгоритъмът третира всяка от тези улики като отделно, независимо доказателство.
- Наивният байесов класификатор приема, че характеристиките са независими една от друга. Тъй като това рядко е възможно в реални данни, класификаторът се нарича наивен.
- Този алгоритъм за класификация се основава на теоремата на Байес, затова е известен като Наивен Байесов класификатор.
Наивна теорема на Байес
Теоремата на Байес се използва за намиране на вероятността на хипотеза с условни вероятности, зависещи от предварителни знания. Тази теорема е кръстена на Томас Байес. Наивният класификатор на Байес работи на принципа на условната вероятност, както е дадено от теоремата на Байес.
За да разберем теоремата на Байес, нека разгледаме един прост пример с наивен класификатор на Байес, при който се хвърлят две монети. Можем да получим тези примерни пространства, като хвърлим две монети: {HH, HT, TH, TT}. Така вероятностите на тези събития ще бъдат:
- Получаване на две глави = 1/4
- Поне една опашка = 3/4
- Втората монета е глава, като се има предвид, че първата монета е опашка = 1/2
- Получаването на две глави при първата монета е глава = 1/2
Теоремата на Байес изчислява вероятността за настъпване на дадено събитие въз основа на вероятността за друго събитие, което вече се е случило. Формулата за теоремата на Байес е дадена като:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) е вероятността за събитие А, когато събитие B вече се е случило. Вероятността P(B) не трябва да е нула.
- Трябва да намерите вероятността за събитие A, която се дава, когато събитие B (доказателство) е вярно.
- P(A) е априорната вероятност на A, т.е. вероятността за събитието преди да се наблюдават каквито и да е доказателства. Тук събитие B е стойността на неизвестен случай.
- P(A|B) е апостериорната вероятност на събитие А, т.е. вероятността на А след разглеждане на доказателствата Б.
Работен пример за наивен байесов класификатор
Най-бързият начин да видите как формулата работи е да я изпълните на ръка.
Нека вземем пример с магазинping за да се разбере работата на наивния класификатор на Байес. В този набор от данни има малък примерен набор от 30 реда за този пример.
Масив от данни
Проблемът е да се предскаже дали човек ще купи продукт на конкретна комбинация от ден, отстъпка и безплатна доставка, като се използва наивната теорема на Бейс.
Стъпка 1) Ще създадем честотни таблици за всеки атрибут, като използваме типовете вход, споменати в набора от данни, като дни, отстъпка и безплатна доставка.
Нека събитието „Купуване“ е обозначено като „A“, а независимите променливи, а именно „Отстъпка“, „Безплатна доставка“ и „Ден“, са обозначени като „B“. Ще използваме тези събития и променливи, за да приложим теоремата на Байес.
Стъпка 2) Сега нека изчислим таблиците на вероятността една по една.
Пример 1:
Въз основа на тази таблица на вероятностите ще изчислим условните вероятности, както е показано по-долу.
P(A) = P(No Buy) = 6/30 = 0.2 P(B) = P(Weekday) = 11/30 = 0.37 P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33
И намерете P(A/B) с помощта на теоремата на Бейс,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
По същия начин, ако А е Купува, тогава
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Забележка: Тъй като P(Buy | Weekday) е повече от P(No Buy | Weekday), можем да заключим, че клиентът най-вероятно ще купи продукта в делничен ден.
Стъпка 3) По същия начин можем да изчислим вероятността за настъпване на събитие въз основа на всичките три променливи. Сега ще изчислим таблиците на вероятността за всичките три променливи, използвайки горните честотни таблици.
Пример 2:
Сега, използвайки тези три таблици на вероятността, ще изчислим дали има вероятност клиентът да направи покупка въз основа на конкретна комбинация от „Ден“, „Отстъпка“ и „Безплатна доставка“.
Тук нека вземем комбинация от тези фактори:
- Ден = Празник
- Отстъпка = Да
- Безплатна доставка = Да
Когато, A = Купете
Изчислете условната вероятност за покупка при следната комбинация от ден, отстъпка и безплатна доставка.
Където B е:
- Ден = Празник
- Отстъпка = Да
- Безплатна доставка = Да
И A = Купете
Ето защо,
= P(A/B) = P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30) = 0.986
Когато, A = Без покупка
По същия начин изчислете условната вероятност за покупка при следната комбинация от ден, отстъпка и безплатна доставка.
Където B е:
- Ден = Празник
- Отстъпка = Да
- Безплатна доставка = Да
И A = Без покупка
Ето защо,
= P(A/B) = P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30) = 0.027
Стъпка 4) Следователно,
Вероятност за покупка = 0.986
Вероятност за липса на покупка = 0.027
И накрая, имаме условни вероятности да купим в този ден. Нека сега обобщим тези вероятности, за да получим Вероятността на събитията.
- Сума от вероятностите = 0.986 + 0.027 = 1.013
- Вероятност за покупка = 0.986 / 1.013 = 97.33 %
- Вероятност да няма покупка = 0.027 / 1.013 = 2.67 %
Двата резултата се сумират до 1.013, а не до 1, защото предположението за независимост прави всяка оценка приблизителна, така че делението на общия сбор ги преобразува в проценти.
Имайте предвид, че тъй като 97.33% е по-голямо от 2.67%. Можем да заключим, че средният клиент ще купи на празник с отстъпка и безплатна доставка.
Видове наивен байесов модел
Има много видове наивни байесови класификатори. Тук обсъдихме класификаторите на Мултином, Бернули и Гаус наивен Бейс.
| вариант | Тип функция | Типична употреба |
|---|---|---|
| Многочлен | Брой думи | Класификация на теми и документи |
| Бернули | Бинарни флагове за присъствие или отсъствие | Кратки текстове и филтриране на спам |
| Гаус | Непрекъснати числови стойности | Показания и измервания на сензори |
1. Мултиномен наивен Бейс
Този тип модел на Naive Bayes се използва за проблеми с класификацията на документи. Работи с функции, които представят честотата на думите в документ. Класификаторът отчита появата и броя на думите, за да определи вероятността даден документ да принадлежи към конкретна категория, като например спорт, политика или технология.
2. Бернули Наивен Бейс
Това е подобно на мултиномиалния наивен бейс. Класификаторът Bernoulli Naive Bayes се използва за задачи за класификация на документи. Той обаче използва булеви предиктори. Той представя дали дадена дума присъства или не и приема само стойности Да или Не. Класификаторът изчислява вероятностите въз основа на това дали дадена дума се среща в текста или не.
3. Gaussian Naive Bayes
Този класификатор се използва в случай на непрекъсната стойност, но не и дискретна стойност. Този класификатор изчислява вероятностите, използвайки параметрите на Гаус разпределение, т.е. средна стойност и дисперсия.
Формулата за условна вероятност се променя на,
- scikit-научите Библиотеката добавя още два варианта: Допълнителен наивен Байес за небалансиран текст и Категоричен наивен Байес за дискретни категории.
Предимства и ограничения на наивния класификатор на Бейс
Има различни предимства и недостатъци на алгоритъма Naive Bayes в машинното обучение.
Предимства на Naive Bayes Classifier
- Простота и ефективност: Naive Bayes е прост и лесен за обучение и прилагане. Той е ефективен поради ниските изчислителни разходи. Може да обработва ефективно големи набори от данни.
- Бързо обучение и прогнозиране: Наивният Байес не изисква толкова много данни за обучение поради независимостта между характеристиките. Той може да предсказва бързо, след като моделът е обучен.
- скалируемост: Naive Bayes може да обработва набори от данни с големи размери с голям брой функции. Той се представя добре дори когато броят на функциите е по-голям от броя на примерите за обучение. Той се мащабира с броя на точките от данни и предиктори. Той обработва както непрекъснати, така и дискретни данни.
- Устойчивост на неподходящи характеристики: Не е чувствителен към неподходящи характеристики.
- Работи добре с малки комплекти за обучение: Наивният Байес може да осигури разумни резултати дори с ограничени данни за обучение. Той може да се справи със ситуации, в които броят на обучителните инстанции е малък.
Ограничение на наивния класификатор на Бейс
Наивен Байс в машинно обучение предполага, че всички функции са независими една от друга. Така че не може да научи връзки между различни характеристики в данните. Той третира всяка функция, сякаш няма връзка с другите.
Второ предупреждение: вероятностите за класове, които докладва, са лошо калибрирани, така че доверителната стойност, прикрепена към прогнозата, не е надеждна вероятност.
За да преодолеете този проблем, можете да използвате Дървета за вземане на решения, Случайни гори, Машини с опорни вектори (SVM), Невронни мрежи и т.н. Тези алгоритми имат способността да изучават сложни взаимовръзки и зависимости между характеристиките в данните. Така че те могат да предсказват по-точни резултати.
Приложения на Naive Bayes Classifier
Тъй като този алгоритъм е бърз и ефективен, можете да го използвате, за да правите прогнози в реално време.
Откриване на спам
Имейл услуги (като Gmail) използвайте този алгоритъм, за да определите дали даден имейл е спам. Този алгоритъм е отличен за филтриране на спам.
Анализ на чувството
Може да класифицира текста като положителен, отрицателен или неутрален въз основа на характеристики като избор на дума, структура на изречението и контекст. Намира приложения в мониторинга на социалните медии, прегледите на клиентите и пазарните проучвания.
Класификация на документа
Той може да класифицира документи в категории като спорт, политика, технологии или финанси въз основа на честотата или присъствието на конкретни думи или функции в документа.
Препоръчителни системи
Той може да анализира потребителски предпочитания, исторически данни и характеристики на артикули, за да предвиди потребителските интереси или предпочитания за препоръчване на продукти, филми или статии.
Този алгоритъм за класификация се използва също в разпознаването на лица, прогнозирането на времето, медицинската диагностика и пазаруването.ping, Класификация на новини и др. Можете да внедрите наивен Байес в Python, където модулът sklearn.naive_bayes предоставя всеки от описаните по-горе варианти.








