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ábor9 perc olvasásFrissítve: 2026-10-17

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 feltételes arányhoz a nevezőnek pozitívnak kell lennie. Ha a beírt modellben egyáltalán nem fordul elő jelzés, a megjelölt levelek közötti spamarány ezzel a képlettel nem értelmezhető. Ez nem 0%-os találati arány: hiányzik az a csoport, amelyen belül arányt szeretnénk számolni.

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.

Mekkora téves jelzési arány fér bele a 90%-os találati célba?

Maradjon a ritkább, 1%-os spamalaparány és a 95%-os felismerés. Most azt szeretnéd, hogy a megjelölt levelek legalább 90%-a valódi spam legyen. Mennyire kell ehhez visszaszorulnia a rendes levelek téves megjelölésének?

Százezer beérkező levélből a modell szerint 1000 spam és 99 000 rendes. A szűrő 950 spamet jelöl meg. Jelölje f a rendes leveleken belüli téves jelzési arányt; a tévesen megjelöltek várható száma ekkor 99 000 × f.

A célfeltétel 950 / (950 + 99 000 × f) ≥ 0,90. Pozitív nevezővel átrendezve:

950 ≥ 855 + 89 100 × f,

ezért f ≤ 95 / 89 100 ≈ 0,00106622, azaz legfeljebb körülbelül 0,1066%.

A példában tehát a korábbi 5%-os téves jelzés túl nagy ehhez a célhoz. Egy elképzelt, 0,1%-os téves jelzési arányú változatnál 99 000 × 0,001 = 99 rendes levél kapna jelzést. A valódi spamek aránya a jelzetteken belül 950 / (950 + 99) ≈ 90,56% lenne.

A kalkulátorban ehhez az előzetes arány 0,01, a P(B|A) érték 0,95, a P(B|nem A) érték 0,001, a szemléltető sokaság 100 000. A 0,1% tizedes alakja 0,001; a 0,1 bemenet tíz százalékot jelentene.

A visszaszámolás végig változatlan 95%-os felismerést feltételezett. Egy valódi szűrő beállításának szigorítása a felismerést is módosíthatja. A Google osztályozási útmutatója is tárgyalja ezt a kapcsolatot, ezért az új tévesjelzési adat mellé új felismerési adat is kell.

A ritka téves jelzés méréséhez megfelelő számú, ellenőrzötten rendes üzenetet kell vizsgálni. A nevező és a mintanagyság szerepét az aránybecslésről és hibahatárról szóló cikk dolgozza ki. Egy kis mintában talált nulla téves jelzést ne írj át automatikusan valódi nulla hibaarányra.

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 jelzés mennyivel erősebb egyetlen jelzésnél?

A 10%-os alaparányú példában egy jelzés után 67,86% a valódi spam aránya. Ha egy második rendszer minden üzenetnél pontosan ugyanazt a döntést másolja, a két jelzés együttes eseménye ugyanaz, mint az első jelzés. Az arány ezért változatlanul 67,86%.

Másik saját modellben két, azonos 95%-os felismerésű és 5%-os téves jelzésű szűrőt feltételezünk. Most külön kikötjük, hogy a jelzések a valódi spameken belül és a rendes leveleken belül is függetlenek. Ekkor a kettős jelzés aránya spameknél 0,95² = 0,9025, rendes leveleknél 0,05² = 0,0025. A Bayes-képletbe ezek a közös feltételes arányok kerülnek:

0,10 × 0,9025 / (0,10 × 0,9025 + 0,90 × 0,0025) ≈ 97,57%.

A 97,57% kizárólag a második modell eredménye. Két azonos hibát megismétlő szűrőre alkalmazva a képlet hamisan erősítené meg a következtetést. Két rendszer nevéből vagy eltérő gyártójából sem következik a feltételes függetlenség; ezt megfelelő, közösen értékelt mintával kell vizsgálni. Ha a közös arányokat közvetlenül megmérted, azokat használhatod a kettős jelzés eseményéhez, szorzás nélkül.

A saját jelentésedben az alaparány, a feltételes mutatók és az időszak mellett a két jelzés kapcsolatát is rögzítsd.

Záró tudáspróba

Kérdésenként egy választ jelölj meg, majd a megoldások alapján pontozd magad. Ez a három kérdés a cikkben bemutatott összefüggéseket ellenőrzi.

1. A szűrő a spam 95%-át jelzi, a jó levelek 5%-át tévesen jelzi. Megadható ebből önmagában, hogy egy jelzett levél mekkora eséllyel spam?

  • A) Nem; az alapsokaság spamaránya is szükséges.
  • B) Igen, biztosan 5%.
  • C) Igen, biztosan 95%.

2. 1% spam és 95% felismerés mellett legalább 90%-os jelzésenkénti találati arány kell. Legfeljebb körülbelül mekkora lehet a jó levelek téves jelzési aránya?

  • A) 5%.
  • B) 10%.
  • C) 0,1066%.

3. A második ellenőrző ugyanazt az első jelzést másolja. Szabad a két jelzés valószínűségeit feltételes függetlenséget feltételezve összeszorozni?

  • A) Igen, két jelzés mindig független.
  • B) Igen, ha ugyanabban a másodpercben érkeznek.
  • C) Nem; a másolat nem ad külön bizonyítékot.

Megoldások és pontozás

1. A. A jelzések közt valódi és téves találatok vannak. Arányukat a spam és a jó levél előzetes gyakorisága is befolyásolja. Ismétléshez: Mi változik, ha ritkább a spam?.

2. C. 100 000 levélből 950 a valódi jelzés. A 90%-os célhoz legfeljebb 950/9 ≈ 105,56 téves jelzés fér bele a 99 000 jó levélből, ami 0,1066%. Ismétléshez: Mekkora téves jelzési arány fér bele a 90%-os találati célba?.

3. C. A két jelzés szorzásához a spam és a jó levél csoportján belül is megfelelő feltételes függetlenség kell. Az azonos jelzés másolata ezt nem teljesíti. Ismétléshez: Két jelzés mennyivel erősebb egyetlen jelzésnél?.

Minden helyes válasz 1 pont; a hibás vagy kihagyott válasz 0 pont. Az összpontszám 0–3 lehet.

  • 0 pont: dolgozd végig újra a három megoldásban megjelölt részt, és írd le a példák kiinduló feltételeit.
  • 1 pont: a két elhibázott kérdésnél vezesd le a helyes választ; külön írd mellé, melyik feltétel vagy számolási lépés maradt ki.
  • 2 pont: térj vissza az egyetlen elhibázott kérdéshez kapcsolt részhez, majd egy bemenet megváltoztatásával ellenőrizd újra az eredményt.
  • 3 pont: a három összefüggést ebben a feladatsorban helyesen alkalmaztad. Próbáld ki a cikk egyik ellenőrzését saját adatokkal, a feltételeket és a mértékegységeket is feljegyezve.
További cikkek

Kapcsolódó olvasnivalók

Gyorskereső

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

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