Skip to content

Instantly share code, notes, and snippets.

@syou6162
Last active August 29, 2015 14:05
Show Gist options
  • Save syou6162/e883080a039d83076d28 to your computer and use it in GitHub Desktop.
Save syou6162/e883080a039d83076d28 to your computer and use it in GitHub Desktop.
k-best MIRA

Hildreth algorithm

k-best MIRAはk=1のときはclosed-formで重み更新式が書けるが、k>1のときはclosed-formでは解くことができない。k>1のときに解が欲しければ、真面目にQPを解く必要がある。MSTParserの中で使われているQPを解くアルゴリズムにはHildreth algorithmが使われている。

Hildreth algorithm自体について説明しているWeb上のリソースはあまりないが、以下のサイトは雰囲気がつかめる。SMOのようにひとつの変数に着目して、それ以外は止めて一変数について最適化、というのを繰り返すようである。

Hildreth algorithmで出力されるのは双対変数なので、主問題の変数には変換する必要があることに注意。

参考になるプログラム

参考になるWebサイト

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment