Documente Academic
Documente Profesional
Documente Cultură
(Machine Learning)
Curs 3
Obiective
• Recapitularea unor principii de bază din teoria probabilităților utilizate
în cadrul metodei de învățare automată Naive Bayes și prezentarea
acestei metode de învățare automată.
• Prezentarea unui set de pachete R specializate pentru procesare,
analiza și vizualizare în analiza datelor text
• Exemplificarea capacităților metodei Naive Bayes în filtrarea
mesajelor de spam (mesaje de email sau SMS) .
Metoda Naive Bayes
• Descrie o aplicație simplă a teoremei lui Bayes pentru clasificare.
• Se bazează pe metode probabilistice
• metode preocupate să descrie incertitudinea
• metode care utilizează date din trecut pentru a extrapola evenimente viitoare
• Utilizează date despre evenimente anterioare pentru a estima
probabilitatea unor evenimente viitoare, în lumina unor informații
suplimentare.
• Mai precis:
• Clasificatorii utilizează datele de antrenare pentru a calcula probabilitatea observată a fiecărei
clase, pe baza valorilor atributelor.
• Atunci când clasificatorul este utilizat mai târziu pe un exemplu neetichetat, folosește
probabilitățile observate pentru a prognoza ceai mai probabilă clasă pentru noile valori ale
atributelor.
Utilizări ale metodelor bayesiene
• Clasificarea textului:
• filtrarea mesajelor spam
• identificarea autorului
• clasificarea subiectului
• Detecția intruziunilor sau anomaliilor în rețelele de calculatoarele
• Diagnosticul medical în funcție de simptome observate
• Etc.
Avantaje vs. dezavantaje
• Avantaje • Dezavantaje
• simplu, rapid și foarte eficient • se bazează pe ipoteza, adesea
• se descurcă bine cu date afectate eronată, că atributele sunt toate la
de zgomot și cu valori lipsă fel de importante și că sunt
• necesită relativ puține exemple de independente
antrenare dar se descurcă bine și • nu este soluția ideală pentru
cu un număr mare de exemple seturile de date cu un număr mare
• se obține ușor probabilitatea de atribute numerice
estimată pentru predicție • probabilitățile estimate sunt mai
puțin sigure decât clasele
prognozate
Concepte de bază ale metodelor bayesiene
• Probabilitatea
• poate fi estimată din datele observate, prin împărțirea numărului de cazuri în care
evenimentul A s-a produs la numărul total de cazuri.
$(")
! " =
$
• Probabilitatea condiționată
• calculul probabilității producerii a două evenimente simultan depinde de modul în
care probabilitatea de producere a unui eveniment este legată sau nu de
probabilitatea de producere a altuia
• evenimente independente = evenimente care nu sunt legate
• Teorema lui Bayes – descrie relații dintre evenimentele dependente
! ( ⁄" ! " ! (∩"
! " ⁄( = =
! ( ! (
Exemplu – filtrarea mesajelor spam după
frecvența de apariție a unui cuvânt
Drug Drug
Total 5/100 95/100 24/100 76/100 8/100 91/100 35/100 65/100 100
• În condiții reale:
! '1 ∩ ¬'2 ∩ ¬'3 ∩ ' 4⁄/$%& ! /$%&
! #$%&⁄' 1 ∩ ¬'2 ∩ ¬'3 ∩ '4 =
! '1 ∩ ¬'2 ∩ ¬'3 ∩ '4
• În condițiile independenței condiționate de clasă (class-conditional
independence):
0 1 2⁄3456 0 ¬1 7⁄3456 0 ¬1 8⁄9456 0 1 :⁄3456 0 3456
! /$%&⁄' 1 ∩ ¬'2 ∩ ¬'3 ∩ '4 =
0 12 0 ¬17 0 ¬18 0 1:
Algoritmul de clasificare naive Bayes
*
1
! #$ ⁄%& , %(, . . . , %* = . #$ / . %0 ⁄#$
-
01&
Estimatorul Laplace
• Dacă un eveniment nu apare niciodată pentru unul sau mai multe
niveluri ale clasei, formula de mai sus conduce la rezultate eronate:
probabilitatea nulă.
• Soluție: Se adaugă în tabelul de frecvențe un număr mic (implicit,
valoarea 1) la fiecare atribut astfel încât să se asigure că nu va apare
niciodată probabilitatea zero în niciunul din cazuri.
• Obs. Estimatorul laplacian poate fi setat la orice valoare și nu trebuie să fie
neapărat același pentru toate atributele
Utilizarea atributelor numerice
• Deoarece atributele numerice nu au categorii de valori, algoritmul
Naive Bayes nu poate lucra direct cu datele numerice.
• Soluție: discretizarea atributelor numerice, ceea ce înseamnă că
numerele sunt puse în categorii cunoscute sub numele de container
(Eng. bin).
• cea mai obișnuită metodă de
discretizare este cea de explorare
a datelor pentru a identifica
acele categorii naturale din
distribuția datelor respectiv,
punctele de tăiere
(Eng. cut points).
Utilizarea metodei Naive Bayes pentru
filtrarea mesajelor de spam (1)
• Pasul 1 – Colectarea datelor
• Se vor utiliza datele din colecția de mesaje SMS de la adresa
http://www.dt.fee.unicamp.br/~tiago/smsspamcollection/
• Colecția conține 5559 mesaje text etichetate cu spam sau ham
• Exemple:
• Ham (4812 mesaje):
I” got another job! The one at the hospital doing data analysis or something, starts on
monday! Not sure when my thesis will got finished.”
• Spam (747 mesaje):
”Congratulations ur awarded 500 of CD vouchers or 125 gift guaranteed & Free entry 2100
wkly draw txt MUSIC to 87066”
Utilizarea metodei Naive Bayes pentru
filtrarea mesajelor de spam (2)
• Pasul 2 – Explorarea și pregătirea datelor
• Citirea datelor din fișier:
> sms_raw<- read.csv(”sms_spam.csv”, stringsAsFactor = FALSE)
> sms_raw$type <- factor(sms_raw$type)