Reklaam

Võib-olla olete juba varem mõistet “Markovi ahel” kuulnud, kuid kui pole mõni tund tõenäosusteooria kohta käinud või arvutiteaduse algoritmid Kuidas õppida programmeerimist ilma igasuguse stressitaVõib-olla olete otsustanud programmeerimisega tegeleda, kas karjääri või lihtsalt hobina. Tore! Kuid võib-olla olete hakanud tundma end jahmununa. Mitte nii suurepärane. Siin on abi teie reisi hõlbustamiseks. Loe rohkem , te ilmselt ei tea, mis need on, kuidas nad töötavad ja miks nad on nii olulised.

Markovi keti mõiste on „kapoti all” mõiste, mis tähendab, et te ei pea tegelikult teadma, mis need on, et neist kasu saada. Kuid kindlasti saab kasu olla sellest, kui mõistate, kuidas nad töötavad. Need on lihtsad, kuid paljudel viisidel kasulikud.

Nii et siin on kokkupõrkekursus - kõik, mida peate Markovi ahelate kohta teadma, on kokku koondatud üheks seeditavaks artikliks. Kui soovite kaevata veelgi sügavamale, proovige tasuta infoteooria kursus Khani akadeemias (ja kaaluge ka teisi veebikursuste saite

8 parimat veebisaiti tasuta kolledžikursustKas soovite pääseda juurde tasuta kolledži tasemel kursustele? Siin on mõned parimad saidid, kus tasuta veebikursusi korraldada. Loe rohkem ).

Markov Ketid 101

Oletame, et soovite ennustada, milline saab olema homne ilm. Tõeline ennustus - selline, mida teostavad asjatundlikud meteoroloogid 7 parimat tasuta ilmarakendust Androidi jaoksNeed tasuta ilmarakendused aitavad teil Android-seadmega ilmaga kursis olla. Loe rohkem - hõlmaks sadu või isegi tuhandeid erinevaid muutujaid, mis pidevalt muutuvad. Ilmasüsteemid on uskumatult keerulised ja neid on võimatu modelleerida, vähemalt selliste võhikute jaoks nagu sina ja mina. Kuid me saame probleemi lihtsustada, kasutades tõenäosushinnanguid.

Kujutage ette, et teil oli juurdepääs kolmekümne aasta ilmaandmetele. Alustad alguses, märkides, et 1. päev oli päikeseline. Jätkate käimist, märkides, et ka 2. päev oli päikeseline, kuid 3. päev oli pilvine, siis oli 4. päev vihmane, mis viis 5. päeval äikesetormi, 6. päeval aga päikeselise ja selge taevaga.

Ideaalis oleksite detailsem, kui valiksite päev-päevalt analüüsi asemel tundide kaupa analüüsi, kuid see on vaid näide selle kontseptsiooni illustreerimiseks, nii et ole koos minuga!

Teete seda kogu 30-aastase andmekogumi jooksul (mis oleks lihtsalt häbelik 11 000 päeva) ja arvutaksite tänase ilma põhjal tõenäosuse, milline saab olema homne ilm. Näiteks kui täna on päikesepaisteline, siis:

  • 50-protsendiline võimalus, et homme on jälle päikeseline.
  • 30-protsendiline võimalus, et homme on pilves.
  • 20-protsendiline võimalus, et homme on vihmasadu.

Nüüd korrake seda kõigi võimalike ilmastikuolude korral. Kui täna on pilves, siis on tõenäoline, et homme on päikesepaisteline, vihmane, udune, äikest, rahet, tornaadot jne? Üsna pea on teil olemas terve tõenäosuste süsteem, mille abil saate ennustada mitte ainult homseid, vaid ka järgmise päeva ilma ja järgmise päeva ilma.

Üleminekuriigid

See on Markovi ahela olemus. Teil on individuaalsed olekud (antud juhul ilmastikuolud), kus iga osariik võib üle minna teistesse olekutesse olekud (nt päikeselised päevad võivad muutuda pilvisteks päevadeks) ja need üleminekud põhinevad tõenäosustel. Kui soovite ennustada, milline võib ilm olla ühe nädala jooksul, saate järgmise seitsme päeva jooksul uurida mitmesuguseid tõenäosusi ja vaadata, millised on kõige tõenäolisemad. Seega Markovi “kett”.

Kes on Markov? Ta oli vene matemaatik, kes jõudis välja kogu tõenäosusega, et üks riik viib otse teise osariiki teatud tõenäosuse alusel, kus üleminekuvõimalust ei mõjuta muud tegurid. Põhimõtteliselt leiutas ta Markovi ahela, sellest ka nimetamise.

Kuidas Markovi ahelaid reaalses maailmas kasutatakse

Vaatame selguseta, uurime mõnda reaalainete rakendust seal, kus see on kasulik. Võib-olla olete üllatunud, kui olete kogu selle aja Markovi ahelaid kasutanud, seda teadmata!

Nime genereerimine

Kas olete kunagi osalenud laua-, MMORPG- või isegi ilukirjanduse kirjutamises? Võib-olla olete oma tegelaste nimetamise pärast (vähemalt ühel või teisel hetkel) tülitsenud - ja kui te ei suutnud just välja mõelda oma nime, mis teile meeldib, siis tõenäoliselt pöördunud veebipõhise nimegeneraatori poole Looge uus varjunimi parimate veebinimegeneraatoritega [imelik ja imeline veeb]Teie nimi on igav. Õnneks saate Internetis ühe loendamatute nimegeneraatorite abil Internetti minna ja valida uue varjunime. Loe rohkem .

