HMM

練習がてらC++でHMMのコードを書いた

いわゆるお勉強的なコードなので特に新しいところはないです。HMMをベースにしたモデルを作る必要が(たぶん)出てきそうなんですが、そういえばHMMの前向き後ろ向きアルゴリズムの付近とか実装したことねぇやべぇと思ったので書いてみました*1。系列の長さが1…

HMMのスケーリング係数

HMMを実装する上で考えなければならない問題点HMMにおけるパラメータ推定はフォワードバックワードによって効率的に計算される。しかし、実際に計算機上でこのアルゴリズムを動かそうとすると気を付けなければならないことがある。再帰式 の右辺のそれぞれの…

#69 Crouching Dirichlet, Hidden Markov Model: Unsupervised POS Tagging with Context Local Tag Generation

Taesun Moon, Katrin Erk, Jason Baldridge, Proceedings of EMNLP-2010.言語によらず単語には機能語と内容語のようなものが存在するが、教師なしpos taggingでよく使われるHMMではこのような機能語、内容語の違いを捉えられない。このモデル(CDHMMとHMM+)で…

前向きアルゴリズム、Vitebiアルゴリズム

Viterbi書くの何回目だろ。。。週末にはバウムウェルチ(Baum-Welch)のアルゴリズムこと前向き後ろ向きアルゴリズムを書きたいところ。 www.yasuhisay.info # -*- coding: utf-8 -*- # 確率的言語モデル(東京大学出版)第4章(隠れマルコフモデル) require 'pp'…

課題の何か

HMM

本質的にHMMですね。 si_1 <- c(250, 260, 250) si_2 <- c(220, 240, 230) ka_1 <- c(240, 260, 230) ka_2 <- c(250, 270, 260) si <- c(240, 250, 230) ka <- c(230, 260, 250) target_cost <- function(x, y) { abs(x[1] - y[1]) + 2 * abs(x[2] - y[2]) +…