Conceptul lanțurilor Markov explicat [cu exemplu]

Publicat: 2020-12-18

Cuprins

Introducere

Lanțurile Markov sunt destul de comune, intuitive și au fost folosite în mai multe domenii, cum ar fi automatizarea creării de conținut, generarea de text, modelarea financiară, sistemele de control al vitezei de croazieră etc. Celebrul brand Google folosește lanțul Markov în algoritmul lor de clasare a paginilor pentru a determina ordinea de căutare. .

Lanțurile Markov sunt relativ simple și nu necesită niciun concept matematic sau cunoștințe avansate de statistică pentru implementare. Dacă ai o bună înțelegere a lanțurilor Markov, atunci devine mai ușor să înveți tehnici de modelare probabilistică și știința datelor.

Acest articol vă va oferi o înțelegere profundă a ce sunt lanțurile Markov și cum funcționează, cu ajutorul exemplelor.

Ce este un lanț Markov?

Un lanț Markov este un model matematic care oferă probabilități sau predicții pentru următoarea stare, bazate exclusiv pe starea anterioară a evenimentului. Predicțiile generate de lanțul Markov sunt la fel de bune pe cât ar fi făcute prin observarea întregii istorii a acelui scenariu.

Este un model care experimentează tranziția de la o stare la alta pe baza unor condiții de probabilitate. O caracteristică care definește lanțul Markov este că indiferent de modul în care este atinsă starea actuală, stările viitoare sunt fixe. Rezultatul posibil al următoarei stări depinde exclusiv de starea curentă și de timpul dintre stări.

Citiți: Lanțul Markov în Tutorial Python

Conceptul de lanț Markov cu exemple

Să presupunem că doriți să preziceți condițiile meteo pentru mâine. Dar știți deja că ar putea exista doar două stări posibile pentru vreme, adică noros și însorit. Cum veți prezice vremea a doua zi folosind lanțurile Markov?

Ei bine, veți începe să observați starea vremii actuale și ar putea fi fie însorit, fie înnorat. Să presupunem că azi este soare. Condiția climatică trece întotdeauna prin mai multe tranziții. Veți aduna date meteo din ultimii ani și veți calcula că șansele de a obține o zi înnorată după o zi însorită sunt de 0,35.

De asemenea, ați observat că șansele de a obține o zi însorită după o zi însorită sunt de 0,65. Această distribuție vă va ajuta să preziceți că și ziua următoare va fi însorită. Asa te ajuta starea meteo actuala in prezicerea starii viitoare si poti aplica aceeasi logica pentru a prezice conditiile meteo pentru zilele urmatoare.

Exemplul de mai sus ilustrează proprietatea lui Markov că lanțul Markov este lipsit de memorie. Condițiile meteo din ziua următoare nu depind de pașii care au condus la starea vremii din ziua curentă. Distribuția probabilității se ajunge numai prin experimentarea tranziției de la ziua curentă la ziua următoare.

Un alt exemplu al lanțului Markov este obiceiurile alimentare ale unei persoane care mănâncă numai fructe, legume sau carne. Obiceiurile alimentare sunt guvernate de următoarele reguli:

  • Persoana mănâncă o singură dată pe zi.
  • Dacă o persoană a mâncat fructe astăzi, mâine va mânca legume sau carne cu aceeași probabilitate.
  • Dacă a mâncat azi legume, atunci mâine va mânca legume cu o probabilitate de 1/10, fructe cu o probabilitate de 1/40 și carne cu o probabilitate de 1/50.
  • Dacă azi a mâncat carne, atunci mâine va mânca legume cu o probabilitate de 4/10, fructe cu o probabilitate de 6/10. Nu va mai mânca carne mâine.

Puteți modela cu ușurință obiceiurile sale alimentare folosind lanțuri Markov, deoarece alegerea acestuia pentru a doua zi depinde numai de ceea ce a mâncat astăzi, indiferent de ceea ce a mâncat ieri sau cu o zi înainte.

Citește și: Introducere în lanțurile Markov

Matricea de tranziție a lanțului Markov

Până acum, am văzut cum putem prezice probabilitatea de a trece de la o stare la alta. Dar ce zici de găsirea distribuției de probabilitate a tranzițiilor care au loc în mai mulți pași. Puteți afla distribuția probabilității tranzițiilor pe mai mulți pași folosind matricea de tranziție în lanț Markov.

Matricea de tranziție în lanț Markov nu este altceva decât distribuția probabilității tranzițiilor de la o stare la alta. Se numește matrice de tranziție deoarece afișează tranzițiile între diferite stări posibile.