Kas olete kunagi mõelnud, kuidas need nimegeneraatorid töötasid? Nagu selgub, kasutavad paljud neist Markovi ahelaid, muutes selle üheks enim kasutatud lahenduseks. (Seal on muidugi ka teisi sama tõhusaid algoritme!)

Kõik, mida vajate, on tähtkogu, kus igal tähel on loetelu võimalike järelkontrolli tähtedega koos tõenäosustega. Nii on näiteks M-tähel 60-protsendiline tõenäosus viia täht A-ni ja 40-protsendilisel võimalusel viia täht I-ni. Tehke seda terve hulga muude tähtede jaoks ja käivitage algoritm. Boom, sul on nimi, millel on mõtet! (Enamasti ajast ikkagi.)

Google PageRank

Markovi ahelateooria üks huvitavaid tagajärgi on see, et ahela pikkuse kasvades (s.o olekute üleminekute arv) suureneb), tõenäosus, et maandute teatud olekule, läheneb kindlale numbrile ja see tõenäosus ei sõltu sellest, kus alustate süsteemi.

See on äärmiselt huvitav, kui mõelda kogu veebile kui Markovi süsteemile, kus iga veebileht on olek ja veebilehtede lingid on tõenäosusega üleminekud. See teoreem ütleb põhimõtteliselt seda olenemata sellest, millisel veebilehel te alustate, on teie tõenäosus maanduda teatud veebilehel X - see on fikseeritud tõenäosus, eeldades surfamise “pikka aega”.

markov -kett-näide-google-PageRank
Pildikrediit: 345Kai via Wikimedia

Ja see on Google'i veebilehtede järjestamise alus. PageRanki algoritm on tõepoolest Markovi ahela algoritmi modifitseeritud (loe: keerukam) vorm.

Mida suurem on „fikseeritud tõenäosus” teatud veebilehele jõudmiseks, seda kõrgem on selle PageRank. Selle põhjuseks on asjaolu, et suurem fikseeritud tõenäosus tähendab, et veebilehel on palju sissetulevaid linke muud veebilehed - ja Google eeldab, et kui veebilehel on palju sissetulevaid linke, siis see peab olema väärtuslik. Mida rohkem saabuvaid linke, seda väärtuslikum see on.

See on muidugi keerulisem, kuid see on mõistlik. Miks saab selline sait nagu About.com, otsingutulemite lehtedel kõrgem prioriteet? Sest selgub, et kasutajad kipuvad sinna saabuma veebis surfates. Huvitav, kas pole?

Sõna ennustamise tippimine

Mobiiltelefonidel on ennustavat tippimist olnud juba aastakümneid, kuid kas te võite arvata, kuidas neid ennustusi tehakse? Kas kasutate Androidi (alternatiivsed klaviatuuri valikud Mis on Androidi jaoks parim alternatiivne klaviatuur?Vaatame mõnda parimat klaviatuuri Play poes ja paneme need proovile. Loe rohkem ) või iOS (alternatiivsed klaviatuuri valikud 10 parimat iPhone'i klaviatuurirakendust: väljamõeldud fondid, teemad, GIF-id ja palju muudIPhone'i vaikeklaviatuurilt väsinud? Need alternatiivsed iPhone'i klaviatuurirakendused pakuvad GIF-e, teemasid, otsingut ja palju muud. Loe rohkem ), on hea võimalus, et teie valitud rakendus kasutab Markovi ahelaid.

Sellepärast küsivad klaviatuurirakendused, kas nad saavad koguda andmeid teie kirjutamisharjumuste kohta. Näiteks Google'i klaviatuuris on seade nimega Jagage katkendid mis küsib “jagada Google'i rakendustesse sisselõigete lõigud, et täiustada Google'i klaviatuuri”. Sisuliselt analüüsitakse teie sõnu ja inkorporeeritakse need rakenduse Markovi ahela tõenäosuste hulka.

Sellepärast pakuvad klaviatuurirakendused sageli kolme või enamat valikut, tavaliselt kõige tõenäolisema või väikseima tõenäosusega järjekorras. See ei saa kindlalt teada, mida sa järgmisena kirjutasid, kuid see on õige enamasti kui mitte.

Subredditi simulatsioon

Kui te pole kunagi Redditit kasutanud, soovitame teil vähemalt vaadata läbi see põnev eksperiment nimega /r/SubredditSimulator.

Lihtsustatult öeldes võtab Subreddit Simulator tohutu osa kõigist kommentaaridest ja pealkirjadest, mis on tehtud Redditi arvukates kogukondades, seejärel analüüsib iga lause sõnasõnalist ülesehitust. Neid andmeid kasutades genereerib see sõnasõnalised tõenäosused - kasutab neid tulevasi tõenäosusi pealkirjade ja kommentaaride loomiseks nullist.

markov-ahel-näide-subreddit-simulaator

Selle katse üks huvitav kiht on see, et kommentaarid ja pealkirjad on liigitatud kogukonna järgi, kust andmed pärinevad, seega / r / foodi andmestikust genereeritud kommentaaride ja pealkirjade liigid erinevad metsikult nende / r / soccer andmete põhjal loodud kommentaaridest ja pealkirjadest seatud.

Ja kõige naljakam - või võib-olla kõige häirivam - osa sellest on see, et loodud kommentaarid ja pealkirjad võivad sageli olla eristamata tegelike inimeste tehtud kommentaaridest ja pealkirjadest. See on täiesti põnev.

Kas teate veel mõnda muud Markovi kettide lahedat kasutust? Kas teil on veel vastuseid vajavaid küsimusi? Andke meile allpool olevas kommentaaris teada!

Joel Lee'l on B.S. arvutiteaduses ja üle kuue aasta kestnud erialase kirjutamise kogemus. Ta on MakeUseOfi peatoimetaja.