Hvad er Markov-kæder? 5 Nifty Real World-brug

  • Michael Cain
  • 0
  • 3264
  • 576
Reklame

Du har muligvis hørt ordet “Markov kæde” før, men medmindre du har taget et par klasser om sandsynlighedsteori eller computervidenskabelige algoritmer. Sådan lærer du programmering uden al stress Sådan lærer du programmering uden al stress. Måske har du besluttet at fortsætte programmering, hvad enten det drejer sig om en karriere eller bare som en hobby. Store! Men måske begynder du at blive overvældet. Ikke så stor. Her er hjælp til at lette din rejse. , ved du sandsynligvis ikke, hvad de er, hvordan de fungerer, og hvorfor de er så vigtige.

Forestillingen om en Markov-kæde er en “under kølerhjelmen” koncept, hvilket betyder, at du ikke rigtig har brug for at vide, hvad de er for at drage fordel af dem. Du kan dog helt sikkert drage fordel af at forstå, hvordan de fungerer. De er enkle, men alligevel nyttige på så mange måder.

Så her er et crashkursus - alt hvad du har brug for at vide om Markov-kæder kondenseret til en enkelt, fordøjelig artikel. Hvis du vil undersøge endnu dybere, kan du prøve det gratis informationsteori-kursus på Khan Academy (og overveje også andre online kursissider. De 8 bedste websteder til gratis college-kurser online. De 8 bedste websteder for gratis college-kurser online Interesseret i at få adgang til gratis college-niveau kurser? Her er nogle af de bedste steder at tage gratis onlinekurser.).

Markov kæder 101

Lad os sige, at du vil forudsige, hvordan vejret bliver i morgen. En ægte forudsigelse - den type, der er udført af ekspert meteorologer. De 7 bedste gratis vejr-apps til Android De 7 bedste gratis vejr-apps til Android Disse gratis vejr-apps hjælper dig med at blive på toppen af ​​vejret med din Android-enhed. - vil involvere hundreder eller endda tusinder af forskellige variabler, der konstant ændrer sig. Vejrsystemer er utroligt komplekse og umulige at modellere, i det mindste for lægfolk som dig og mig. Men vi kan forenkle problemet ved hjælp af sandsynlighedsestimater.

Forestil dig, at du havde adgang til tredive års vejrdata. Du starter i begyndelsen, og bemærk, at dag 1 var solrig. Du fortsætter med at bemærke, at dag 2 også var solrig, men dag 3 var overskyet, så var dag 4 regnfuld, hvilket førte ind i tordenvejr på dag 5 efterfulgt af solrige og klare himmel på dag 6.

Ideelt set ville du være mere granulær og vælge en time-for-time-analyse i stedet for en dag-til-dag-analyse, men dette er bare et eksempel for at illustrere konceptet, så hold med mig!

Du gør dette over hele det 30-årige datasæt (som ville være genert for 11.000 dage) og beregne sandsynligheden for, hvordan morgendagens vejr vil være, baseret på dagens vejr. For eksempel, hvis i dag er solskin, så:

  • 50 procent chance for, at i morgen bliver solskin igen.
  • En 30 procent chance for, at i morgen bliver overskyet.
  • En chance på 20 procent for, at i morgen bliver regnfuld.

Gentag dette nu for alle mulige vejrforhold. Hvis der i dag er overskyet, hvad er chancerne for, at i morgen er solrig, regnfuldt, tåget, tordenvejr, haglstormer, tornadoer osv.? Temmelig snart har du et helt system af sandsynligheder, som du kan bruge til at forudsige ikke kun morgendagens vejr, men den næste dags vejr og den næste dag.

Overgangsstater

Dette er essensen af ​​en Markov-kæde. Du har individuelle tilstande (i dette tilfælde vejrforhold), hvor hver stat kan skifte til andre tilstande (f.eks. Solskinsdage kan overgå til overskyede dage), og disse overgange er baseret på sandsynligheder. Hvis du vil forudsige, hvordan vejret kan være i løbet af en uge, kan du udforske de forskellige sandsynligheder i løbet af de næste syv dage og se, hvilke der er mest sandsynlige. Således en Markov “lænke”.

Hvem er Markov? Han var en russisk matematiker, der kom med hele ideen om en stat, der direkte fører til en anden stat baseret på en vis sandsynlighed, hvor ingen andre faktorer påvirker overgangschancen. Grundlæggende opfandt han Markov-kæden, deraf navngivningen.

Sådan bruges Markov-kæder i den virkelige verden

Lad os udforske nogle af de virkelige verdensapplikationer, hvor de kommer godt med, med forklaringen ude af vejen. Du kan blive overrasket over at opdage, at du har brugt Markov-kæder hele denne tid uden at vide det!

Navngenerering

Har du nogensinde deltaget i bordpladsspil, MMORPG-spil eller endda fiktionskrivning? Du har måske været irriteret over navngivningen af ​​dine karakterer (i det mindste på et eller andet tidspunkt) - og når du bare ikke kunne synes at tænke på et navn, du kan lide, brugte du sandsynligvis en online navnegenerator Opret et nyt alias med Bedste online navnegeneratorer [Mærkelig & vidunderlig web] Opret et nyt alias med de bedste online navnegeneratorer [Mærkeligt og vidunderligt web] Dit navn er kedeligt. Heldigvis kan du gå online og vælge et nyt alias ved hjælp af en af ​​de utallige navnegeneratorer, der er tilgængelige på Internetz. .

Har du nogensinde spekuleret på, hvordan disse navne-generatorer fungerede? Det viser sig, at mange af dem bruger Markov-kæder, hvilket gør det til en af ​​de mest anvendte løsninger. (Der er andre algoritmer derude, der er lige så effektive, selvfølgelig!)

Alt hvad du behøver er en samling bogstaver, hvor hvert bogstav har en liste over potentielle opfølgende bogstaver med sandsynligheder. Så for eksempel brevet “M” har en 60 procent chance for at føre til brevet “EN” og 40 procent chance for at føre til brevet “jeg”. Gør dette for en hel masse andre bogstaver, og kør derefter algoritmen. Boom, du har et navn, der giver mening! (Det meste af tiden alligevel.)

Google PageRank

En af de interessante implikationer af Markov-kædeteori er, at når længden af ​​kæden øges (dvs. antallet af tilstandsovergange øges), sandsynligheden for, at du lander i en bestemt tilstand, konvergerer på et fast antal, og denne sandsynlighed er uafhængig af du starter i systemet.

Dette er ekstremt interessant, når du tænker på hele verdensweben som et Markov-system, hvor hver webside er en tilstand, og forbindelserne mellem websider er overgange med sandsynligheder. Denne sætning siger grundlæggende det uanset hvilken webside du begynder på, er din chance for at lande på en bestemt webside X en fast sandsynlighed, hvis du antager en “lang tid” af surfing.

Billedkredit: 345Kai via Wikimedia

Og dette er grundlaget for, hvordan Google rangerer websider. Faktisk er PageRank-algoritmen en modificeret (læst: mere avanceret) form af Markov-kæde-algoritmen.

Jo højere “fast sandsynlighed” at ankomme til en bestemt webside, jo højere er dens PageRank. Dette skyldes, at en højere fast sandsynlighed indebærer, at websiden har en masse indgående links fra andre websider - og Google antager, at hvis en webside har en masse indkommende links, så skal det være værdifuldt. Jo flere indgående links, jo mere værdifuld er det.

Det er selvfølgelig mere kompliceret end det, men det giver mening. Hvorfor får et websted som About.com højere prioritet på søgeresultatsider? Fordi det viser sig, at brugere har en tendens til at ankomme der, når de surfer på nettet. Interessant, er det ikke?

Indtastning af ordforudsigelse

Mobiltelefoner har haft forudsigelig indtastning i årtier nu, men kan du gætte, hvordan disse forudsigelser er lavet? Uanset om du bruger Android (alternative tastaturindstillinger Hvad er det bedste alternative tastatur til Android? Hvad er det bedste alternative tastatur til Android? Vi tager et kig på nogle af de bedste tastaturer i Play Store og sætter dem på prøve.) eller iOS (alternative tastaturindstillinger 9 Alternative iOS-tastaturer for at gøre din skrivning lettere eller sjovere 9 Alternative iOS-tastaturer for at gøre din skrivning lettere eller mere sjov når Apple omsider stoppede med at fungere som en overbeskyttende forælder og introducerede tredjeparts tastaturer, gik alle sammen med tastatur- skør.), der er en god chance for, at din app, du vælger, bruger Markov-kæder.

Dette er grunden til, at tastaturapps spørger, om de kan indsamle data om dine skrivevaner. I Google Keyboard findes der for eksempel en indstilling, der kaldes Del uddrag det beder om “del uddrag om, hvad og hvordan du skriver i Google-apps for at forbedre Google Keyboard”. I det væsentlige analyseres og integreres dine ord i appens Markov-kædesandsynligheder.

Det er også grunden til, at tastaturapps ofte præsenterer tre eller flere indstillinger, typisk i rækkefølge af mest sandsynligt til mindst sandsynligt. Det kan ikke vide med sikkerhed, hvad du ville skrive næste gang, men det er korrekt oftere end ikke.

Subreddit-simulering

Hvis du aldrig har brugt Reddit, opfordrer vi dig til i det mindste at tjekke dette fascinerende eksperiment kaldet / r / SubredditSimulator.

Kort sagt, Subreddit Simulator indtager en massiv del af ALLE kommentarer og titler, der er lavet på tværs af Reddit's mange samfund, og analyserer derefter ord-for-ord-sammensætning af hver sætning. Ved hjælp af disse data genererer det ord-til-ord-sandsynligheder - bruger derefter disse sandsynligheder til at komme generere titler og kommentarer fra bunden.

Et interessant lag til dette eksperiment er, at kommentarer og titler er kategoriseret efter det samfund, som dataene kom fra, så de slags kommentarer og titler, der genereres af / r / food's datasæt, er meget forskellige fra de kommentarer, og titlerne genererer af / r / fodbolds datasæt.

Og den sjoveste - eller måske den mest foruroligende - del af alt dette er, at de genererede kommentarer og titler ofte kan skelnes fra dem, der er fremsat af faktiske mennesker. Det er absolut fascinerende.

Kender du til andre seje anvendelser til Markov-kæder? Har du spørgsmål, der stadig skal besvares? Fortæl os det i en kommentar nedenunder!




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.