Matek érettségi

Bayes-tétel érthetően: mit árul el egy spamszűrő jelzése az e-mailről?

Egy 95%-os felismerési arányból még nem következik, hogy a jelzett levél 95% eséllyel spam. Tízezer képzeletbeli levélen mutatjuk meg az alaparány és a téves jelzések szerepét.

Dajka Gábor5 perc olvasás

Egy képzeletbeli spamszűrő a kéretlen levelek 95%-át felismeri, a rendes levelek 5%-át pedig tévesen megjelöli. Ha egy üzenet a spam mappába kerül, mekkora eséllyel valóban kéretlen? A válaszhoz még egy adat szükséges: milyen arányban érkeznek eleve spamüzenetek az adott postafiókba.

A Bayes-kalkulátor ezt a három adatot kapcsolja össze. A cikk összes levélszáma és szűrési aránya kitalált, szemléltető érték. Egyetlen levelezőrendszer tényleges teljesítményét sem minősítik. Az eljárás arra tanít, hogyan olvass helyesen egy felismerési arányt, és milyen nevezőt használj a saját kérdésedhez.

Két eseményt nevezz meg egyértelműen

Legyen A az az esemény, hogy az üzenet valóban spam. Legyen B az, hogy a szűrő megjelöli. A P(B|A) jelölés azt kérdezi: a tényleges spamek között mekkora a megjelöltek aránya? A P(A|B) ezzel szemben a megjelölt levelek között keresi a valóban kéretleneket.

A két kérdésben a vizsgált csoport különbözik. Az elsőnél az összes valódi spam a nevező; a másodiknál az összes jelzett levél. A jelölésben a függőleges vonal utáni esemény a feltétel: abból indulunk ki, hogy az már teljesül.

Az Amszterdami Egyetem feltételes valószínűségről szóló jegyzete a Bayes-összefüggést a közös esemény valószínűségéből vezeti le. A képlet használata előtt a betűk jelentését érdemes teljes mondatban leírnod.

Tízezer levéllel minden nevező látható

Tegyük fel, hogy 10 000 levél 10%-a spam. Ez 1000 kéretlen és 9000 rendes üzenet. A 95%-os felismerés miatt a szűrő az 1000 spamből 950-et megjelöl, 50-et átenged. Az 5%-os téves jelzés a 9000 rendes levél közül 450-et érint; 8550 helyesen jelöletlen marad.

A megjelölt levelek összes száma 950 + 450 = 1400. Közülük 950 valódi spam, tehát a keresett arány 950 / 1400 = 0,678571…, körülbelül 67,86%. A 95%-os felismerési arányból a teljes beérkező állomány összetétele és a téves jelzések miatt ez az eredmény következik.

A négy csoporttal ellenőrizheted az összesítést:

  • Valódi spam, megjelölve: 950 levél.
  • Valódi spam, jelzés nélkül: 50 levél.
  • Rendes üzenet, tévesen megjelölve: 450 levél.
  • Rendes üzenet, helyesen jelzés nélkül: 8550 levél.

A számok összege 10 000. A sorokból az 1000 spam és 9000 rendes levél is visszaállítható, így a számítás kétféleképpen ellenőrizhető.

A Bayes-képlet ugyanez arányokkal

A képlet ebben a kétcsoportos esetben:

P(A|B) = P(B|A) × P(A) / [P(B|A) × P(A) + P(B|nem A) × P(nem A)].

A példában P(A) = 0,10; P(B|A) = 0,95; P(B|nem A) = 0,05. A számláló 0,095, a nevező 0,095 + 0,045 = 0,14. A hányados ismét 0,678571… A nevező az összes jelzés aránya, vagyis a 14%-os megjelölési gyakoriság.

A valószínűségi szorzási szabály OpenStax-leírása az események közös arányának kiszámításához ad hátteret. A feltételes szorzatok itt két, egymást kizáró úton vezetnek jelzéshez: valódi spamből vagy rendes levél téves megjelöléséből.

A kalkulátorba 0 és 1 közötti arányokat kell írnod. A 10% bemenete 0,1, az 5%-é 0,05. A szemléltető sokaságot állítsd 10 000-re, így a táblázat darabszámai pontosan a fenti példát követik.