Probabilitatea asociată fiecărei stări se numește distribuția de probabilitate a acelei stări. Este cel mai important instrument care este utilizat în analiza lanțului Markov. De exemplu, dacă există N număr de stări posibile, atunci matricea de tranziție (P) ar fi după cum urmează

P = matricea N x N

Unde o intrare dintr-un rând (I, J) reprezintă probabilitatea de a trece de la starea I la starea J. Fiecare rând al matricei de tranziție P ar trebui să fie însumată la 1.

Pentru a reprezenta un lanț Markov, veți avea nevoie și de un vector de stare inițială care descrie începutul la fiecare dintre cele N stări posibile. Puteți reprezenta vectorul de stare inițială (X) ca

X = N x 1 matrice

Să presupunem că doriți să aflați probabilitatea trecerii de la starea I la starea J pe mai mulți pași M. Ați dat trei stări posibile, adică piața taur, piața urs și piața stagnantă.

În exemplul de mai sus, prima coloană a matricei de tranziție indică starea pieței bull, a doua piață ursară, iar a treia indică piața stagnantă. Rândurile corespund, de asemenea, într-un mod similar.

În matricea de tranziție, probabilitatea de tranziție este calculată prin ridicarea P la puterea numărului de pași (M). Pentru o tranziție în 3 pași, puteți determina probabilitatea ridicând P la 3.

Înmulțind matricea P3 de mai sus, puteți calcula distribuția probabilității de tranziție de la o stare la alta.

Concluzie

Deoarece ați înțeles cum funcționează lanțul Markov, le puteți implementa cu ușurință în orice declarație de problemă, fie pentru a ajunge la o soluție, fie pentru a automatiza. Lanțurile Markov sunt foarte puternice și oferă o bază pentru alte tehnici de modelare mai avansate.

Înțelegerea lanțului Markov vă poate conduce să obțineți cunoștințe mai profunde în mai multe tehnici, cum ar fi modelarea scurtă și eșantionarea.

Dacă sunteți curios să aflați despre python, știința datelor, consultați Diploma PG în știința datelor de la IIIT-B și upGrad, care este creată pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie, 1-la-1 cu mentori din industrie, peste 400 de ore de învățare și asistență profesională cu firme de top.

Există cazuri de utilizare interesante în viața reală pentru lanțul Markov?

Da, există o mulțime de cazuri de utilizare interesante în viața reală a lanțurilor Markov, de la crearea de text până la modelarea financiară. Majoritatea generatoarelor de text folosesc rețelele Markov. Sistemul în lanț este utilizat pe scară largă pentru a genera texte false, articole supradimensionate și pentru a compila discursuri. Generatoarele de nume pe care le vedem de obicei pe internet folosesc și lanțul Markov. O altă aplicație binecunoscută a lanțurilor Markov este prezicerea cuvintelor viitoare. De asemenea, sunt utile pentru completarea automată și recomandări. Google PageRank și Subreddit Simulator sunt exemple proeminente, care folosesc lanțuri Markov pentru a automatiza producția de material pentru un întreg subreddit.

Este lanțul Markov critic în timp ce învățați Data Science?

Chiar dacă lanțurile Markov nu sunt obligatorii pentru studenții în știința datelor, ele pot oferi o abordare excelentă pentru învățarea tehnicilor de modelare probabilistică și știința datelor. Lanțurile Markov sunt teoretic rezonabil de simple și pot fi implementate fără a fi nevoie de idei statistice sau matematice complexe. Cea mai proeminentă aplicație a științei datelor este realizarea de predicții, iar oamenii de știință din date folosesc probabilitatea condiționată a lanțurilor Markov pentru a face aceste predicții. Este numit după caracteristica fără memorie a Proceselor Stochastice, care spune că distribuția stărilor viitoare ale oricărui proces este determinată doar de starea curentă a acelor procese.

Cum ajută lanțul Markov în algoritmul PageRank de la Google?

Algoritmul PageRank de la Google este un algoritm de clasare bazat pe linkuri bine-cunoscut. În loc să evalueze paginile pe baza conținutului lor, Page rank le clasifică pe baza structurii lor interconectate. Examinând pur și simplu starea prezentă, Lanțul Markov poate ajuta la anticiparea comportamentului unui sistem în tranziție de la o stare la alta.

Atunci când un utilizator introduce o interogare într-un motor de căutare, algoritmul PageRank identifică site-urile de pe web care se potrivesc cu cuvântul de interogare și arată acele pagini utilizatorului în ordinea PageRank-ului, folosind rețeaua Markov. Algoritmul PageRank determină semnificația unui site web numai pe baza structurii link-urilor web, mai degrabă decât a conținutului paginii.