Bayesovská logika a filtry proti spamu

Matematika |

Bayesovská logika představuje formu statistické analýzy, která kvantifikuje neurčitý vstup stanovením pravděpodobnosti jeho výskytu, a to s použitím předem známých souvisejících informací. Bayesovské filtry se používají v programech proti spamu, protože se dokáží postupně přizpůsobovat situaci a využívat nové informace.




Bayesovská logika představuje formu statistické analýzy, která kvantifikuje neurčitý vstup stanovením pravděpodobnosti jeho výskytu, a to s použitím předem známých souvisejících informací. Bayesovské filtry se používají v programech proti spamu, protože se dokáží postupně přizpůsobovat situaci a využívat nové informace.

Říká se, že když něco nemůžete změřit, nedá se mluvit o vědě. Bayesovská logika nabízí způsob, jak kvantifikovat věci, které byly dříve neměřitelné, umožňuje testovat hypotézy a předpovědi, čímž dokáže zlepšovat naše úsudky a rozhodnutí.
Jednoduchá pravděpodobnost se spočítá snadno, protože pracujete s konečným počtem faktorů a možností. Představme si koňský dostih, na kterém startuje 10 koní. Pokud to je jediná informace, kterou máme a na které musíme založit svou sázku, pak můžeme tipovat kteréhokoliv koně a víme, že jeho šance na výhru je jedna ku deseti, neboli 0,1. Zkuste se podle takové matematiky chovat a brzy vám zbude prázdná peněženka. Skutečný svět je daleko složitější, a tady přichází na řadu bayesovská logika. Těch 10 koní už ve skutečnosti aspoň několikrát závodilo, a proto má každý svou minulost. Jestliže kůň Lightning zvítězil v každém závodě, v němž startoval, a Thunder zase vždy prohrál, pak máme skutečný prokazatelný důvod, proč sázet na Lightninga a nesázet na Thundera.
Ve skutečnosti míváme k dispozici o každém koni v dostihu daleko více informací. Víme nebo můžeme snadno zjistit následující věci:
– Rodová linie: Je tento kůň potomkem nějakého šampiona? Jak si vedou jeho bratři a sestry?
– Výkonnost v různých povětrnostních podmínkách: Pokud ráno pršelo a stopa je mokrá, ovlivní to jeho rychlost?
– Pozice na dráze: Je náš kůň hned vedle mantinelu nebo běží po vnějším obvodu? A jak se koni tato pozice zamlouvá?
– Doba od posledního dostihu: Pokud kůň běžel včera dlouhý náročný dostih, jak asi poběží dnes?
– Délka dnešního dostihu: Jak si kůň vedl na stejně dlouhé trati v minulosti?
V úvahu bychom měli vzít i tipy ostatních sázejících. Ty sice neovlivní výkon našeho koně, ale mají přímý vliv na velikost vyplacených sázek, pokud kůň vyhraje. Všechny tyto informace nám pomohou učinit lepší odhad šancí našeho koně na vítězství, než prostá znalost poměru 1 ku 10. Analýzu podobných faktorů, které byly zmíněny výše, provádí bayesovská logika. A v praxi se s její aplikací lze setkat leckde. Například v baseballové lize, což je obor, ze kterého existují četné statistické záznamy. Majitelé klubů a hlavní manažeři používají bayesovskou analýzu při studiu výkonů hráčů za různých podmínek a v konkrétních situacích a poté tyto informace zohledňují při svém rozhodování o hráčích, které chtějí pro svůj klub.

Obrana proti spamu

