馬爾可夫鏈概念解釋[示例]
已發表: 2020-12-18目錄
介紹
馬爾可夫鏈非常普遍、直觀,已被用於多個領域,如自動化內容創建、文本生成、財務建模、巡航控制系統等。著名品牌谷歌在其頁面排名算法中使用馬爾可夫鏈來確定搜索順序.
馬爾可夫鏈相對簡單,不需要任何數學概念或高級統計知識即可實現。 如果你對馬爾可夫鏈有很好的理解,那麼學習概率建模和數據科學技術就會變得更容易。
本文將藉助示例讓您深入了解馬爾可夫鍊是什麼以及它們是如何工作的。
什麼是馬爾可夫鏈?
馬爾可夫鍊是一種數學模型,它僅基於先前的事件狀態為下一個狀態提供概率或預測。 馬爾可夫鏈生成的預測與通過觀察該場景的整個歷史所做出的預測一樣好。
它是一種基於某些概率條件從一種狀態過渡到另一種狀態的模型。 定義馬爾可夫鏈的一個特徵是,無論當前狀態如何實現,未來狀態都是固定的。 下一個狀態的可能結果完全取決於當前狀態和狀態之間的時間。
閱讀: Python 教程中的馬爾可夫鏈
帶有示例的馬爾可夫鏈概念
假設您想預測明天的天氣狀況。 但是您已經知道,天氣可能只有兩種可能狀態,即多雲和晴天。 你將如何使用馬爾可夫鏈預測第二天的天氣?
好吧,您將開始觀察當前的天氣狀態,可能是晴天,也可能是陰天。 假設今天是晴天。 氣候條件總是經歷幾次轉變。 您將收集過去幾年的天氣數據,併計算出晴天后出現陰天的機率為 0.35。
您還觀察到,在晴天之後出現晴天的機率是 0.65。 此分佈將幫助您預測第二天也將是晴天。 這就是當前天氣狀態如何幫助您預測未來狀態,您可以應用相同的邏輯來預測未來幾天的天氣狀況。
上面的例子說明了馬爾科夫鍊是無記憶的馬爾科夫特性。 第二天的天氣狀況不依賴於導致當天天氣狀況的步驟。 只有經歷從當天到下一天的過渡才能得出概率分佈。
馬爾可夫鏈的另一個例子是只吃水果、蔬菜或肉類的人的飲食習慣。 飲食習慣遵循以下規則:
- 這個人一天只吃一次。
- 如果一個人今天吃水果,那麼明天他會以相同的概率吃蔬菜或肉類。
- 如果他今天吃蔬菜,那麼明天他將以 1/10 的概率吃蔬菜,以 1/40 的概率吃水果,以 1/50 的概率吃肉。
- 如果他今天吃肉,那麼明天他會以 4/10 的概率吃蔬菜,以 6/10 的概率吃水果。 明天他不會再吃肉了。
您可以使用馬爾可夫鏈輕鬆模擬他的飲食習慣,因為第二天的選擇完全取決於他今天吃了什麼,而不管他昨天或前一天吃了什麼。
另請閱讀:馬爾可夫鏈簡介
馬爾可夫鏈轉移矩陣
到目前為止,我們已經了解瞭如何預測從一種狀態轉換到另一種狀態的概率。 但是如何找到在幾個步驟中發生的轉換的概率分佈。 您可以使用馬爾可夫鏈轉移矩陣找出多個步驟中轉移的概率分佈。

馬爾可夫鏈轉移矩陣只不過是從一種狀態轉移到另一種狀態的概率分佈。 它被稱為轉換矩陣,因為它顯示了不同可能狀態之間的轉換。
與每個狀態相關的概率稱為該狀態的概率分佈。 它是用於分析馬爾可夫鏈的最重要的工具。 例如,如果有 N 個可能的狀態,那麼轉移矩陣 (P) 將如下所示
P = N x N 矩陣
其中一行 (I, J) 中的條目表示從狀態 I 轉換到狀態 J 的概率。轉換矩陣 P 的每一行的總和應為 1。
要表示馬爾可夫鏈,您還需要一個初始狀態向量來描述 N 個可能狀態中每個狀態的開始。 您可以將初始狀態向量 (X) 表示為
X = N x 1 矩陣
假設您想找出經過 M 個多步驟從狀態 I 轉換到狀態 J 的概率。 您給出了三種可能的狀態,即牛市、熊市和停滯市場。
在上面的例子中,轉移矩陣的第一列表示牛市狀態,第二列表示熊市,第三列表示停滯狀態。 這些行也以類似的方式對應。
在轉移矩陣中,轉移概率是通過將 P 提高到步數 (M) 的冪來計算的。 對於 3 步轉換,您可以通過將 P 提高到 3 來確定概率。
通過將上面的 P3 矩陣相乘,可以計算出從一種狀態轉移到另一種狀態的概率分佈。
結論
由於您已經了解了馬爾可夫鏈的工作原理,因此您可以輕鬆地在任何問題陳述中實現它們以達到解決方案或自動化。 馬爾可夫鏈非常強大,為其他更高級的建模技術提供了基礎。
對馬爾可夫鏈的理解可以引導您在簡要建模和採樣等多種技術方面獲得更深入的知識。
如果您想了解 Python、數據科學,請查看 IIIT-B 和 upGrad 的數據科學 PG 文憑,該文憑專為在職專業人士而設,提供 10 多個案例研究和項目、實用的實踐研討會、與行業專家的指導,與行業導師一對一,400 多個小時的學習和頂級公司的工作協助。
馬爾可夫鏈有什麼有趣的現實用例嗎?
是的,從文本創建到金融建模,馬爾可夫鏈在現實生活中有很多有趣的用例。 大多數文本生成器使用馬爾可夫網絡。 鏈系統被廣泛用於生成假文本、超大文章和編譯演講。 我們通常在互聯網上看到的名稱生成器也使用馬爾可夫鏈。 馬爾可夫鏈的另一個著名應用是預測即將出現的單詞。 它們還有助於自動完成和推薦。 Google PageRank 和 Subreddit Simulator 是突出的例子,它們使用馬爾可夫鏈來自動生成整個 subreddit 的材料。
學習數據科學時,馬爾可夫鍊是否重要?
儘管馬爾可夫鏈對數據科學學習者來說不是強制性的,但它們可以為學習概率建模和數據科學技術提供一種極好的方法。 馬爾可夫鏈在理論上相當簡單,無需任何復雜的統計或數學思想即可實現。 數據科學最突出的應用是進行預測,數據科學家使用馬爾可夫鏈的條件概率來進行這些預測。 它以隨機過程的無記憶特性命名,即任何過程的未來狀態的分佈僅由這些過程的當前狀態決定。
馬爾可夫鏈如何幫助 Google 的 PageRank 算法?
Google 的 PageRank 算法是一種著名的基於鏈接的排名算法。 頁面排名不是根據其內容評估頁面,而是根據其相互關聯的結構對它們進行排名。 通過簡單地檢查當前狀態,馬爾可夫鏈可以幫助預測系統從一種狀態轉換到另一種狀態的行為。
當用戶向搜索引擎輸入查詢時,PageRank 算法會識別 Web 上與查詢詞匹配的站點,並使用馬爾可夫網絡按照其 PageRank 的順序向用戶顯示這些頁面。 PageRank 算法僅根據網站的鏈接結構而不是頁面的內容來確定網站的重要性。