реклама
Може да сте чували термина „верига на Марков“ и преди, но освен ако не сте взели няколко класа по теория на вероятностите или алгоритми за компютърни науки Как да научите програмиране без целия стресМоже би сте решили да се занимавате с програмиране, било то за кариера или просто като хоби. Страхотен! Но може би започвате да се чувствате претоварени. Не е толкова страхотно. Ето помощ за улесняване на пътуването ви. Прочетете още , вероятно не знаете какво представляват, как работят и защо са толкова важни.
Понятието за верига на Марков е концепция „под капака“, което означава, че всъщност не е нужно да знаете какво представляват, за да се възползвате от тях. Със сигурност обаче можете да се възползвате от разбирането как работят. Те са прости, но полезни по толкова много начини.
И така, ето крах курс - всичко, което трябва да знаете за веригите Марков, сведено в една, смилаема статия. Ако искате да се задълбочите още по-дълбоко, опитайте безплатен курс по теория на информацията в Академия Хан (
и помислете и за други сайтове за онлайн курсове 8-те най-добри сайтове за безплатни курсове в колеж онлайнИнтересувате ли се от достъп до безплатни курсове на ниво колеж? Ето някои от най-добрите сайтове, за да вземете безплатни онлайн курсове. Прочетете още ).Маркови вериги 101
Да речем, че искате да предскажете какво ще бъде времето утре. Истинско предсказание - вида, изпълнен от експертни метеоролози 7-те най-добри безплатни приложения за времето за AndroidТези безплатни приложения за времето ще ви помогнат да сте в крак с времето с вашето устройство с Android. Прочетете още - ще включва стотици или дори хиляди различни променливи, които постоянно се променят. Метеорологичните системи са невероятно сложни и невъзможни за моделиране, поне за миряни като теб и мен. Но можем да опростим проблема, като използваме оценки на вероятността.
Представете си, че имате достъп до тридесет години данни за времето. Започвате в началото, отбелязвайки, че Ден 1 беше слънчев. Продължавате, като отбелязвате, че на Ден 2 също беше слънчево, но на Ден 3 беше облачно, тогава на Ден 4 беше дъждовно, което доведе до гръмотевична буря на 5 ден, последвано от слънчево и ясно небе на 6 ден.
В идеалния случай бихте били по-подробни, избирайки всеки час по час, вместо ежедневен анализ, но това е само пример за илюстриране на концепцията, така че имайте предвид с мен!
Това правите през целия 30-годишен набор от данни (което би било просто срамежливо за 11 000 дни) и изчислявате вероятностите за това, какво ще бъде утрешното време въз основа на днешното време. Например, ако днес е слънчево, тогава:
- 50 процента вероятност утре отново да е слънчево.
- 30 процента вероятност утре да е облачно.
- 20 процента вероятност утре да бъде дъждовно.
Сега повторете това за всяко възможно метеорологично състояние. Ако днес е облачно, какви са шансовете утре да бъде слънчево, дъждовно, мъгливо, гръмотевични бури, градушки, торнадо и т.н.? Доста скоро имате цяла система от вероятности, която можете да използвате, за да предскажете не само времето утре, но и времето на следващия ден и на следващия ден.
Преходни държави
Това е същността на марковска верига. Имате отделни състояния (в този случай метеорологични условия), при които всяка държава може да премине в друга състояния (например слънчевите дни могат да преминат в облачни дни) и тези преходи се основават на вероятностите. Ако искате да предскажете какво може да бъде времето за една седмица, можете да проучите различните вероятности през следващите седем дни и да видите кои са най-вероятните. По този начин "верига" на Марков.
Кой е Марков? Той беше руски математик, който излезе с цялата идея за едно състояние, водещо директно към друго, въз основа на определена вероятност, при което никакви други фактори не влияят на преходния шанс. По принцип той изобретил веригата Марков, оттук и назоваването.
Как се използват веригите Марков в реалния свят
Тъй като обяснението не е на път, нека разгледаме някои от приложенията в реалния свят, където те са удобни. Може да се изненадате, че установявате, че сте използвали веригите Марков през цялото това време, без да знаете!
Генериране на имена
Били ли сте участвали някога в настолни игри, MMORPG игри или дори писане на белетристика? Може да сте агонизирали над назоваването на вашите герои (поне в един или друг момент) - и когато просто не можехте да помислите за име, което харесвате, вероятно прибягват до онлайн генератор на имена Създайте нов псевдоним с най-добрите онлайн генератори на имена [Weird & Wonderful Web]Вашето име е скучно. За щастие, можете да отидете онлайн и да изберете нов псевдоним, като използвате един от безброй генератори на имена, налични в Internetz. Прочетете още .
Замисляли ли сте се как работят тези генератори на имена? Както се оказва, много от тях използват вериги Марков, което го прави едно от най-използваните решения. (Има и други алгоритми, които са също толкова ефективни, разбира се!)
Всичко, от което се нуждаете, е колекция от писма, където всяка буква има списък с потенциални последващи писма с вероятности. Така например буквата „М“ има 60 процента шанс да доведе до буквата „А“ и 40 процента шанс да доведе до буквата „I“. Направете това за цял куп други букви, след което стартирайте алгоритъма. Бум, имаш име, което има смисъл! (Повечето време, така или иначе.)
Google PageRank
Едно от интересните последици от теорията на веригата на Марков е, че с увеличаването на дължината на веригата (т.е. броят на преходите на състоянието се увеличава), вероятността да кацнете в определено състояние се сближава на фиксирано число и тази вероятност не зависи от мястото, в което започвате системата.
Това е изключително интересно, когато мислите за цялата световна мрежа като за система Марков, където всяка уеб страница е състояние, а връзките между уеб страниците са преходи с вероятности. Тази теорема основно казва това без значение от коя уеб страница стартирате, шансът ви да кацнете на определена уеб страница X е фиксирана вероятност, ако предположите „дълго време“ да сърфирате.
И това е основата на това как Google класира уеб страниците. Всъщност алгоритъмът PageRank е модифицирана (четена: по-напреднала) форма на верижния алгоритъм на Марков.
Колкото по-висока е „фиксираната вероятност“ за пристигане на определена уеб страница, толкова по-висока е нейната PageRank. Това е така, защото по-висока фиксирана вероятност предполага, че уеб страницата има много входящи връзки от други уеб страници - и Google приема, че ако уеб страница има много входящи връзки, това трябва да бъде ценно. Колкото повече входящи връзки, толкова по-ценни са.
Разбира се, по-сложно е, но има смисъл. Защо сайт като About.com получава по-висок приоритет на страниците с резултати от търсенето? Защото се оказва, че потребителите са склонни да пристигат там, докато сърфират в интернет. Интересно, нали?
Въвеждане на прогнози за думи
Мобилните телефони имат предсказуемо писане от десетилетия, но можете ли да познаете как се правят тези прогнози? Независимо дали използвате Android (алтернативни опции за клавиатура Коя е най-добрата алтернативна клавиатура за Android?Разглеждаме някои от най-добрите клавиатури в Play Store и ги подлагаме на тест. Прочетете още ) или iOS (алтернативни опции за клавиатура 10-те най-добри iPhone приложения за клавиатура: фантастични шрифтове, теми, GIF файлове и другиУморени от стандартната клавиатура за iPhone? Тези алтернативни приложения за клавиатура на iPhone предлагат GIF файлове, теми, търсене и други. Прочетете още ), има голям шанс вашето приложение за избор да използва вериги Марков.
Ето защо приложенията за клавиатура питат дали могат да събират данни за вашите навици за писане. Например в клавиатурата на Google има настройка, наречена Споделете фрагменти който изисква да „споделите фрагменти от това какво и как въвеждате в приложенията на Google, за да подобрите клавиатурата на Google“. По същество вашите думи са анализирани и включени в вероятностите на веригата на Марков на приложението.
Ето защо приложенията за клавиатура често представят три или повече опции, обикновено в най-вероятния до най-малко вероятния вариант. Не може да знае със сигурност какво искахте да напишете следващо, но по-често е правилно.
Subreddit симулация
Ако никога не сте използвали Reddit, препоръчваме ви поне да проверите този завладяващ експеримент, наречен /r/SubredditSimulator.
Най-просто казано, Subreddit Simulator взема огромна част от ВСИЧКИ коментари и заглавия, направени в многобройните общности на Reddit, след което анализира словото по дума на всяко изречение. Използвайки тези данни, той генерира вероятности от дума на дума - след това използва тези вероятности, за да дойде генериране на заглавия и коментари от нулата.
Един интересен слой на този експеримент е, че коментарите и заглавията са категоризирани от общността, от която са дошли данните, така че видове коментари и заглавия, генерирани от набора от данни на / r / food, се различават по различен начин от коментарите и заглавията, генерирани от / r / футболните данни комплект.
И най-смешната - или може би най-смущаващата част от всичко това е, че генерираните коментари и заглавия често могат да бъдат неразличими от тези, направени от реални хора. Това е абсолютно завладяващо
Знаете ли за други готини приложения за вериги Марков? Имате ли въпроси, които все още се нуждаят от отговор? Уведомете ни в коментар по-долу!
Джоел Лий има B.S. в областта на компютърните науки и над шест години професионален опит в писането. Той е главен редактор на MakeUseOf.