你可能聽過“馬爾可夫鏈”這個詞,但除非你上過幾門概率論或計算機科學算法的課,否則你可能不知道它們是什麼,它們是如何工作的,以及它們為什麼如此重要。
馬爾可夫鏈的概念是一個“隱藏”的概念,這意味著你不需要知道它們是什麼才能從中受益。不過,瞭解它們的工作原理肯定會讓您受益匪淺。它們很簡單,但在很多方面都很有用。
所以這裡有一個速成課程——你需要知道的關於馬爾可夫鏈的一切都濃縮成一篇簡單易懂的文章。如果你想更深入的研究,可以嘗試可汗學院的免費信息理論課程(也可以考慮其他在線課程網站)。
假設你想預測明天的天氣。一個真正的預測——專家氣象學家所做的那種預測——將涉及數百個,甚至數千個不斷變化的不同變量。天氣系統極其複雜,無法建模,至少對你我這樣的外行來說是如此。但是我們可以用概率估計來簡化這個問題。
想象一下你有30年的氣象數據。你從頭開始,注意到第一天是晴天。你繼續,注意到第2天也是晴天,但第3天是多雲的,然後第4天是下雨的,第5天是雷雨,第6天是晴天和晴朗的天空。
理想情況下,你會更精細,選擇一小時一小時的分析,而不是一天一天的分析,但這只是一個例子來說明這個概念,所以請容忍我!
你在整個30年的數據集上做這個(這將僅僅是11000天)並且根據今天的天氣來計算明天天氣的概率。例如,如果今天是晴天,那麼:
現在對所有可能的天氣條件重複這個步驟。如果今天多雲,明天晴、雨、霧、雷、雹、龍捲風等的可能性有多大?很快,你就有了一個完整的概率系統,不僅可以用來預測明天的天氣,還可以預測第二天的天氣和第二天的天氣。
這就是馬爾可夫鏈的本質。您有單獨的狀態(在本例中為天氣條件),其中每個狀態可以轉換為其他狀態(例如,晴天可以轉換為陰天),並且這些轉換基於概率。如果你想預測一週內的天氣情況,你可以研究未來七天的各種可能性,看看哪些可能性最大。因此,一個馬爾可夫“鏈”。
馬爾科夫是誰?他是一位俄羅斯數學家,他提出了一個國家根據一定的概率直接通向另一個國家的整個想法,在這個概率中,沒有其他因素影響過渡的機會。基本上,他發明了馬爾可夫鏈,因此得名。
有了這些解釋,讓我們來探索一些現實世界中的應用程序。你可能會驚訝地發現,你一直在利用馬爾可夫鏈,而不知道它!
你曾經參與過桌面遊戲,MMORPG遊戲,甚至小說創作嗎?你可能會為你的角色命名而苦惱(至少在某一點上如此)——當你似乎想不出一個你喜歡的名字時,你可能會求助於一個在線名字生成器。
你有沒有想過那些名字生成器是怎麼工作的?事實證明,他們中的許多人使用馬爾可夫鏈,使其成為最常用的解決方案之一。(當然,還有其他算法也同樣有效!)
你所需要的只是一個信件的集合,其中每個信件都有一個潛在的後續信件的列表。例如,字母“M”有60%的機率指向字母“a”,40%的機率指向字母“I”。對一大堆其他字母這樣做,然後運行算法。砰,你的名字很有道理!(不管怎樣,大多數時候。)
馬爾可夫鏈理論的一個有趣的含義是,隨著鏈的長度增加(即狀態轉換的數量增加),你到達某個狀態的概率收斂於一個固定的數字,這個概率與你在系統中的起始位置無關。
當你把整個萬維網看作一個馬爾可夫系統,其中每個網頁都是一個狀態,網頁之間的鏈接是帶有概率的轉換時,這是非常有趣的。這個定理基本上是說,不管你從哪個網頁開始,你登陸某個網頁的概率X是固定的,假設一個“長時間”的瀏覽。
這是谷歌對網頁排名的基礎。實際上,PageRank算法是Markov鏈算法的一種改進形式。
到達某個網頁的“固定概率”越高,其頁面排名就越高。這是因為一個更高的固定概率意味著這個網頁有很多來自其他網頁的鏈接——谷歌假設如果一個網頁有很多鏈接,那麼它一定是有價值的。傳入的鏈接越多,就越有價值。
當然,這比那更復雜,但這是有道理的。為什麼一個網站像關於.com在搜索結果頁面上獲得更高的優先級?因為事實證明,用戶在網上衝浪時往往會到達那裡。很有趣,不是嗎?
移動電話已經有了幾十年的預測輸入法,但是你能猜出這些預測是怎麼產生的嗎?無論您使用的是Android(可選鍵盤選項)還是iOS(可選鍵盤選項),您選擇的應用程序都很有可能使用馬爾可夫鏈。
這就是為什麼鍵盤應用程序會詢問是否可以收集你打字習慣的數據。例如,在Google鍵盤中,有一個名為Share snippets的設置,它要求“共享您在Google應用程序中鍵入的內容和方式的片段,以改進Google鍵盤”。從本質上說,你的話是分析和納入應用程序的馬爾可夫鏈概率。
這也是為什麼鍵盤應用程序通常會提供三個或更多的選項,通常按最可能到最不可能的順序排列。它不能確定你下一步要鍵入什麼,但它通常是正確的。
如果您從未使用過Reddit,我們建議您至少檢查一下這個名為/r/subredditimulator的迷人實驗。
簡單地說,subredditsimulator接收Reddit眾多社區的大量評論和標題,然後逐字分析每個句子的構成。使用這些數據,它生成單詞到單詞的概率——然後使用這些概率從頭開始生成標題和評論。
這個實驗的一個有趣的層次是,評論和標題是按數據來源的社區分類的,因此/r/food的數據集生成的評論和標題的種類與/r/soccer的數據集生成的評論和標題有很大的不同。
其中最有趣的——或者說最令人不安的——是,生成的評論和標題常常與實際用戶的評論和標題無法區分。它絕對迷人。
你知道馬爾可夫鏈還有什麼很酷的用途嗎?還有什麼問題需要回答嗎?請在下面的評論中告訴我們!
...會產生褐斑。 目錄 1. 概述和主要區別 2. 馬鈴薯早疫病是什麼 3. 什麼是馬鈴薯晚疫病 4.馬鈴薯早疫病與晚疫病的相似性 5. 並列比較-馬鈴薯早疫病和晚疫病的表格形式 6. 摘要 什麼是馬鈴薯早疫病(early blight of potato)? 馬鈴薯早疫...
...形式,只與安裝方式不同。 目錄 1. 概述和主要區別 2. 什麼是油氈 3. 什麼是馬爾莫勒姆 4. 油氈和大理石地毯的相似之處 5. 並列比較-油氈與馬莫勒姆的表格形式 6. 摘要 什麼是油氈(linoleum)? 從很早以前,油氈就被用作地板材料...
...Riccia屬和Marchantia屬。 目錄 1. 概述和主要區別 2. 利夏是什麼 3. 什麼是馬爾漢蒂亞 4. 利夏與馬爾漢提亞的相似之處 5. 並列比較-Riccia vs Marchantia表格形式 6. 摘要 什麼是利夏(riccia)? Riccia是苔類植物的一個屬。Riccia屬包括小的匍匐...
...則之間的關鍵區別解釋如下。 目錄 1. 概述和主要區別 2. 什麼是馬爾科夫規則 3. 什麼是反馬爾科夫規則 4. 並列比較——表格式中的馬爾科夫規則與反馬爾可夫規則 5. 摘要 什麼是馬爾科夫尼科夫法則(markovnikov rule)? Markovnikov規...
...毒和馬爾堡病毒的主要區別。 目錄 1. 概述和主要區別 2. 什麼是埃博拉 3. 什麼是馬爾堡 4. 埃博拉和馬爾堡的相似之處 5. 並列比較-埃博拉與馬爾堡的表格形式 6. 摘要 什麼是埃博拉病毒(ebola)? 埃博拉病毒是一種逆轉錄病毒,具...
...就是這種排洩**的兩個例子。 目錄 1. 概述和主要區別 2. 什麼是腎盂 3. 什麼是馬爾皮基亞小管 4. 腎管與馬氏管的相似性 5. 並列比較——腎小管與馬氏管的表格形式 6. 摘要 什麼是腎盂(nephridia)? 腎是無脊椎動物或低等生物的排...
...。本文詳細討論了鮑曼膠囊與馬爾皮基安膠囊的區別。 什麼是鮑曼膠囊(bowman’s capsule)? 鮑曼囊是一種雙壁杯狀結構,形成腎單位擴張的盲端。它的內襯是一層薄薄的半透性鱗狀上皮。鮑曼囊腔直徑約為0.2毫米,包含大量稱為...
...在這種情況下,你應該考慮使用Netflix來獲得靈感。但為什麼不首先使用同一個來源來餵養那個旅行蟲呢? ...