NBSVM – Varijante Naive Bayes i Support Vector Machines. NBSVM kombinira prednosti Naive Bayes (NB) i Support Vector Machine (SVM) modela za klasifikaciju teksta. Naive Bayes je poznat po svojoj jednostavnosti i efikasnosti u obradi velikih količina podataka, dok SVM pruža visoku točnost kroz svoj pristup maksimizaciji margine između klasa. Ova kombinacija često daje izvrsne rezultate na datasetima za analizu sentimenta, ponekad postavljajući nove standarde u točnosti predviđanja.
Kako NBSVM Funkcionira
- Naive Bayes (NB): Model koristi statistički pristup za predviđanje vjerojatnosti svake klase na temelju frekvencija pojava riječi u tekstu. Pretpostavlja se da su riječi međusobno neovisne, što olakšava izračune ali ponekad može dovesti do grešaka u predviđanju zbog ignoriranja konteksta riječi.
- Support Vector Machine (SVM): SVM se koristi za pronalaženje hiper-ravnine u visokodimenzionalnom prostoru koja najbolje razdvaja kategorije dokumenata. Optimizacijom margine između klasa, SVM osigurava robustniji model koji je manje osjetljiv na šum u podacima.
- Kombinacija Modela: NBSVM model koristi Naive Bayes za izračunavanje log-odds vjerojatnosti da pojedine riječi pripadaju određenim klasama, a te vjerojatnosti se zatim koriste kao značajke u SVM modelu. Ovo omogućuje da se uzmu u obzir prednosti oba modela, povećavajući točnost predviđanja posebno u tekstualnim zadacima poput analize sentimenta.
- Primjene
- Analiza Sentimenta: NBSVM je izuzetno efikasan u kategorizaciji tekstova prema sentimentu zbog svoje sposobnosti da efektivno rukuje velikim i raznolikim datasetovima.
- Klasifikacija Dokumenata: Koristi se u automatskom razvrstavanju dokumenata u kategorije na temelju sadržaja, što je korisno u pravnim i akademskim primjenama.
- Spam Detekcija: Efektivno filtriranje neželjene pošte koristeći tekstualne značajke e-maila za predviđanje vjerojatnosti da je poruka spam.
- Dijagram prikazuje kako se riječi transformiraju u vektore pomoću Naive Bayes modela.
- Vektori su prikazani kako ulaze u SVM model, koji optimizira granicu između klasa.
- Konačno, rezultat prikazuje klasifikaciju teksta u pozitivan, negativan ili neutralan sentiment.
Ovaj model nije vezan uz jezik, pa je jako pogodan za uporabu za različite jezike.
Rezultati koje vidimo nakon 100 epoha treniranja AI modela odnose se na performanse modela na treniranju i validacijskom skupu podataka. Evo objašnjenja svakog od tih mjera:
Rezultati treniranja NBSVM modela mogu se analizirati na temelju nekoliko ključnih metrika koje su navedene: loss (gubitak), binary_accuracy (binarna točnost), val_loss (gubitak na validacijskom setu) i val_binary_accuracy (binarna točnost na validacijskom setu). Evo što svaka od ovih metrika znači i kako interpretirati dobivene vrijednosti:
- Loss (Gubitak) – 0.0801: Ova vrijednost pokazuje prosječni gubitak modela na trening setu. Gubitak je mjera koliko su predikcije modela udaljene od stvarnih vrijednosti; niži gubitak ukazuje na bolju učinkovitost modela. Vrijednost od 0.0801 je prilično niska, što sugerira da model dobro generalizira učene značajke iz trening seta.
- Binary_accuracy (Binarna točnost) – 0.9709: Binarna točnost od 97.09% na trening setu pokazuje da model pravilno klasificira gotovo 97% primjera. Ovo je visoka točnost i ukazuje na to da je model vrlo učinkovit u predviđanju na trening podacima.
- Val_loss (Gubitak na validacijskom setu) – 0.1091: Gubitak na validacijskom setu je nešto veći u usporedbi s trening setom, što je normalno jer model nije izravno treniran na validacijskom setu. Vrijednost od 0.1091 još uvijek predstavlja dobar rezultat, ali veći gubitak na validaciji može ukazivati na početne znakove overfittinga (prekomjernog prilagođavanja).
- Val_binary_accuracy (Binarna točnost na validacijskom setu) – 0.9642: Točnost od 96.42% na validacijskom setu je vrlo bliska točnosti na trening setu, što je pozitivan znak da model dobro generalizira na nove, neviđene podatke. Ova visoka točnost na validaciji potvrđuje pouzdanost modela u praktičnim primjenama.
Model pokazuje izvrsne performanse kako na treningu tako i na validaciji, s visokom točnošću i niskim gubitcima. Razlika između trening i validacijskih metrika nije velika, što je dobar znak da model nije prekomjerno prilagođen na trening podacima. Takav model bi bio pouzdan u stvarnim aplikacijama, pretpostavljajući da distribucija trening i validacijskog seta odgovara stvarnoj distribuciji podataka s kojima će model raditi.
Rezultati po pojedinim kategorijama:
Kategorija | Precision | Recall | F1-Score | Uzoraka |
---|---|---|---|---|
Pristranost | 0.80 | 0.45 | 0.57 | 1050 |
Mamac | 0.89 | 0.78 | 0.83 | 1310 |
Zavjera | 0.73 | 0.38 | 0.50 | 920 |
Lažna vijest | 0.91 | 0.80 | 0.85 | 1090 |
Mržnja | 0.84 | 0.72 | 0.77 | 1100 |
Pseudoznanost | 0.72 | 0.45 | 0.55 | 510 |
Politika | 0.67 | 0.48 | 0.56 | 1030 |
Pouzdano | 1.00 | 0.94 | 0.97 | 1000 |
Glasina | 0.95 | 0.69 | 0.80 | 750 |
Satira | 0.77 | 0.63 | 0.69 | 950 |
Nepoznato | 1.00 | 0.72 | 0.84 | 1060 |
Nepouzdano | 0.99 | 0.88 | 0.93 | 840 |
Micro avg | 0.87 | 0.67 | 0.76 | 11610 |
Macro avg | 0.85 | 0.66 | 0.74 | 11610 |
Weighted avg | 0.86 | 0.67 | 0.75 | 11610 |
Samples avg | 0.67 | 0.67 | 0.67 | 11610 |
Rezultati validacije NBSVM modela za klasifikaciju tekstova u različite kategorije, kao što su pristranost, mamac, zavjera, i druge, mogu se razmatrati kroz nekoliko ključnih mjera: preciznost (precision), opoziv (recall), F1 ocjena (f1-score) i podrška (support). Evo detaljnijeg pregleda rezultata po kategorijama:
Analiza Po Kategorijama
- Pristranost
- Preciznost: 0.80 – Model točno identificira 80% stvarnih slučajeva pristranosti.
- Opoziv: 0.45 – Od svih stvarnih slučajeva pristranosti, model ih je identificirao samo 45%.
- F1 Ocjena: 0.57 – Srednja vrijednost preciznosti i opoziva za pristranost nije visoka, što ukazuje na to da model možda nije najbolje prilagođen za prepoznavanje ove kategorije.
- Mamac
- Preciznost: 0.89
- Opoziv: 0.78
- F1 Ocjena: 0.83 – Model je relativno dobro prilagođen za detekciju mamaca s visokim vrijednostima u sve tri metrike.
- Zavjera
- Preciznost: 0.73
- Opoziv: 0.38
- F1 Ocjena: 0.50 – Model slabo prepoznaje zavjere, što može biti zbog nedostatka reprezentativnih primjera u trening setu.
- Lažna Vijest
- Preciznost: 0.91
- Opoziv: 0.80
- F1 Ocjena: 0.85 – Model efikasno prepoznaje lažne vijesti s visokom točnošću i opozivom.
- Pseudoznanost
- Preciznost: 0.72
- Opoziv: 0.45
- F1 Ocjena: 0.55 – Slično kao i za zavjeru, model pokazuje slabije rezultate u kategoriji pseudoznanosti.
- Pouzdano
- Preciznost: 1.00
- Opoziv: 0.94
- F1 Ocjena: 0.97 – Model izvrsno prepoznaje pouzdane izvore, s gotovo savršenom preciznošću i vrlo visokim opozivom.
Globalni Pregled
- Micro Avg: 0.87 (Preciznost), 0.67 (Opoziv), 0.76 (F1 Ocjena) – Ove vrijednosti ukazuju na to da model generalno dobro prepoznaje ispravne kategorije kada je procijenjen kao jedinstvena grupa.
- Macro Avg: 0.85 (Preciznost), 0.66 (Opoziv), 0.74 (F1 Ocjena) – Prosječne vrijednosti pokazuju dobru ravnotežu između različitih kategorija, ali također sugeriraju prostor za poboljšanje u nekim specifičnim kategorijama.
- Weighted Avg: 0.86 (Preciznost), 0.67 (Opoziv), 0.75 (F1 Ocjena) – Ove ponderirane prosječne vrijednosti uzimaju u obzir podršku (broj primjera) za svaku kategoriju, dajući realniji pogled na ukupnu učinkovitost modela.
Iako model pokazuje solidne ukupne performanse, rezultati po kategorijama otkrivaju varijabilnost u efikasnosti modela. Posebno, kategorije kao što su zavjera i pseudoznanost zahtijevaju dodatne pristup.
ROC-AUC rezultat od 0.956844 za model umjetne inteligencije predstavlja visoku učinkovitost modela u klasifikaciji između pozitivnih i negativnih klasa. Evo detaljnije objašnjenje što ovaj rezultat znači:
ROC-AUC
ROC (Receiver Operating Characteristic) krivulja je graf koji prikazuje performanse klasifikacijskog modela na svim pragovima klasifikacije. Ova krivulja prikazuje odnos između stope pravih pozitivnih rezultata (True Positive Rate, TPR) i stope lažnih pozitivnih rezultata (False Positive Rate, FPR) pri različitim pragovima.
AUC (Area Under the Curve) je mjera koja izračunava ukupnu sposobnost modela da razlikuje između klasa. Vrijednost AUC može biti između 0 i 1, gdje 1 predstavlja savršen model koji savršeno razlikuje klase, a 0.5 model koji klasifikacije vrši nasumično.
Interpretacija ROC-AUC rezultata od 0.956844
Rezultat AUC od 0.956844 ukazuje na vrlo visoku sposobnost modela da točno klasificira pozitivne i negativne primjere. To znači da model s velikom sigurnošću može odrediti pripadnost primjera pozitivnoj ili negativnoj klasi, što je posebno korisno u aplikacijama gdje su posljedice pogrešne klasifikacije velike (npr. medicinske dijagnoze, financijska predviđanja).
ROC-AUC rezultat od 0.956844 predstavlja izuzetno dobru performansu modela, pokazujući da je model pouzdan u razlikovanju između klasa. Ovakav visok rezultat je pokazatelj kvalitete modela, što ga čini prikladnim za upotrebu u različitim primjenama gdje je točnost od kritične važnosti. U kontekstu razvoja i validacije modela, ovakav rezultat može služiti kao poticaj za daljnje širenje upotrebe modela, ali i za provođenje dodatnih testiranja kako bi se osigurala njegova robustnost i pouzdanost u stvarnim uvjetima.