Oglas

Možda ste ranije čuli pojam „Markov lanac“, ali osim ako niste proveli nekoliko predavanja iz teorije vjerojatnosti ili algoritmi informatike Kako naučiti programiranje bez ikakvog stresaMožda ste se odlučili baviti programiranjem, bilo radi karijere ili samo kao hobi. Sjajno! Ali možda se počinjete osjećati preplavljeno. Nije tako sjajno. Evo pomoći da vam olakša putovanje. Čitaj više , vjerojatno ne znate što su, kako rade i zašto su toliko važni.

Pojam Markov lanac je koncept "ispod haube", što znači da ne morate stvarno znati što su oni kako biste imali koristi od njih. Ipak, svakako možete imati koristi od razumijevanja načina na koji rade. Oni su jednostavni, ali korisni na tako mnogo načina.

Dakle, ovdje je tečaj rušenja - sve što trebate znati o Markovim lancima sažetim u jedinstveni, probavljivi članak. Ako želite produbiti još dublje, pokušajte tečaj besplatne teorije informacija na Akademiji Khan (a također razmislite i o drugim web mjestima tečaja 8 najboljih web stranica za besplatne tečajeve na mreži

instagram viewer
Zainteresirani za pristup besplatnim tečajevima na razini visokog učilišta? Evo nekoliko najboljih web mjesta za besplatne online tečajeve. Čitaj više ).

Markov lanci 101

Recimo da želite predvidjeti kakvo će vrijeme biti sutra. Istinito predviđanje - vrsta koju obavljaju stručni meteorolozi 7 najboljih besplatnih vremenskih aplikacija za AndroidOve će vam besplatne vremenske aplikacije pomoći da uvijek budete iznad vremena s Android uređajem. Čitaj više - uključivalo bi stotine, pa čak i tisuće različitih varijabli koje se stalno mijenjaju. Vremenske sustave nevjerojatno su složeni i nemoguće je modelirati, barem za laike poput vas i mene. Ali problem možemo pojednostaviti pomoću procjena vjerojatnosti.

Zamislite da ste imali pristup vremenskim podacima od trideset godina. Krenite na početku, primjećujući da je prvi dan bio sunčan. Nastavite, primjećujući da je i 2. dan bio sunčan, ali 3. dan oblačan, a zatim 4. dan kišovito, što je 5. dana dovelo grmljavinu, a 6. dana sunčano i vedro nebo.

U idealnom slučaju bilo bi detaljnije, opredijelili biste se za analizu iz sata u sat umjesto analize svakodnevnog, ali ovo je samo primjer za ilustraciju koncepta, pa imajte me na umu!

To radite tijekom čitavog skupa podataka od 30 godina (što bi bilo sramno 11.000 dana) i izračunavate vjerojatnost kakvog će biti sutrašnje sutra na osnovu današnjeg vremena. Na primjer, ako je danas sunčano, onda:

  • 50-postotna vjerojatnost da će sutra ponovo biti sunčano.
  • 30-postotna vjerojatnost da će sutra biti oblačno.
  • 20 posto šanse da sutra bude kišno.

Sada ponovite ovo za svako moguće vremensko stanje. Ako je danas oblačno, kakve su šanse da će sutra biti sunčano, kišno, maglovito, grmljavinsko nevrijeme, tuča, tornada itd.? Vrlo brzo imate čitav sustav vjerojatnosti koji možete upotrijebiti za predviđanje ne samo sutrašnje, već sutrašnjeg i sljedećeg dana.

Prijelazne države

To je suština markovskog lanca. Imate pojedinačna stanja (u ovom slučaju vremenske uvjete) u kojima svaka država može prijeći u drugu stanja (npr. sunčani dani mogu prijeći u oblačne dane) i ti prijelazi se temelje na vjerojatnostima. Ako želite predvidjeti kakvo bi moglo biti vrijeme u jednom tjednu, možete istražiti različite vjerojatnosti u sljedećih sedam dana i vidjeti koje su najvjerojatnije. Dakle, Markov „lanac“.

Tko je Markov? Bio je ruski matematičar koji je došao do čitave ideje o jednoj državi koja vodi izravno u drugu državu na temelju određene vjerojatnosti, gdje niti jedan drugi faktor ne utječe na prijelaznu šansu. U osnovi je izumio lanac Markov, otuda i ime.

Kako se lakovi Markov koriste u stvarnom svijetu

Obzirom na objašnjenje, istražimo neke stvarne aplikacije gdje nam dobro dolaze. Možda ćete se iznenaditi kad saznate da ste sve ovo vrijeme koristili Markove lance, a da toga niste znali!

Generacija imena

Jeste li ikad sudjelovali u stolnim igrama, MMORPG igrama ili čak pisanju fikcije? Možda ste se mučili zbog imenovanja svojih znakova (barem u jednom ili drugom trenutku) - a kad vam se samo nije moglo sjetiti imena koje vam se sviđa, vjerojatno pribjegava on-line generatoru imena Stvorite novi pseudonim s najboljim mrežnim generatorima imena [čudan i divan web]Ime ti je dosadno. Srećom, možete krenuti putem interneta i odabrati novi pseudonim koristeći jedan od bezbroj generatora imena koji su dostupni na Internetzu. Čitaj više .