Mi változik, ha ritkább a spam?

Tartsuk meg a 95%-os felismerést és az 5%-os téves jelzést, de a beérkező spamek aránya legyen 1%. Tízezer levélben ekkor 100 spam és 9900 rendes üzenet van. A szűrő 95 valódi spamet és 495 rendes levelet jelöl meg.

A keresett arány 95 / (95 + 495) = 95 / 590 = 16,1017…%. Ugyanazok a feltételes szűrési arányok jóval alacsonyabb találati arányt adnak a jelzettek között, mert a rendes levelek sokkal nagyobb csoportot alkotnak.

A másik irány is kiszámolható. Ha a beérkező levelek fele spam, akkor 4750 valódi spam és 250 rendes levél kap jelzést; a jelzettek 95%-a valódi spam. Az alaparány módosítása önmagában megváltoztatja az eredményt. Ezért egy másik postafiók tesztjét csak a vizsgált levelek összetételének ismeretében érdemes átvenni.

Felismerés, találati arány és teljes pontosság

Az első példában a felismerési arány 950 / 1000 = 95%. A jelzettek közötti helyes találatok aránya 950 / 1400 ≈ 67,86%. Az összes helyes döntés aránya pedig (950 + 8550) / 10 000 = 95%. Ezek különböző mutatók, még akkor is, ha két érték történetesen egybeesik.

A Google osztályozási mutatókról szóló dokumentációja a recall, precision és accuracy fogalmát külön kezeli. Magyar szövegben a „pontosság” szó többféle fordításban megjelenhet, ezért a mutató neve mellé mindig írd oda a számlálót és a nevezőt.

Ha a spamek aránya csupán 1%, a minden levelet rendesnek minősítő rendszer 99%-os teljes helyességi arányt érne el, miközben egyetlen spamet sem fogna meg. Ez az egyszerű ellenpélda megmutatja, miért kevés önmagában egy magas összesített százalék egy szűrő értékeléséhez.

Mit jelent a jelzés hiánya?

Az első, 10%-os alaparányú példában 50 spam és 8550 rendes levél maradt jelöletlen. A jelöletlenek között a spam aránya 50 / 8600 = 0,581395…%. Ez más feltételes kérdés, mint a megjelölt levelek elemzése.

A kalkulátorral ezt úgy is ellenőrizheted, hogy B-t a jelzés hiányaként definiálod. Ekkor a valódi spamhez tartozó feltételes arány 0,05, a rendes levélhez tartozó 0,95. A betűk új jelentését minden ilyen átállításnál jegyezd fel, hogy az eredményt később is helyesen olvasd.

A jelzés hiánya nem bizonyítja egy konkrét üzenet biztonságosságát. A példa kizárólag egy pontosan meghatározott spamkategóriával számol; az adathalászat, a mellékletek vagy más kockázatok megítéléséhez külön szempontok szükségesek.

Saját adatokkal hogyan lesz használható a modell?

Olyan ellenőrzött mintára van szükséged, amelyben az üzenetek valódi besorolása és a szűrő döntése is ismert. A téves jelzési arány nevezője az összes rendes üzenet. Ha csak a spam mappába tett leveleket ellenőrzöd, abból ezt az arányt közvetlenül nem tudod kiszámítani.

A százalékkalkulátor a megfigyelt darabszámok aránnyá alakításában segít. A statisztikai kalkulátor további, megfelelő feltételek mellett használható valószínűségi számításokat ad. A Bayes-eszköz a beírt arányokból számol; azok bizonytalanságát és időbeli változását nem becsüli automatikusan.

Két egymást követő jelzést se kezelj automatikusan független bizonyítékként. Ha két szűrő ugyanazt a szabálylistát használja, hibáik együtt jelentkezhetnek. A saját jelentésedben rögzítsd az alaparányt, a két feltételes mutatót és a vizsgált időszakot. Így az eredményhez tartozó feltételek is megmaradnak, és egy későbbi változást pontosan tudsz értelmezni.

További cikkek

Kapcsolódó olvasnivalók

Gyorskereső

Kalkulátorok és útmutatók keresése

↑↓ választásEnter megnyitásEsc bezárás