非負値行列因子分解 NMF の基礎とデータ／信号解析への応用
Nonnegative Matrix Factorization and Its Applications to Data/Signal Analysis

澤田宏

非負値行列因子分解（NMF : Nonnegative Matrix Factorization）は，非負値のみからなる行列を分解するという数学的に非常にシンプルな定式化でありながら，その応用範囲は，音，画像，文書データの解析と幅広い．直感的には，頻出するパターンを自動的に列挙するものであると理解できる．本稿では，まず，NMF の定式化とアルゴリズムの導出を丁寧に説明する．これらを理解することで，NMF による解析結果を深く考察したり，応用に応じた様々な拡張が可能となる．その後，NMF の適用例として，文書データのクラスタリングと音楽信号の分離を紹介する．
キーワード：NMF(Nonnegative Matrix Factorization)，非負値行列因子分解，信号解析，データ解析

．はじ

め に

世の中の多くのデータや信号は行列で表現でき，行列の要素は 0 か正の値と仮定しても，多くの場合，不都合は生じない．例えば，顧客が商品を何個買ったかというデータを行列表現することができ（図 1(a)），音楽信号は各時間における各周波数成分の強さ，すなわちスペクトログラムで表現できる（図 1(b)）．
非 負 値 行 列 因 子 分 解（NMF : Nonnegative MatrixFactorization）(1), (2) は，このような 0 か正の値を持つ行

図

データや信号の / か正の値のみを持つ行列による表現列を解析する一手法である．上記のように行列表現できれば，データの種類にかかわらず適用できるため，その(3)(4)

応用先は，文書データ ，購買データ，音 ，画像，生体信号，遺伝子など，幅広い．

ば推薦システム）で，それら NMF の解析結果が利用される．
NMF のアルゴリズムは非常にシンプルであるため，NMF による解析結果で得られるものは，幾つかの頻実装して信号処理やデータ解析を行い，何らかの結果を出パターンである．これは，全て非負値であるため本質出すことは比較的簡単にできる．しかしそれだけではな的に引き算を行えない，という制約から生じる効果であく NMF の仕組みも理解することで，解析結果をより深り，正負の値の行列を扱う特異値分解などとは異なる解

く 考 察 し た り，自 分 が 扱 う 信 号 や デ ー タ に 合 わ せ た析結果をもたらす．NMF を用いると，その頻出パター

NMF の拡張が可能となる．本稿は，より多くの人にンに基づいて，信号が分離されたり，データの要素がクNMF を理解してもらうことを目的とする．

ラスタリングされる．そして，より上位のタスク（例え澤田 宏 正員 日本電信電話株式会社 NTT コミュニケーション科学基礎研究
所
E-mail sawada.hiroshi@lab.ntt.co.jp
Hiroshi SAWADA, Member (NTT Communication Science Laboratories,NIPPON TELEGRAPH AND TELEPHONE CORPORATION, Kyoto-fu, 6190237 Japan).

電子情報通信学会誌

Vol.95 No.9 pp.829-833 2012 年 9 月©電子情報通信学会 2012

解説

非負値行列因子分解 NMF の基礎とデータ／信号解析への応用

電通会誌9月_02_解説_澤田.mcd

Page 1$．NMF の定式化
図 2 上部に示すように，与えられた I × J サイズの非負値行列を X とする．NMF での分解結果は，I ×K 非負値行列 T と K × J 非負値行列 V の積の形になる．Kは NMF の基底の数であり，一般には解析する人が事前
829

12/08/10 09:24v5.50

図$

NMF の定式化と簡単な例

図 N NMF の基底数 K を増やすことで，表現能力が増し，元行
列 X との Euclid 距離の二乗が小さくなる様子
行列の要素の色は，青い色ほど z に近く，茶色に近いほど大きい正の値であることを示す．

d(, t v )=  −log  −1t v t v 
図 3 に =1 との距離の様子を示す．Euclid 距離は，距離が 0 となる値を中心に対称である．一方，KL divergence と IS divergence は非対称であり，値が大きくなりすぎることは許容されるが，足りないことには敏感で
図 = =1 との距離 = 種類
Euclid 距離の二乗（Eu），一般化
KL divergence（KL），IS divergence（IS）．

ある．また，IS divergence は  と t  v  の比にのみ依存
す る た め，例 え ば d(9, 10)=d(900, 1000) で あ る．この性質は，行列の値のダイナミックレンジが大きい状況に決めておく．それぞれの行列の要素 ，t，v は全て非負 ≥0 である．t =[t, ⋯, t ] ，v =[v, ⋯, v] とすると，これらの内積t v =∑で有効である．例えば，音楽や音声は低域のパワーが大きく高域は小さいが，IS divergence によると低域と高域を同等の重要度で扱う．
NMF の基底の数 K は，実用上は，信号を何個に分解したいか，データから何種類の頻出相関パターンを取りtv