Jeste li se ikad zapitali kako funkcioniraju ti generatori imena? Kako se ispostavilo, mnogi od njih koriste Markove lance, što ga čini jednim od najčešće korištenih rješenja. (Postoje i drugi algoritmi koji su jednako učinkoviti, naravno!)

Sve što trebate je zbirka pisama u kojima svako slovo ima popis mogućih naknadnih pisama s vjerojatnostima. Tako, na primjer, slovo "M" ima 60 posto šanse da dovede do slova "A" i 40 posto šanse da dovede do slova "I". Učinite to za hrpu drugih slova, a zatim pokrenite algoritam. Boom, imaš ime koje ima smisla! (Uglavnom, svejedno.)

Google PageRank

Jedna od zanimljivih implikacija Markovske lančane teorije je da kako se duljina lanca povećava (tj. Broj prijelaza stanja povećava se), vjerojatnost da ćete sletjeti u određeno stanje svodi se na fiksni broj, a ta vjerojatnost nije ovisna o mjestu na kojem započinjete sustav.

To je izuzetno zanimljivo kada čitav svijet širom svijeta razmišljate kao Markov sustav u kojem je svaka web stranica stanje, a veze između web stranica su prijelazi s vjerojatnostima. Ovaj teorem u osnovi to govori bez obzira na kojoj web stranici pokrenete, vaša šansa za slijetanje na određenu web stranicu X je fiksna vjerojatnost, pod pretpostavkom da je „dugo vremena“ surfanja.

Markov-lanca Primjer-Google-pagerank
Kreditna slika: 345Kai via Wikimedia

I to je osnova kako Google rangira web stranice. Zapravo je algoritam PageRank modificirani (čitaj: napredniji) oblik algoritma Markov lanac.

Što je veća „fiksna vjerojatnost“ dolaska na određenu web stranicu, veći je njezin PageRank. To je zato što veća fiksna vjerojatnost podrazumijeva da web stranica ima puno dolaznih veza s kojih druge web stranice - a Google pretpostavlja da ako web stranica ima puno dolaznih veza, onda to mora biti vrijedna. Što više dolaznih veza, to je vrjednije.

Svakako je složenije od toga, ali ima smisla. Zašto web lokacija poput About.com ima veći prioritet na stranicama rezultata pretraživanja? Jer ispada da korisnici teže dolaze tamo dok surfaju webom. Zanimljivo, zar ne?

Upisivanje predviđanja riječi

Mobilni telefoni već desetljećima predviđaju prediktivno tipkanje, ali možete li pogoditi kako su ta predviđanja napravljena? Bilo da koristite Android (alternativne mogućnosti tipkovnice Koja je najbolja alternativna tipkovnica za Android?Pogledamo neke od najboljih tipkovnica u Trgovini Play i stavljamo ih na testiranje. Čitaj više ) ili iOS (alternativne mogućnosti tipkovnice 10 najboljih iPhone aplikacija za tipkovnice: fantastični fontovi, teme, GIF-ovi i još mnogo togaUmorni ste od zadane tipkovnice iPhonea? Ove alternativne aplikacije za tipkovnicu iPhone nude GIF-ove, teme, pretraživanje i još mnogo toga. Čitaj više ), postoji dobra šansa da vaša odabrana aplikacija koristi Markove lance.

Zbog toga se aplikacije na tipkovnici pitaju mogu li prikupljati podatke o vašim navikama tipkanja. Na primjer, na Google tipkovnici postoji postavka koja se zove Dijelite isječke koji traži "dijeljenje isječaka onoga što i kako upisujete u Googleove aplikacije da biste poboljšali Google tipkovnicu". U osnovi su vaše riječi analizirane i uključene u vjerojatnost lančanog lanca Markov aplikacije.

To je razlog zašto aplikacije za tipkovnicu često sadrže tri ili više opcija, obično redoslijedom kojih je najmanje vjerojatno. Ne može se znati što ste namjeravali upisati sljedeće, ali ispravno je češće nego ne.

Subreddit simulacija

Ako nikada niste koristili Reddit, preporučujemo vam da barem pogledate ovaj fascinantni eksperiment nazvan /r/SubredditSimulator.

Jednostavno rečeno, Subreddit Simulator uzima ogroman komad SVIH komentara i naslova objavljenih u brojnim zajednicama Reddita, a zatim analizira tekst po riječ svake riječi. Koristeći ove podatke, on generira vjerojatnost od riječi do riječi - zatim koristi te vjerojatnosti da bi generirali naslove i komentare ispočetka.

Markov-lanca Primjer-subreddit-simulator

Jedan zanimljiv sloj ovog eksperimenta je da komentari i naslovi kategoriziraju zajednica iz koje su podaci došli, pa vrste komentara i naslova generirani pomoću skupa podataka / r / food razlikuju se od komentara i naslova generiranih po / r / nogometnim podacima set.

A najsmješniji - ili možda najviše uznemirujući - dio svega toga je da se generirani komentari i naslovi često ne mogu razlikovati od onih koje stvaraju stvarni ljudi. To je apsolutno fascinantno.

Znate li kakvu drugu cool upotrebu za Markove lance? Imate li još pitanja na koja trebate odgovoriti? Javite nam u komentaru dolje!

Joel Lee ima B.S. u računalnim znanostima i preko šest godina profesionalnog pisanja. Glavni je urednik MakeUseOf-a.