Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Hidden Markov Model (HMM) and Infinite Hidden Markov Model (iHMM) in Python. (隠れマルコフモデルと無限隠れマルコフモデル)

NotificationsYou must be signed in to change notification settings

KentoW/hidden-markov-model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

概要

隠れマルコフモデル(hedden markov model)をPythonで実装
無限隠れマルコフモデル(infinite hedden markov model)をPythonで実装

hidden_markov_model.pyの使い方(隠れマルコフモデル)

# Sample code.fromhidden_markov_modelimportHMMalpha=0.01# 初期ハイパーパラメータalphabeta=0.01# 初期ハイパーパラメータbetaK=10# 隠れ変数の数N=1000# 最大イテレーション回数converge=0.01# イテレーション10回ごとに対数尤度を計算し,その差分(converge)が小さければ学習を終了するhmm=HMM("data.txt")hmm.set_param(alpha,beta,K,N,converge)hmm.learn()hmm.output_model()

infinite_hidden_markov_model.pyの使い方(無限隠れマルコフモデル)

# Sample code.frominfinite_hidden_markov_modelimportIHMMalpha=0.01# 初期ハイパーパラメータalpha   ハイパーパラメータの値によって隠れ変数の数が変動するbeta=0.01# 初期ハイパーパラメータbeta    ハイパーパラメータの値によって隠れ変数の数が変動するN=1000# 最大イテレーション回数converge=0.01# イテレーション10回ごとに対数尤度を計算し,その差分(converge)が小さければ学習を終了するihmm=IHMM("data.txt")ihmm.set_param(alpha,beta,N,converge)ihmm.learn()ihmm.output_model()

入力フォーマット

1単語をスペースで分割した1行1文形式
先頭に#(シャープ)記号を入れてコメントアウトを記述可能

# 文1単語1 単語2 単語3 ...# 文2単語1 単語1 単語2 ......

例としてWiki.pyを使用して収集した アニメのあらすじ文をdata.txtに保存

出力フォーマット

必要な情報は各自で抜き取って使用してください.

modelhidden_markov_model             # モデルの種類@parametercorpus_filedata.txt                    # トレーニングデータのPATHhyper_parameter_alpha0.295146        # ハイパーパラメータalphahyper_parameter_beta0.088102        # ハイパーパラメータbetanumber_of_hidden_variable5           # 隠れ変数の数number_of_iteration92                  # 収束した時のイテレーション回数@likelihood                             # 対数尤度initial likelihood-546.599624598last likelihood-511.957618247@vocaburary                             # 学習で使用した単語vtarget_word出産target_word拓きtarget_word土target_word吉日...@counttrans_sum02134            # 遷移分布に必要な情報(分母の数)    左の数字から順に 隠れ変数のID,その隠れ変数から遷移する単語の数     (なおID=0は初期状態を意味する)trans_freq01488         # 遷移分布に必要な情報(分子の数)    左の数字から順に 遷移元の隠れ変数のID,遷移先の隠れ変数のID,遷移した数trans_freq02862trans_freq03597trans_freq04187trans_freq050trans_sum119685trans_freq11366trans_freq125554trans_freq134173trans_freq14105trans_freq159487...word_sum120123           # 単語分布に必要な情報(分母の数)    左の数字から順に 隠れ変数のID,その隠れ変数から生成される単語の数word_freq1い1051        # 単語分布に必要な情報(分子の数)    左から順に 隠れ変数のID,その隠れ変数から生成される単語,と生成された頻度word_freq1人785word_freq1いる684word_freq1年349word_freq1しまう348...@data# 戦勇。                    # コメント3+平和 5+だっ 2+た 1+世界 5+に 4+突如 3+魔物 5+が 4+現れ 3+国王 5+は 2+その 3+討伐 5+に 4+1 2+0 2+0 2+0 1+年 3+前 5+に 4+魔王 3+ルキメデス 5+を 4+封印 2+し 2+た ...        # 隠れ変数のID+単語

About

Hidden Markov Model (HMM) and Infinite Hidden Markov Model (iHMM) in Python. (隠れマルコフモデルと無限隠れマルコフモデル)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp