Publicitate
Poate că ați auzit termenul „lanțul Markov” înainte, dar dacă nu ați luat câteva clase despre teoria probabilității sau algoritmi de informatică Cum să înveți programarea fără toată stresulPoate că ai decis să urmărești programarea, fie pentru o carieră, fie doar pentru un hobby. Grozav! Dar poate că începi să te simți copleșit. Nu prea grozav. Iată ajutor pentru a vă ușura călătoria. Citeste mai mult , probabil că nu știți ce sunt, cum funcționează și de ce sunt atât de importante.
Noțiunea de lanț Markov este un concept „sub capotă”, ceea ce înseamnă că nu trebuie să știți cu adevărat ce sunt pentru a beneficia de ele. Cu toate acestea, cu siguranță puteți beneficia de înțelegerea modului de funcționare. Sunt simple, dar utile în atât de multe moduri.
Iată un curs de avarie - tot ce trebuie să știți despre lanțurile Markov condensate într-un singur articol digerabil. Dacă doriți să vă delimitați și mai profund, încercați curs gratuit de teorie a informației pe Academia Khan (
și ia în considerare și alte site-uri de cursuri online Cele 8 cele mai bune site-uri pentru cursuri gratuite de colegiu onlineVrei să accesezi cursuri gratuite la nivel de facultate? Iată câteva dintre cele mai bune site-uri pentru a lua cursuri online gratuite. Citeste mai mult ).Lanțurile Markov 101
Să zicem că vrei să prezici cum va fi vremea mâine. O adevărată predicție - genul efectuat de meteorologii experți Cele mai bune 7 aplicații meteo gratuite pentru AndroidAceste aplicații meteo gratuite vă vor ajuta să rămâneți la curent cu dispozitivul Android. Citeste mai mult - ar implica sute, sau chiar mii, de diferite variabile care sunt în continuă schimbare. Sistemele meteo sunt incredibil de complexe și imposibil de modelat, cel puțin pentru laici ca și mine. Dar putem simplifica problema folosind estimări de probabilitate.
Imaginează-ți că ai avut acces la treizeci de ani de date meteorologice. Începi de la început, observând că ziua 1 a fost însorită. Continuați, observând că ziua 2 a fost și soare, dar ziua a 3-a a fost înnorată, apoi ziua 4 a fost ploioasă, ceea ce a dus la furtună în ziua a 5-a, urmată de cer senin și senin în ziua 6.
În mod ideal, ați fi mai granular, optați pentru o analiză oră cu oră în loc de o analiză de zi cu zi, dar acesta este doar un exemplu pentru a ilustra conceptul, așa că purtați-mă cu mine!
Faceți acest lucru pe întregul set de date de 30 de ani (care ar fi doar timid de 11.000 de zile) și calculați probabilitățile cum va fi vremea de mâine în funcție de vremea de astăzi. De exemplu, dacă astăzi este însorit, atunci:
- O șansă de 50 la sută ca mâine să fie din nou însorită.
- O șansă de 30 la sută ca mâine să fie tulbure.
- Șanse de 20 la sută ca mâine să fie ploios.
Acum repetați acest lucru pentru fiecare condiție meteorologică posibilă. Dacă astăzi este înnorat, care sunt șansele ca mâine să fie însorit, ploios, cețos, furtuni, furtuni de grindină, tornade, etc.? Destul de curând, aveți un întreg sistem de probabilități pe care îl puteți utiliza pentru a prezice nu numai vremea de mâine, dar vremea de a doua zi și a doua zi.
Statele de tranziție
Aceasta este esența unui lanț Markov. Aveți stări individuale (în acest caz, condiții meteorologice) în care fiecare stare poate trece în alta statele (de exemplu, zile însorite pot trece în zile înnorate), iar tranzițiile se bazează pe probabilități. Dacă doriți să prezice cum va fi vremea într-o săptămână, puteți explora diferitele probabilități în următoarele șapte zile și puteți vedea care sunt cele mai probabile. Astfel, un „lanț” Markov.
Cine este Markov? El a fost un matematician rus care a venit cu întreaga idee a unui stat care duce direct la un alt stat bazat pe o anumită probabilitate, unde niciun alt factor nu influențează șansa de tranziție. Practic, el a inventat lanțul Markov, de unde și denumirea.
Cum sunt utilizate lanțurile Markov în lumea reală
Cu explicația din drum, să explorăm unele dintre aplicațiile din lumea reală unde vin la îndemână. S-ar putea să fiți surprinși să aflați că ați folosit lanțurile Markov în tot acest timp fără să știți!
Numele generației
Ați participat vreodată la jocuri pe tablă, jocuri MMORPG sau chiar scris la ficțiune? S-ar putea să fii agonizat asupra numirii personajelor tale (cel puțin la un moment sau altul) - și atunci când pur și simplu nu ți s-a părut să crezi un nume care îți place, probabil a apelat la un generator de nume online Creați un nou alias cu cei mai buni generatori de nume online [Web ciudat și minunat]Numele tău este plictisitor. Din fericire, puteți merge online și alege un nou alias folosind unul dintre nenumăratele generatoare de nume disponibile pe Internetz. Citeste mai mult .
V-ați întrebat vreodată cum au funcționat acele generatoare de nume? După cum se dovedește, multe dintre ele folosesc lanțuri Markov, ceea ce îl face una dintre cele mai utilizate soluții. (Există alți algoritmi care sunt la fel de eficienți, desigur!)
Tot ce ai nevoie este o colecție de scrisori în care fiecare literă are o listă de potențiale scrisori de urmărire cu probabilități. Astfel, de exemplu, litera „M” are șanse de 60% să ducă la litera „A” și o șansă de 40% să ducă la litera „I”. Faceți acest lucru pentru o mulțime de alte scrisori, apoi rulați algoritmul. Boom, ai un nume care are sens! (De cele mai multe ori, oricum.)
Google PageRank
Una dintre implicațiile interesante ale teoriei lanțului Markov este că pe măsură ce lungimea lanțului crește (adică numărul tranzițiilor de stat crește), probabilitatea de a ateriza pe un anumit stat converg într-un număr fix, iar această probabilitate este independentă de locul în care începeți sistemul.
Acest lucru este extrem de interesant atunci când vă gândiți la întregul web mondial ca la un sistem Markov unde fiecare pagină web este o stare, iar legăturile dintre paginile web sunt tranziții cu probabilități. Această teoremă spune practic că indiferent de pagina web pe care o porniți, șansa dvs. de a ateriza pe o anumită pagină web X este o probabilitate fixă, presupunând un „timp îndelungat” de navigare.
Și aceasta este baza modului în care Google clasează paginile web. Într-adevăr, algoritmul PageRank este o formă modificată (citiți: mai avansat) a algoritmului lanțului Markov.
Cu cât este mai mare „probabilitatea fixă” de a ajunge la o anumită pagină web, cu atât PageRank este mai mare. Acest lucru se datorează faptului că o probabilitate fixă mai mare implică faptul că pagina web are multe link-uri primite alte pagini web - și Google presupune că, dacă o pagină web are o mulțime de legături primite, trebuie să fie valoros. Cu cât sunt mai multe legături primite, cu atât este mai valoroasă.
Este mai complicat decât asta, desigur, dar are sens. De ce un site ca About.com are prioritate mai mare în paginile cu rezultatele căutării? Pentru că se dovedește că utilizatorii tind să ajungă acolo pe măsură ce navighează pe internet. Interesant, nu-i așa?
Tastați predicția de cuvinte
Telefoanele mobile au tipografie predictivă de zeci de ani acum, dar puteți ghici cum se fac acele predicții? Indiferent dacă utilizați Android (opțiuni alternative de tastatură Care este cea mai bună tastatură alternativă pentru Android?Aruncăm o privire la unele dintre cele mai bune tastaturi din Play Store și le punem la încercare. Citeste mai mult ) sau iOS (opțiuni alternative de tastatură Cele mai bune 10 aplicații pentru tastatură pentru iPhone: fonturi fantastice, teme, GIF-uri și multe alteleEști obosit de tastatura iPhone implicită? Aceste aplicații alternative de tastatură pentru iPhone oferă GIF-uri, teme, căutare și multe altele. Citeste mai mult ), există șanse mari ca aplicația la alegere să utilizeze lanțuri Markov.
Acesta este motivul pentru care aplicațiile cu tastatură întreabă dacă pot colecta date cu privire la obiceiurile dvs. de tastare. De exemplu, în Google Keyboard, există o setare numită Partajează fragmente care solicită să „partajați fragmente despre ce și cum tastați în aplicațiile Google pentru a îmbunătăți Tastatura Google”. În esență, cuvintele tale sunt analizate și încorporate în probabilitatea lanțului Markov a aplicației.
Acesta este și motivul pentru care aplicațiile de tastatură prezintă adesea trei sau mai multe opțiuni, de obicei în ordinea celor mai probabile până la cele mai puțin probabile. Nu poate ști cu siguranță ce anume ați intenționat să tastați, dar este corect mai des decât nu.
Simulare subreddit
Dacă nu ați folosit niciodată Reddit, vă recomandăm să consultați cel puțin acest fascinant experiment numit /r/SubredditSimulator.
Mai simplu spus, Subreddit Simulator ia o mulțime de TOATE comentariile și titlurile făcute în numeroasele comunități ale Reddit, apoi analizează machiajul cuvânt cu cuvânt al fiecărei propoziții. Folosind aceste date, generează probabilități de la cuvânt la cuvânt - apoi folosește acele probabilități pentru a genera titluri și comentarii de la zero.
Un strat interesant pentru acest experiment este că comentariile și titlurile sunt clasificate de comunitatea din care au provenit datele, deci tipurile de comentarii și titluri generate de setul de date de / r / food sunt în mod diferit de comentariile și titlurile generate de datele / r / fotbalului a stabilit.
Și cea mai amuzantă - sau poate cea mai deranjantă - o parte din toate acestea este că comentariile și titlurile generate pot fi deseori distincte de cele făcute de oamenii efectivi. Este absolut fascinant.
Cunoașteți alte utilizări interesante pentru lanțurile Markov? Aveți întrebări care mai trebuie să răspundeți? Spuneți-ne într-un comentariu mai jos!
Joel Lee are un B.S. în informatică și peste șase ani de experiență profesională în scriere. Este redactor șef pentru MakeUseOf.