NMFを勉強中

テキトーなことを書きます。
昨日の夜あたりから、集合知プログラミング10章で出てくるNMF(非負値行列因子分解)についてちょっと勉強中。集合知プログラミングでは、NMFのアルゴリズムが与えられちゃってるので、ちゃんと導出知りたいと思って、ネットで検索かける。
はてなの近藤さんのブログやらが出てくるんだけど、しっかりめに書いてあったのはNon-negative Matrix Factorization(非負値行列因子分解) - あらびき日記でここを見てみた。ただ、導出については論文参照となっていたので、結局論文の方へ。

  • Lee, D. D., & Seung, H. S. (2001). Algorithms for non-negative matrix factorization. Advances in neural information processing systems, 13(1), V-621-V-624.

6枚くらいの論文だからさらっと行けるかと思ったが、思ったよりもイミワカラナイ。EMっぽくやってるってことなんだけど、固有値問題を解くときのパワー法みたいな反復法に見える。
それで、論文は一度諦めてまたネットを探す。すると、LDAとNMFの両方を扱う記事を見つけた。

そこで参照している論文はまた別のもので、今度はこれを見てみることにした。

  • Xu, W., Liu, X., & Gong, Y. (2003). Document clustering based on non-negative matrix factorization. Proceedings of the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval (p. 267-273). New York, New York, USA: ACM.

今度は割と分かりやすいかもと思った。目的関数の最小化問題にして解くという筋道がはっきり見える。というか、本当に前の論文と同じことやってるんですか、これはという感じ。これでいけるかと思ったけど、制約条件の入れ方が分からなかった。ラグランジュの未定乗数法で、制約条件が等式の場合は知ってますけど、不等号の場合は知りません。クーン・タッカー条件知りません。
という感じになったので、クーン・タッカー条件を勉強しておこうと思って、自宅にある本から

サポートベクターマシン入門

サポートベクターマシン入門

を手にとって、見てみる。この本、難しいw←今ここ