Matplotlib でグラフプログラミング【Python】at TECH
Matplotlib でグラフプログラミング【Python】 - 暇つぶし2ch57:デフォルトの名無しさん
10/01/17 13:51:06 .net
>>56
そっか、変えてやってみてもダメでしたか。すまんかった。
書籍持ってなくてnnmf.pyをちら見しただけでコメントしたんだけど
ウェイト更新とかかいてあるんで、ウェイト自体が微小になってしまうことを避ける
条件文なのかと思ってた。

いま改めてみると、ランダムに生成したWとHの積と
与えられたVが等しくなるかどうかのチェックなんだね。

ちょっとググってみて、非不値行列行列因子分解の乗法更新式に関する文献↓を流し読みしてみたけど
URLリンク(www.brl.ntt.co.jp)
ソースのアルゴリズムは文献のLS法どおりなので問題なさそう。

Pythonには組み込み関数の"iter"があるのに、引数名に"iter"を使っているとか
最初に"h"を生成しているリスト内包表記が、内側と外側で同じループ変数名を使っているとか
スタイルで気になるところはあるけど。

"h"と"w"を更新している箇所は要素同士の計算なので
h, hn, hdやw, wn, wdのある要素[i,j]を更新前後で表示してみれば
NaNになる理由がわかると思うよ。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch