白白說算法:相親中的馬爾科夫模型

2020-12-04 人人都是產品經理

按照未來網際網路的發展趨勢以及日趨激烈的人才競爭中,產品經理也須掌握基礎的技術算法。因此,本文以相親為例,介紹了什麼是馬爾科夫模型。

大家好,我是白白,第一時刻來講講算法系列。

產品經理是否需要懂技術,對於這個問題網際網路圈看法各不相同。

白白看來,隨著未來網際網路的發展,按照正常的產品經理職業發展路徑,還是需要了解一些技術的內容。產品經理需要了解技術的基本框架,但不一定需要了解所有技術細節。人工智慧領域,產品經理需要了解算法的基本原理,以及如何將實際問題轉化為算法問題。

白白作為一名AI產品經理,準備持續寫一寫算法的內容,爭取用最簡單的語言告訴大家每種算法的邏輯。

一、馬爾科夫模型

有一天白白去相親,見了2個人,上午一個下午一個。

兩個小姐姐都不錯,這下白白突然不知道應該選哪個(其實兩個妹子都沒看上我),後來有個算法的同事過來支招,畢竟是結婚過日子麼,那還是要考慮充分。

有一種算法的含義是每種狀態,只與之前的一個或多個狀態有關,也就是說我們可以根據小姐姐之前的狀態再綜合評價。

白白思考了10秒,覺得好像挺有道理,畢竟現在看著還不錯,萬一隱藏了什麼呢?

所以還是要看看小姐姐的上一個狀態。從人生的角度來講,女孩的上一個狀態,也就是她媽媽了。這種每個狀態由之前的1個或多個狀態決定的模型,我們稱為馬爾科夫模型。

馬爾科夫模型中很多關係使用概率描述的,比如女孩的媽媽很白,那么女兒也很白的概率是90%,女孩媽媽是性格好,女兒也性格好的概率為70%。下圖展示了母親和女兒性格之間的概率關係。

由上圖可列出表格:

馬爾科夫模型有三個要素:

狀態:性格好、性格差初始向量:在系統定義時間為0時,狀態出現的概率。比如從女兒媽媽出現的時間算起認為是系統的0時,那麼她媽媽性格好或性格差的的概率就是初始向量。狀態轉移矩陣:上圖列出的表格就是狀態轉移概率,用於描述狀態之間的轉換。在實際問題中,有關序列的問題很多都可以用馬爾科夫模型來求解,例如股票的量化分析、新聞摘要提取、用戶行為預測等。

二、隱馬爾可夫鏈

我們即使知道馬爾科夫模型的3個要素,還是無法做出良好判定。因為我們觀察到的狀態中,很可能還包含有隱藏狀態。比如我們看到小姐姐和她媽媽確實都不錯,但是或許隱藏著小姐姐沒準已經有男朋友了,她現在是在找備胎。

來換個陽光的例子,假如小姐姐打了你一巴掌,打人只是表象,真實的隱藏狀態是她的心情。打人不一定表示她不開心,打人這個現象對於她是否開心,也有相應的概率。所以對於模型而言,必須要考慮多種情況才能對狀態有完整的描述。

針對以上的情況,還有一種與馬爾科夫模型很像的模型,稱為隱馬爾科夫鏈。

在隱馬爾可夫模型中有兩條鏈,一條稱為可見狀態鏈,一條稱為隱藏狀態鏈。每個狀態之間依然是一種序列的關係。

如下圖中,X表示女孩的實際的某個狀態,但是我們看不到,這就是隱藏狀態鏈。O表示女孩的性格情況,我們只能觀察的O這個狀態,這就是可見狀態鏈。

1. 隱馬爾可夫模型主要解決的問題

隱馬爾可夫主要圍繞以下三類問題:

給定一個模型,求某個觀察序列O的概率給定模型和觀察序列O,求可能性最大的X序列對於給定的觀察序列O,調整隱馬爾可夫模型的參數,使得觀測序列O出現的概率最大其中第二類問題是我們最常見的,在語音識別、文本分析等領域有著廣泛應用。簡單來講,就是通過我們看到的可見狀態鏈來求解隱藏狀態鏈的相關活動。

當和姑娘相處了一段時間之後,會摸清楚她大概的品性,這就是初始概率。比如大部分時間是開心的,或者開心與不開心各佔一半。

隱馬爾科夫鏈模型有四個要素:狀態、初始向量、狀態轉移矩陣、輸出矩陣。

前三個與馬爾科夫模型幾乎沒有區別,輸出矩陣指的是由隱藏狀態到可見狀態的輸出概率。

例如小姐姐心情不好,可能打人的概率,可能購物的概率等,這些都是輸出概率。我們可以建立隱馬爾可夫模型,通過小姐姐的表現計算她是否開心。

建立隱馬爾可夫模型:心情有2個狀態(不開心、開心),但是我們無法直接觀察到心情(心情狀態對我們是隱藏的),我們只能觀察到小姐姐的行為(撒嬌、購物、打人),我們認為小姐姐的心情與上一時刻的心情有關,即這個系統構成隱馬爾可夫鏈。

我們已知妹子的長期的一個心情分布概率(初始情況):P={開心:0.6,不開心:0.4}

轉換概率分布為:

在相應的心情下,妹子進行的活動的輸出概率分布為:

計算第一時刻的心情情況:

P(第一時刻開心)=P(撒嬌|開心)*P(開心|初始情況)=0.5*0.6=0.30P(第一時刻不開心)=P(撒嬌|不開心)*P(不開心|初始情況)=0.1*0.4=0.04第一時刻開心的概率比較大,於是我們可以認為第一時刻是開心。

假設知道妹子第二時刻在妹子在購物,計算第二時刻的心情情況:

P(第一時刻不開心,第二時刻不開心)=P(不開心|第一時刻)*P(不開心->不開心)*P(購物|不開心)=0.04*0.6*0.3=0.0072P(第一時刻不開心,第二時刻開心)=P(不開心|第一時刻)*P(不開心->開心)*P(購物|開心)=0.04*0.4*0.4=0.0064P(第一時刻開心,第二時刻開心)=P(開心|第一時刻)*P(開心->開心)*P(購物|開心)=0.30*0.7*0.4=0.084P(第一時刻開心,第二時刻不開心)=P(開心|第一時刻)*P(開心->不開心)*P(購物|不開心)=0.30*0.3*0.3=0.027可以看到第二時刻最可能的是開心。

假設知道第三時刻妹子把你給打了,我們來算算各種情況的概率:

P(第二時刻不開心,第三時刻不開心)=P(不開心|第二時刻)*P(不開心->不開心)*P(打人|不開心) =0.027*0.6*0.6=0.00972P(第二時刻不開心,第三時刻開心)=P(不開心|第二時刻)*P(不開心->開心)*P(打人|開心) =0.027*0.4*0.1=0.00108P(第二時刻開心,第三時刻開心)=P(開心|第二時刻)*P(開心->開心)*P(打人|開心) =0.084*0.7*0.1=0.00588P(第二時刻開心,第三時刻不開心)=P(開心|第二時刻)*P(開心->不開心)*P(打人|不開心) =0.084*0.3*0.6=0.01512我們可以認為,第三時刻的心情是不開心。

通過上面三個時刻的計算,我們可以得出隱藏狀態的序列:開心->開心->不開心。

這就是隱馬爾可夫鏈模型的簡單介紹。

#專欄作家#

白白,人人都是產品經理專欄作家。醫藥行業資深產品專家,負責人工智慧行業類產品綜合架構與技術開發。在行業雲產品架構,藥物設計AI輔助、醫療知識圖譜等領域有深入研究。

本文原創發布於人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基於 CC0 協議

