十の並列した脳

何でも勉強する,毎週月木曜に投稿予定

「初探機器學習使用Python」まとめ#7 第六章 隱馬可夫模型

「初探機器學習使用Python」(↓の中国語版 )

Thoughtful Machine Learning with Python: A Test-Driven Approach

Thoughtful Machine Learning with Python: A Test-Driven Approach

 

 

前回↓

 

ryosuke-okubo.hatenablog.com

 

 

#7では第六章について扱う。

 

 

以狀態機追蹤使用者行為

本章ではセールスファネル(潜在的な顧客を顧客に変える手法)を例に話が進められる。

f:id:ryosuke_okubo:20190414120337p:plain

隠馬可夫模型(HMM)擅長找出已知系統的隱藏狀態(hidden state),其中是使用觀察內容(observations)與這些狀態運作情況的假設來實現。

(中略)

適用於不需要在模型中內建許多歷史資訊的情況,可用於附有局部化情境(localized context)的分類。單純貝氏分類會依據很多歷史內容以確定結果是否具有指定的特性,而與單純貝氏分類不同的是,HMM可以預測模型中隨著時間的變化情況。(p87)

単語:

  • 隠馬可夫模型:hidden Markov mode,隠れマルコフモデル
  • 擅長:〜が得意である
  • 隱藏狀態:hidden state,隠れ状態
  • :また,〜も
  • 情境:状態,光景
  • 隨著:〜につれて,〜にしたがって

意訳:

隠れマルコフモデル(HMM)は、既知のシステムの隠れた状態を見つけるのに優れており、これは観測されるデータとこの状態の遷移についての仮定を使用する。

(中略)

モデル内に多くの履歴情報を作成する必要がない状況や、ローカライズされたコンテキストを使用した分類に適している。 単純ベイズ分類は、結果に指定された特性を持っているかどうかを決定するために多くの履歴情報に基づく。単純ベイズ分類とは異なり、HMMはモデルの経時的変化を予測することができる。」

 

オンラインストアにおいて,

  • 見込み客(Prospect)の15%が会員(User)になり,5%が顧客(Customer)になる
  • 会員(User)の5%が脱会して(Prospectになる),15%が顧客(Customer)になる
  • 顧客(Customer)の2%が脱会して(Prospectになる),95%が買い物をせず会員(User)状態に戻る

とする。これをまとめると以下の遷移行列で表せる。

 \begin{pmatrix} 0.80 \ 0.15 \ 0.05 \\\ 0.05 \ 0.80 \ 0.15 \\\ 0.02 \ 0.95 \ 0.03 \end{pmatrix}

この状態を表したのが,下図の狀態機(state machine)である。

f:id:ryosuke_okubo:20190414120406p:plain


 

潛在狀態的發射與觀察

さらに,パラメータとして發射(emission)を考える。ここではHome,Signup,Product,Checkout,Contact Usの5つのページについて,どのような人が訪問しているかをみる。

ページ Prospect User Customer
Home 0.4 0.3 0.3
Signup 0.1 0.8 0.1
Product 0.1 0.3 0.6
Checkout 0 0.1 0.9
Contact Us 0.7 0.1 0.2

 

問題は,「そのページに訪れた人が,どのような状態に変化していくか?」である。ここで,どのページをみたかは観察できるが,状態の変化については直接観察できない。これが「隠れ」といわれるゆえんである。

f:id:ryosuke_okubo:20190421105753p:plain

 

以馬可夫假設進行簡化

ここで,馬可夫鏈(Markov chains)を導入することで,学習を容易にする。これは現在の状態は一つ前の状態にのみ依存することを示す。

P(X_{n+1}|X_n,X_{n-1},...,X_1) = P(X_{n+1}|X_n)

 

隱馬可夫模型

隠馬可夫模型は,以下の3つの問題に適用される(詳細は省略)。

  • 評估(Evaluation)
  • 解碼(Decoding)
  • 學習(Learning)

本章總結

本章討論如何將狀態機化成馬可夫鏈,而且可以將其用於永久性系統行為的建模。其中增加隱藏的成分,以確定在已知可輕易觀察發射內容下模型的潛在狀態。並且說明HMM的三個階段:評估,解碼與學習,以及如何解決相關問題。(p109)

単語:

  • :浮かべる,一般化の
  • :さらに,依然として

意訳:

「この章では,どのようにstate machineをマルコフ連鎖に一般化し,それらを恒久的なシステム動作のモデリングに使用するか説明した。 その中に,観察されるemissionの下でモデルの潜在的な状態を判断するための隠れたコンポーネントも追加された。 さらにHMMの3つのフェーズ,Evaluation,DecodingおよびLearning,そして関連する問題の解決方法についても説明した。」

 

理解のため参考にした記事:

隠れマルコフモデル - Wikipedia

隠れマルコフモデル 入門 | Kabuku Developers Blog

 

次回↓

作成中