Bayesovská logika nachází své uplatnění i přímo v oblasti informačních technologií. Například v boji s nevyžádanou poštou.
První aplikace bayesovské logiky na problémy spamu byly odstartovány textem Paula Grahama Plán pro spam (A Plan for Spam http://www.paulgraham.com/spam.html) z roku 2002 a zde popsaný přístup
brzy přejala řada vývojářů. Bayesovská filtrace spamu je založena na skutečnosti, že spam je indikován výskytem určitých slov, zatímco jiná slova svědčí o tom, že zpráva je v pořádku. Má to souvislost s ostatními typy filtrů založených na obsahovém skóre, ale navíc je tu výhoda, že bayesovské filtry si vytvářejí vlastní seznamy klíčových slov a charakteristik a nemusejí pracovat se seznamy ručně sestavenými.
Bayesovský filtr začíná pracovat tak, že zkontroluje jeden soubor e-mailů, o nichž víme, že jsou spamem, a druhý soubor, o němž víme, že je to normální pošta (jde o předem známou skutečnost). Porovná obsah obou souborů dat nejen tělo zprávy, ale také informace v hlavičce a metadata, dvojice slov i fráze, a dokonce i kód HTML. Na základě takového vyhodnocení získá mimo jiné databázi slov nebo hesel, s jejichž pomocí bude moci v budoucnu účinně identifikovat elektronickou poštu a rozpoznat, jestli to je či není spam.
Bayesovské filtry berou v úvahu celkový kontext zprávy. Mnoho spamu například obsahuje slovo free v řádce pro předmět zprávy, ale stejně tak toto slovo obsahuje i mnoho normálních zpráv. Bayesovský filtr toto slovo zaregistruje, ale podívá se na další hesla ve zprávě, protože pokud by chybně identifikoval normální zprávu jako spam (chyba označovaná jako false positive), způsobil by víc problémů, než kdyby mu nějaký spam proklouzl jako platná zpráva.
Příznivci uvedené metody uvádějí, že bayesovský filtr chybuje při identifikaci v méně než 1 % případů, kdy zprávu označí jako spam, ačkoliv je v pořádku.
Skutečná síla bayesovského filtrování spamu ale spočívá ve schopnosti učení jakmile mu uživatel předloží novou zprávu označenou jako spam nebo korektní e-mail, filtr zaktualizuje svou databázi a identifikuje nové vzory spamu.

Bayes a jeho teorém

Reverend Thomas Bayes (1702-1761), anglický duchovní, je znám jako autor díla An Essay Towards Solving a Problem in the Doctrine of Chances (Esej o řešení problému v doktríně o možnostech). Dílo bylo publikováno posmrtně roku 1763 a obsahovalo to, co dnes nazýváme Bayesův teorém- vzorec pro odhad pravděpodobnosti, že se nějaká událost stane za předpokladu znalosti pravděpodobností souvisejících, avšak nezávislých, událostí. Používáme zde pojem událost, ale můžeme jím rozumět i stanovení pravdivosti výroku nebo předpokladu, jako například zda je určitá zpráva spamem. Než se dostaneme k rovnici, domluvme se na určité notaci podle zvyklostí zažitých ve statistice. Výraz p(A) znamená pravděpodobnost, že nastane jev A. Řekneme-li, že p(A/B), myslíme tím pravděpodobnost, že jev A nastane za předpokladu, že nastal jev B. S použitím této notace zapíšeme Bayesův teorém: p(A/B) = [ p(B/A) p(A) ] / p(B) Bayesovská analýza tedy spočívá ve výpočtech, které využívají předchozí znalosti apriorní informace.
Chcete-li daleko důkladnější vysvětlení, přečtěte si tutoriál Eliezera Yudkovského, který vám poskytne srozumitelné, postupné a podrobné intuitivní vysvětlení bayesovského uvažování: Bayesův teorém pro zvídavé a tápající nesmírně ohleduplný výklad (naleznete jej na webové adrese http://yudkowsky.net/bayes/bayes.html). Je to dlouhé – budete si na to muset sednout aspoň na půl hodiny, ale buďte trpěliví. Až skončíte, budete bayesovským záležitostem dobře rozumět.

Tento článek vyšel v Computerworldu 16/2005.








Související články




Komentáře

27.07.2014, 11:19

.... thank you....

Napsat vlastní komentář

Pro přidání příspěvku do diskuze se prosím přihlašte v pravém horním rohu, nebo se prosím nejprve registrujte.