相關焦點

  • ACS Catalysis|馬爾科夫模型在糖基轉移酶模擬中的應用
    如何在分子模擬中構造馬爾科夫模型(MSM)最近2年,在分子模擬領域,對於感興趣的構象變化的問題處理,研究,通過大量短時間MD模擬,構造馬爾科夫狀態模型(MSM)的方式被證明是行之有效的方法 [6] 。構建MSM模型,一般要選擇n個狀態,使得它們涵蓋了整個動力學行為,並且滯後時間τ足夠長以成為馬爾科夫模型,但又短得足以解決系統動力學問題。如果能夠成功做到這一點,則MSM僅從其過渡矩陣提供有關系統的有價值的信息, 如下圖所示,a圖表示的是八段不同的短時間的模擬軌跡,每一段模擬中可以選取不同幀的由一個模擬時間步分開。
  • 因果發現:如何讓算法成為複雜系統中的「福爾摩斯」?
    ,抽絲剝繭地發現真相,即案件背後有序的因果鏈條,在凱風研讀營中黃碧薇博士的關於因果發現的分享中,講述了如何用算法,做複雜系統中的「福爾摩斯」。上圖中給定X, Z和Y是統計獨立的。馬爾科夫條件提供了如下蘊含關係:結構圖中表示的獨立性->概率獨立性, 或者等價地:概率依賴性->結構圖中表示的依賴關係。值得一提的是,馬爾科夫條件在一般情況下都是滿足的,但在量子物理中需要更進一步的研究。
  • 馬爾可夫模型學習
    一個馬爾科夫過程就是指過程中的每個狀態的轉移只依賴於之前的 n個狀態,這個過程被稱為1個 n階的模型,其中 n是影響轉移狀態的數目。最簡單的馬爾科夫過程就是一階過程,每一個狀態的轉移只依賴於其之前的那一個狀態。
  • 用馬爾科夫狀態模型分析揭示脂質自組裝的熱力學和動力學
    用馬爾科夫狀態模型分析揭示脂質自組裝的熱力學和動力學 作者:小柯機器人 發布時間:2020/12/19 14:03:04 復旦大學王文寧和徐昕團隊開發了使用馬爾科夫狀態模型分析來揭示脂質自組裝的熱力學和動力學
  • 機器學習算法之隱馬爾可夫模型
    Baum和其它一些作者在一系列的統計學論文中描述的。HMM最初的應用之一是開始於20世紀70年代中期的語音識別。當前情況盡跟之前n個狀態有關的隨機過程稱為n階馬爾科夫過程。例子拿天氣和海藻的例子來說假設海藻的溼度與天氣有某種關聯,為了簡易的去定義這個問題,定義海藻存在四種觀測值{dry,dryish,damo,soggy},天氣的狀態也只有三種狀態{sunny,cloudy,rainy}。
  • 自然語言處理起源:馬爾科夫和香農的語言建模實驗
    香農深深地被馬爾科夫的觀點所吸引:即在給定的文本中,可以估計出出現某個字母或單詞的可能性。和馬爾科夫一樣,香農通過一些文本實驗證明了這一點,這些文本實驗除了建立語言的統計模型外,還嘗試了使用該模型根據這些統計規則生成文本。
  • 隱馬爾可夫模型攻略
    一種辦法就是假設這個模型的每個狀態都只依賴於前一個的狀態,這個假設被稱為馬爾科夫假設,這個假設可以極大簡化這個問題。顯然,這個假設也是一個非常糟糕的假設,導致很多重要的信息都丟失了。該過程中,每個狀態的轉移只依賴於之前的 n 個狀態,這個過程被稱為1個 n 階的模型,其中 n 是影響轉移狀態的數目。最簡單的馬爾科夫過程就是一階過程,每一個狀態的轉移只依賴於其之前的那一個狀態。注意這和確定性系統不一樣,因為這種轉移是有概率的,而不是確定性的。  馬爾可夫鏈是隨機變量 X1, … , Xn 的一個數列。
  • 隱馬爾可夫模型(HMM)攻略
    一種辦法就是假設這個模型的每個狀態都只依賴於前一個的狀態,這個假設被稱為馬爾科夫假設,這個假設可以極大簡化這個問題。顯然,這個假設也是一個非常糟糕的假設,導致很多重要的信息都丟失了。當涉及到天氣的時候,馬爾科夫假設描述為,假設如果我們知道之前一些天的天氣信息,那麼我們就能預測今天的天氣。
  • 語言識別模型的起源,一個數學家數了數小說中的 20000 字母
    但是馬爾科夫不贊同,他覺得大多數事情都有因果關係,他想要通過概率分析一些事情,並建立模型。馬爾科夫用這個結果證明《尤金 · 奧涅金》的文本不是字母的隨機分布,而是具有可以建模的基本統計的性質。後來,人們稱馬爾科夫這是給自己的數學技能找到一個實際用途——用鏈模型來模擬俄羅斯文學中輔音和元音的頭韻法。
  • 常見概率模型在金融市場中的應用
    再由可觀測數據去推斷出這些隱含因子對期貨價格的影響作用,也就是說利用特定的推斷算法 計算後驗分布。最後使用後驗分布來測試模型,找出其優點和缺點,如果能滿足則該概率 模型在此問題上有一定的解決能裡,否則則重新修改。這就是Box循環,如下圖所示。
  • 一個數學家數了數小說中 20000 個字母,然後誕生了語言識別模型
    但是馬爾科夫不贊同,他覺得大多數事情都有因果關係,他想要通過概率分析一些事情,並建立模型。他的假設聽上去匪夷所思——這本經典文學作品中,某個位置會出現什麼字母,某種程度上取決於它之前的字母。計算機還沒出現的1913,馬爾科夫抄錄了《尤金·奧涅金》書中的前 20000 個字母,不包括標點和空格。然後按10*10的排列方式,填在200個網格中,開始逐行逐列對元音字母進行計數。統計完發現,43%的字母是元音,57%是輔音。
  • 一個數學家數了數小說中 20000 個字母,然後誕生了語言識別模型
    但是馬爾科夫不贊同,他覺得大多數事情都有因果關係,他想要通過概率分析一些事情,並建立模型。德雷·安德耶維齊·馬爾科夫《尤金·奧涅金》成為馬爾科夫的試驗材料。他的假設聽上去匪夷所思——這本經典文學作品中,某個位置會出現什麼字母,某種程度上取決於它之前的字母。
  • 什麼是馬爾科夫過程(Markov Processes)
    在了解Markov Processes之前呢,我們先來介紹一下馬爾科夫性質。具有馬爾科夫性質的狀態滿足下面公式:根據公式也就是說給定當前狀態St,將來的狀態與t時刻之前的狀態已經沒有關係。如下圖解釋:馬爾科夫過程一個無記憶的隨機過程,是一些具有馬爾科夫性質的隨機狀態序列構成,可以用一個元組<S,P>表示,其中S是有限數量的狀態集,P是狀態轉移概率矩陣。如下:
  • 【機器學習】隱馬爾可夫模型
    隱馬爾科夫模型是一種時序的概率模型,描述由一個隱的馬爾科夫鏈隨機生成的不可觀察的隱狀態序列,在每一個隱狀態下隨機產生觀察值構成一個可觀測的隨機序列。其中關鍵是狀態序列是滿足馬爾科夫性質的,且可觀測序列是由隱藏的狀態序列以一定的概率隨機生成。在自然語言中文分詞中,由於自然語言是有明顯的上下文關係的,即當前字與其前後出現的字都是有關係的。
  • 語言識別模型源於一個數學家讀小說的故事
    但是馬爾科夫不贊同,他覺得大多數事情都有因果關係,他想要通過概率分析一些事情,並建立模型。德雷 · 安德耶維齊 · 馬爾科夫《尤金 · 奧涅金》成為馬爾科夫的試驗材料。他的假設聽上去匪夷所思——這本經典文學作品中,某個位置會出現什麼字母,某種程度上取決於它之前的字母。
  • 如何提高交互式圖像分割算法的效率?
    該研究的貢獻為了更好地利用交互式圖像分割的動態性,來自上海交大和華師大的團隊提出了一個基於深度強化學習的算法 IteR-MRL,將交互式醫療圖像分割的動態過程建模成一個馬爾科夫決策過程,然後用深度強化學習求解。該算法從整體上考慮分割更新序列,充分挖掘了交互分割前後的關聯。
  • 「NLP」用於語音識別、分詞的隱馬爾科夫模型HMM
    ,則稱該隨機變量的變化過程是馬爾科夫隨機過程,隨機變量滿足馬爾科夫性。2 隱馬爾科夫模型(HMM)如圖所示為馬爾科夫模型的圖結構基於此圖結構可知,HMM模型滿足如下的性質:(1) 它基於觀測變量來推測未知變量;(2) 狀態序列滿足馬爾科夫性;
  • 時間序列模型(三)——馬爾可夫模型
    在實際應用中,倒不必過於在意,因為很多東西的都是默認的。所以大家可以選擇性的學習。      馬爾科夫過程可以通過幾個條件加以限制,從而逐步形成更簡潔的數學公式。以下是一些最常用的限制條件。(1)狀態空間可以被限制在一個離散的集合中。這個特性是馬爾科夫鏈的象徵,即離散狀態的馬爾科夫過程稱為馬爾可夫鏈。馬爾可夫特性的轉移概率將鏈中的每個狀態「連結」到下一個狀態。
  • 馬爾科夫:機器人與人類是夥伴 中國落後美國5年(全文)
    凱文·凱利甚至預測說,人工智慧會像200年前電力徹底顛覆人類世界一樣,掀起一場新的產業革命。機器人與人類到底會是什麼關係?那麼,我們應該如何處理人與機器人的關係?馬爾科夫認為,人與機器人的關係將會是夥伴關係。「人工智慧不會取代人類,我們應期待人工智慧創造更多工作,而不是毀滅。」馬爾科夫說道。之所以得出以上結論,馬爾科夫是通過長期觀察得出來的。
  • 有趣的隱馬爾科夫模型
    01 隱馬爾科夫模型簡介隱馬爾科夫模型是關於時序的概率模型,描述由一個隱藏的馬爾科夫鏈隨機生成不可觀測的狀態隨機序列,再由各個狀態生成一個觀測而產生觀測序列的過程02 隱馬爾科夫模型舉例為了讓讀者更直觀地了解馬爾科夫模型,本文將針對經典的盒子與球模型展開分析。