出したいか，を規定するものである．一方，数学的には  と等しくなるべき値となる．
図 2 下部に簡単な分解例を示す．この例では，右辺と左辺は等しく誤差は 0 であるが，一般には誤差が発生する．そのため，行列 X と TV の距離 D(X, TV) を定義し，これを最小化することを考える．NMF で広く用いら れ る 距 離 は，Eu : Euclid 距 離 の 2 乗，KL：一 般 化
Kullback-Leibler divergence, IS : Itakura-Saito diver-は，図 4 のように，K を増やすことで距離 D(X, TV) を最小化する能力が高まる．通常は，NMF のアルゴリズ
ムを実行する際に，基底の数 K を決めなければならな
い．これは自明なことではないが，一つの方法として，
図 4 のように様々な数の基底で NMF を実行して最小化された距離との関係を観測し，改善が飽和した辺り（例
えば K =7）を選択するというものがある．

(5)gence の 3 種類である．それぞれ，
の形で定義され，d＊ は以下となる．
d(, t v )=(−t v )d(, t v )= log

830

電通会誌9月_02_解説_澤田.mcd=．NMF アルゴリズム

D＊ (X, TV)=∑  ∑  d＊ (, t  v )−+t  v t  v =.

Multiplicative update rules

D＊ (X, TV) を最小化する NMF のアルゴリズムは様々なものが考えられるが，本稿では，広く用いられている
Multiplicative update rules を説明する．与えられた行列の (i, j) 成分  と等しくなるべき内積の値を =t  v とする．3 種類の距離に基づく更新式はそれぞれ，
電子情報通信学会誌 Vol. 95, No. 9, 2012

Page 2

12/08/10 09:24v5.50

Euclid 距離t  t∑  v∑  t，v  v∑  v∑  t()KL divergencet  t
IS divergencet  tv
∑t

，v  v
∑  v
∑  t

∑ v ，v  v
v
∑∑() t
 t∑∑()図 k 補助関数を用いた最適化の様子
分かりやすさのため，同時に起こる事象は同じ色で表現している．

であり (6)，ランダムな非負値で初期化した行列 T, V に①F (T, V, R) の R に関する最小化

これらの更新式を何回か繰り返し適用することで，分解②F (T, V, R) の T あるいは V に関する最小化

後の行列 T と V が得られる．更新式（update rule）がMultiplicative と呼ばれるのは，更新前の t（あるいは

図 5 に そ の 様 子 を 示 す，ま ず，補 助 関 数 の 変 数 がv）の値に別の値が掛けられる形の更新式になっている

T ，V ，R  で初期化されているものとする．最初からである．行列 T, V の要素が全て非負値であれば，に R に関して最小化することで，補助関数と目的関数これらの更新式を何度適用しても非負値のままである．

が等しくなる．その状態で，T に関して補助関数の最も し 誤 差 が 完 全 に 0 に な れ ば，全 て の i, j に 関 し て小化を行えば，目的関数も同時に小さくなる．次に，V= となるため，掛けられる値が 1 となり更新式でに関して最小化を行うが，その前に補助変数 R によるは何も変化しないことが観察できる．

最小化を行って，補助関数と目的関数を一致させておく必要がある．

=.$

補助関数を用いたアルゴリズムの導出

前章で示した NMF の更新式は，3 種類の距離についNMF で最小化すべき距離 D＊ (X, TV) の定数部分（Tてそれぞれ，以下の補助関数を用いることで導かれる．

や V に 依 存 し な い 項）を 省 略 し た も の を 目 的 関 数

ただし，補助変数 R や U の要素は，r>0，∑  r=1，F＊ (T, V) とすると，3 種類の距離に関して以下のとおりu>0 を満たすものとする．

となる．
F(T, V)=∑ [(t  v ) −2t  v ]
F(T, V)=∑ (t  v − log t  v )



F(T, V)=∑  +log t  v t v 

これらを最小化するために以下の要件を満たす補助関数
F  を導入し，それを最小化することで間接的に目的関数 F を最小化する．補助関数は目的関数の変数とは別に補助変数 R を持つものとする．
要件 1 補助関数は目的関数より小さくなることはな
い：F (T, V)≤F (T, V, R)
要件 2

補助変数 R に関して最小化すると目的関数に等しくなる：F (T, V)=min RF (T, V, R)補助関数の最小化は，以下を繰り返して行う．

解説

非負値行列因子分解 NMF の基礎とデータ／信号解析への応用

電通会誌9月_02_解説_澤田.mcdPage 3(T, V, R)=∑ ∑F(tv)−2t  v rF
(T, V, R)=∑ t  v −∑ r log

F(T, V, R, U)=∑ ∑rtv

tv
r

+log u+t  v −uu

ここからは Euclid 距離の二乗，つまり F を最小化する更新式を導出する．誌面の都合上，KL divergence,
IS divergence については割愛するが，同様に導出するが要件 1，2ことができる．まず，上記の補助関数 Fを満たすことを確認する．Jensen の不等式を用いてもよいが，ここではより一般的に補助関数の要件を確認できるラグランジュ未定乗数法を用いる．R の要素が満たすべき ∑  r=1 について未定乗数 λ を導入し，
L(T, V, R, Λ)=F+∑ λ (∑ r−1)83112/08/10 09:24v5.50と定義する．r による偏微分を計算し 0 とおく(tv)∂L=−+λ=0∂rrと r=tv
が得られ，これを k について足し合わせる λ
と λ=(t  v ) となるため，
tv tvr=  =t v ()のときに補助関数 Fが最小化されることが示せた．
に代入すると目的関数 F に一致す
更に，これを Fる．以上で，要件 1，2 が確認できた．
次に，補助関数を T あるいは V に関して最小化す
る．t あるいは v による偏微分を計算し 0 と置く
v
∂F
=2t∑−2∑ v=0∂t r ∂Ft=2v∑−2∑ t=0∂v
 r とt=

図 x $/ Newsgroups の NMF による解析結果(a)それぞれの基底（行列 T の各列）での頻出単語上位 Æ 個．(b)行列 V からランダムに Çz 列選択して表示．

∑  v∑  t ，v=v
t
∑∑
r
rが得られる．式()を代入して整理すると，式()の更新式となり，これで導出が完了した．

vergence による NMF を適用した．具体的には，行列T, V をランダムな非負値で初期化した後，式()を 50回 繰 り 返 し て 更 新 し た．Matlab に よ る 実 装 で，IntelN．適N.

用例

文書クラスタリング

ま ず，文 書 デ ー タ の 解 析 例 と し て，20 Newsgroups (注1)のデータをクラスタリングする．それぞれの記事がどのニュースグループに投稿されたかというラベル情報は用いず，各投稿記事に各単語が何回出現したかという情報のみを非負値行列 X で表現し，NMF を適用する．英語の文章であれば内容に関係なく出現する単語
stopwords (注2) を除き，更に document frequency（その単語が出現する記事の割合）が 0.1 以上の単語を除いた
結果，語彙数は I=60,835 であった．記事数は J=18,774であるため比較的大規模な行列であるが，0 の要素が非常に多く，約 150 万個の正の値を保持すればよい．このI×J サイズの行列 X に，基底数 K=20 として KL di-Core i7 965（3.2 GHz）上での計算時間は 145 秒であった．
図 6 の上部に，20 個の NMF 基底それぞれについて，頻出単語上位 8 個を示す．これは，行列 T を見ることで分かる．これらの単語を見ると，それぞれの NMF 基底がどのような話題に対応しているのかが想像できる．
分かりやすい例として，2．は baseball，4．は政治関係，17．は宇宙関係と思われる．一方，行列 V は，各投稿記事がどれくらいの割合で各 NMF 基底を含んでいるかを表す．図 6 の下部に示すように，ほとんどの記事は特定の基底のみで表現されている．したがって，この情報に基づき投稿記事をクラスタリングすることが可能となる．
N.$

音楽信号の分離

次に音楽ファイルの前奏で楽器の音パターンを学習
(注 1)
(注 2)

http://people.csail.mit.edu/jrennie/20Newsgroups/
http://norm.al/2009/04/14/list-of-english-stop-words/

832

電通会誌9月_02_解説_澤田.mcd

し，その学習結果を利用して楽器とヴォーカルに分ける実験例を示す．Signal Separation Evaluation Campaign
電子情報通信学会誌 Vol. 95, No. 9, 2012

Page 412/08/10 09:24

v5.50

k．お わ りに

本稿では幾つかの応用例とともに NMF を紹介した．
また，アルゴリズムの導出を丁寧に説明した．NMF に関する研究は盛んに行われ，対象となるデータや状況に応じた様々な形の拡張が提案されている．例えば我々は，NMF の多チャネル拡張のための効率的アルゴリズムを提案した (8)．誌面の都合上，それら様々な拡張について本稿では紹介できなかったが，興味ある方は例えば文献()を参照されたい．
文書データや購買ログなど，入力行列の要素が非負の整数値である場合は，N. で示したような NMF による解析だけでなく，LDA : Latent Direchlet Allocation (10)による解析が広く行われているため，興味のある読者はLDA に関連する多くの研究成果も参考にされたい．
文献()図
音楽信号の NMF による解析結果(a)行列 V の様子．基
底番号 ï から ïz は前奏 ïz 秒のみで学習した．(b)NMF の基底 ï番から ïz 番で再構成した音．(c)NMF の基底 ïï 番から z 番で再構成した音．ヴォーカルが取り出されている．

（SiSEC）(注3)のページにある，nine_inch_nails-the_good_soldier という曲の最初から 20 秒分を実験に用いた．そのうち前半 10 秒は前奏であり楽器のみで構成されている．後半 10 秒にはヴォーカルが含まれている．
解析には，基底 T に時間方向の連続性を持たせた
convolutive NMF (7) を IS divergence 規範に変更したものを用いた．まず 10 秒の前奏だけに対して，K =10 個の基底，すなわち頻出する楽器音のパターンを学習した．その後，20 秒全体に対して基底数 K =30 で NMFを適用した．その際に，基底番号 1 から 10 までは，前奏だけで学習した楽器成分の基底をそのまま用いた．これは，ヴォーカル成分を 11 番から 30 番の基底で表現することを狙ってのことである．図 7 にその結果を示す．
(a)に示した行列 V の様子を見ると，基底番号 1 から10 は，20 秒全体でまんべんなくアクティブになっているのに対し，基底番号 11 から 30 は後半 10 秒でアクティブになっていることが観測できる．(b)，(c)には，それぞれの基底集合で再構成した音を示している．音を聞くと，楽器による伴奏（(b)）と，ヴォーカル（(c)）に分かれていることが確認できた．

(注 3)

D.D. Lee and H.S. Seung, “Learning the parts of objects withnonnegative matrix factorization,” Nature, vol. 401, pp. 788-791, 1999.
() A. Cichocki, R. Zdunek, A.H. Phan, and S. Amari. Nonnegative Matrixand Tensor Factorizations : Applications to Exploratory Multi-way
Data Analysis and Blind Source Separation, Wiley, 2009.
() W. Xu, X. Liu, and Y. Gong, “Document clustering based on nonnegative matrix factorization,” In Proc. ACM SIGIR, pp. 267-273,2003.
() P. Smaragdis and J.C. Brown, “Non-negative matrix factorization for
polyphonic music transcription,” In Proc. WASPAA 2003, pp. 177180, Oct. 2003.
() C. Févotte, N. Bertin, and J-L. Durrieu, “Nonnegative matrix
factorization with the Itakura-Saito divergence : With application tomusic analysis, “Neural Comput., vol. 21, no. 3, pp. 793-830, 2009.
() M. Nakano, H. Kameoka, J. Le Roux, Y. Kitano, N. Ono, and S.
Sagayama, “Convergence-guaranteed multiplicative algorithms for
non-negative matrix factorization with beta-divergence,” In Proc.
MLSP 2010, pp. 283-288, Aug. 2010.
( ) P. Smaragdis “Convolutive speech bases and their application tosupervised speech separation,” IEEE Trans. Audio, Speech, andLanguage Processing, vol. 15, pp. 1-12, 2007.
( ) H. Sawada, H. Kameoka, S. Araki, and N. Ueda, “Efficient algorithms
for multichannel extensions of Itakura-Saito nonnegative matrix
factorization,” In Proc. ICASSP 2012, pp. 261-264, March 2012.
() 亀岡弘和，ì非負値行列因子分解，í計測と制御，vol. 51, no. 9,2012.
(ïz) D.M. Blei, A.Y. Ng, and M.I. Jordan, “Latent direchlet allocation,” J.
Mach. Learn. Res., vol. 3, pp. 993-1022, 2003.
（平成 24 年 4 月 27 日受付さわ だ

平成 24 年 5 月 14 日最終受付）

ひろし

澤田 宏 （正員）
平 3 京大・工・情報卒．平 5 同大学院修士課
程了．同年，日本電信電話株式会社入社．以来，NTT コミュニケーション科学基礎研究所
にて，VLSI 向け CAD 及びアーキテクチャの研究に従事．平 12 から信号処理，特にブラインド音源分離の研究に従事．平 21 から知能創発環境研究グループグループリーダ，現在に至る．平 13 京大博士（情報学）．日本音響学会，
IEEE 各会員．

http://sisec.wiki.irisa.fr/

解説

非負値行列因子分解 NMF の基礎とデータ／信号解析への応用

電通会誌9月_02_解説_澤田.mcd

Page 5833

12/08/10 09:24

v5.50