JSBi Bioinformatics Review
Online ISSN : 2435-7022
Review
Mathematics for Heterogeneous Biological Data Fusion Analysis with Matrix-Tensor Factorization
– Part II. Simultaneous Matrix Factorization –
Koki Tsuyuzaki
Author information
JOURNAL OPEN ACCESS FULL-TEXT HTML

2021 Volume 2 Issue 1 Pages 15-29

Details
Abstract

生命科学分野で取得されるデータ集合は、雑多(ヘテロ)な構造になり、ヘテロなデータ構造を扱える理論的な枠組みがもとめられている。本連載では、汎用的なヘテロバイオデータの解析手法である行列・テンソル分解を紹介していく。第1回では、1つの行列における代表的な行列分解PCA/SVDNMFICAを紹介し、それらを「パターンの和としての行列分解」、「射影としての行列分解」という2つのアプローチで説明した。第2回でも引き続きこれらのアプローチを利用し、行列が複数ある時に適用できる、行列同時分解について説明する。

2行列での行列同時分解

同じ行を共有する2つの行列、すなわちn×pの行列Xn×qの行列Yの同時分解を考える。ここでいう同時分解とは、1行列での行列分解手法を個々の行列に適用したり、複数の行列を一度1つの行列にマージしてから行列分解するようなことではなく、後述するように、1つの手法内で複数の行列を最適化時に互いに関連づけながら、同時に分解することを指す。2行列が行ではなく列を共有する場合は、それらを転置してから利用すれば同様に扱うことができる。このようなデータ集合の典型例としては、共通の空間(例:細胞、臓器、組織)から、トランスクリプトーム、プロテオームなど異なる種類のオミックスデータを取得する、マルチオミックスデータがある。このようなデータ構造は、マルチモーダル、マルチビューといった呼ばれ方もする。ここでは、第1回[1]のやり方を踏襲し、「射影としての行列同時分解」手法であるPartial Least Squares(PLS2, 3])、Canonical Correlation Analysis(CCA4, 5, 6])、「パターンの和としての行列同時分解」手法であるJoint Non-negative Matrix Factorization(JointNMF7, 8, 9])、Group Independent Component Analysis(GroupICA10])、Generalized Singular Value Decomposition(GSVD11])を紹介する。

射影としての行列同時分解

まずは「射影としての行列同時分解」手法として、PLS2, 3]とCCA4, 5, 6]を説明する。ここでは第1回[1]で説明した、「射影としての行列分解」のイメージが役に立つ。ここでは2行列XYはともに、列ごとに平均値が0になるように中心化されているものとする。行列XYは本来次元が異なる(p != q)行列同士なので、そのままでは値を比較することはできない。しかし、Xに行列Vp×k)をかけ、Yには行列Wq×k)をかけることで、共通のk次元空間に射影されるため、その空間内では類似度が計算できるようになる(図1)。この部分空間内におけるXのスコア(XV)とYのスコア(YW)間で共分散covXV,YW)が最大になるようにローディングVWを推定する手法がPLSであり、相関corXV,YW)が最大になるようにVWを推定する手法がCCAである。これらは、目的関数は同じであるが、拘束条件が異なり、ナイーブにPLSを解いた場合[12]はXYの相互共分散行列 Σ XY = 1 n X T Y のSingular Value Decomposition(SVD、第1回[1]を参照)   

(1) Σ XY = VSW T
としてVWを求める事ができる(Sは特異値を対角要素にもつk×kの対角行列)。または、トレースを利用して、   
(2) max V , W tr ( V T Σ XY W )
のように、ΣXYの対角化ととらえることもできる。このような定式化は、Principal Component Analysis(PCA、第1回[1]を参照)の目的関数のΣXXをΣXYに置き換えただけなので、PCAの素直な2行列拡張ととらえる事もできる。このアプローチは、Co-inertia Analysis(CIA13])、またはPartial Least Squares-Correlation(PLS-C)[3]とも呼ばれる。

図1:CIA、PLS、CCA(射影としての行列同時分解)

共通のk次元空間に2行列を射影し、スコア間の共分散(または相関)が最大になるように、射影行列をもとめる。

PLSPCAと異なる基準でスコアXVYWとローディングVWを求めるが、圧縮次元数が2以上の時に、スコアとローディングのどちらに直交性をもたせるかで、幾つも最適化アルゴリズムが提案されている。上記のナイーブなPLSはローディングの列ベクトルを互いに直交にするが、実際に広く利用されているNonlinear Iterative Partial Least Squares(NIPALS)やStatistically Inspired Modification of Partial Least Squares(SIMPLS)といったPLSアルゴリズムは、スコアの列ベクトルの方を互いに直交にする[2]。これは、後述するようにPLSはPartial Least Squares-Regression(PLS-R)、Partial Least Squares-Discriminant Analysis(PLS-DA)など、圧縮次元先で予測モデルを構築するようなモデリングに利用されるため、多重線形性の観点から、ローディングVよりもスコアXVの方を直交化させたいという要請によるものである[2]。PCAではスコアも、ローディングもともに直交であるが、PLSの枠組みで両者を同時に直交化させることは難しく、著者の知っている範囲ではBi-orthogonal PLS [14]というモデルだけがそのような直交化を行っている。

一方CCAの場合は、白色化(スコアの分散が1になるようにする前処理、第1回[1]のICAの項を参照)したXYの相互共分散行列のSVDから   

(3) ( Σ XX ) 1 2 Σ XY ( Σ YY ) 1 2 = VSW T
として求める[15]。またはトレースを利用して   
(4) max V , W tr ( V T ( Σ XX ) 1 2 Σ XY ( Σ YY ) 1 2 W )
と書くこともできる。

パターンの和としての行列同時分解

次に、「パターンの和としての行列同時分解」手法として、Non-negative Matrix Factorization(NMF、第1回[1]を参照)ベースのJointNMF7, 8, 9]、ICA(第1回[1]を参照)ベースのGroupICA10]、SVD(第1回[1]を参照)ベースのGSVD11]を紹介する。ここでは第1回[1]で説明した「パターンの和としての行列分解」のイメージが役に立つ。射影としての行列同時分解では、2行列XYを低次元に射影するための行列VWを各々最適化していたのに対し、パターンの和としての行列同時分解での問題設定では、2行列に共通する因子行列Uと、各行列が各々もつ因子行列VXVYを最適化する(図2)。

図2:JointNMF、GroupICA、GSVD(パターンの和としての行列同時分解)

共通因子Uを仮定し、全因子行列を逐次的に更新。

JointNMFでは、図2のように、2行列XYを同時に分解する際に、共通の因子行列Uを仮定する。なお2行列はともに非負値だとする。後は、通常のNMFと同様に、Multiplicative Update Rule(MU則、第1回[1]を参照)で以下のように因子行列UVXVYを逐次的に最適化する。

  

(5) U U ( XV X + YV Y UV X T V X + UV Y T V Y )

  

(6) V X V X X T U V X U T U

  

(7) V Y V Y Y T U V Y U T U

Independent Component Analysis(ICA、第1回[1]を参照)の最適化アルゴリズムの一つInfomaxの更新式を2行列に拡張した、Group ICA[10]では、2行列XYは実行列として、以下のように自然勾配法で2行列に共通する因子行列Utを逐次的に最適化する(ただし、tは逐次最適化の反復ステップ、ηt)は定数か1/tなどの減衰関数、φA)はtanh(A)など何らかの非線形関数)。

  

(8) U t + 1 = U t + η ( t ) { I φ ( X ) X T φ ( Y ) Y T } U t

SVDを2行列に拡張したGeneralized SVD(GSVD11])では、実行列であるXYを以下のように同時に分解する。

  

(9) X = X V X T Y = Y V Y T

ただし、UXYで求めた共通する因子行列であり、ΛAは行列Aごとの対角行列、VAは行列Aごとの因子行列である。

1行列での行列分解と2行列での行列同時分解の違い

上記のような2行列の同時分解を利用することで、1行列の行列分解を個々に行った場合とで解析結果に差が出る可能性がある。例えば、射影としての行列同時分解(例:PLSCCA)で考えてみると、2行列で別々にPCAを実行して2行列のスコア(XVYW)を取り出した場合と、行列同時分解で2行列を互いに関連づけながら、2行列のスコアを取り出した場合とで比較すると、例え片方の行列で分散が大きいスコアがPCAで選ばれても、そのスコアがもう1つの行列のスコアと共分散や相関が低い場合、行列同時分解としてはそのようなスコアは選ばれない。パターンの和としての行列同時分解(例:JointNMFGroupICAGSVD)で考えても同様であり、個々の行列の解析だけでは、ある行列の中に含まれるパターンのうち、どれがもう片方の行列にも共通しているもので、どれがその行列に特異的なのかを区別することはできない。しかし、共通因子行列Uの推定に2行列を参加させることで、2行列に共通したパターンUにすることができる。

このようなモデリングは、複数のデータでの再現実験を自然と行ったことに相当し、個々のデータの解析だけで、一般的な結論を導こうとしたり、再現性がないテクニカルノイズを生物学的なシグナルだと勘違いしてしまう偽陽性の回避が期待できる。例えば、PCCA[16]という手法では、個人ごとのリンパ芽球細胞株の遺伝子発現データと、SNPデータの2行列をCCAで同時分解しており、遺伝子発現データのPCAではノイジーで検出できなかった集団構造を、SNPのデータと組み合わせることで、検出できるようにしている。

分子動力学分野では、シミュレーションでもとめたタンパク質を構成する原子の時間発展情報(トラジェクトリ)を行列データととらえ、PCAなど各種多変量解析手法を適用することで代表的な動きのパターン(モード)を検出することが行われているが、Functional Mode Analysis(FMA17, 18])という手法では、トラジェクトリ行列を説明変数、事前に設定したタンパク質の機能情報を目的変数として、PLS-R(後述)を適用しており、タンパク質の機能と関連するモードだけを取り出すことに成功している。

また、1細胞レベルでラマンスペクトルと、遺伝子発現量を同時計測したデータに対してPLS-Rを行った例[19]のように、一度同時計測したデータで予測モデルを構築しておけば、それ以降は計測しやすい方のデータ(例:ラマンスペクトル)を取得するだけで、もう片方のデータの予測値(例:遺伝子発現量)を手に入れることが可能である。

教師のありなしと恣意性に関する議論

2行列の同時分解において、Xをデータ行列、YXのラベル情報(ダミー変数行列)とした場合、ラベルに関連したXのスコアを取り出すことができる(図3)。PLSは元々このような発想で生まれた手法であり、PCAのスコアとYの回帰(Principal Component Analysis-Regression; PCA-R)ではYの予測に不必要なスコアまでモデルに利用されてしまうため、予測に役に立つスコアだけをXから取り出そうとする。この時、Yがダミー変数の場合はPLS-DAYが連続量の場合はPLS-Rという[2, 3]。CCAYがダミー変数の場合は、FisherのLinear Discriminant Analysis(LDA)と等価であることがわかっている[20, 21]。

図3:ダミー変数との行列同時分解

行列同時分解で、片方の行列をラベル情報(ダミー変数)にすることで、ラベルを反映するスコアを得ることができる。

このようなモデルで計算されたスコアやローディングを可視化に利用することもでき、教師あり次元圧縮と呼ばれることもある。なお、教師ありモデルの文脈では、ローディングは回帰係数とも呼ばれる。教師あり次元圧縮は、良くも悪くも人が最初に設定したラベルに関連した構造を取り出そうとするため、データのありのままの性質を見ておらず、恣意的であるとして、否定的な意見を持つ人が一定数いる。著者の見解としては、両アプローチともにメリット・デメリットがあり、うまく使い分けたり、組み合わせて利用することで、より解析の幅が広がると考えていることから、ここでは、可能な限り両者をフェアに比較してみることにする。

まず、そもそもの話として、教師あり学習と教師なし学習の境界はかなり曖昧である。例えば、教師あり学習と教師なし学習の違いを以下のように説明する人が多いと思われる。

1.状況による説明:事前知識がある状況で行うのが教師あり学習、事前知識なしで行うのが教師なし学習
2.タスクによる説明:新たなデータでの予測値を求めるのが教師あり学習、手元のデータに含まれるパターンを調べるのが教師なし学習
3.ラベルによる説明:モデルがラベルを使っているなら教師あり学習、使っていないなら教師なし学習

これらの説明は、全て例外があり、はっきりと区別できない場合が存在する。まず1. 状況による説明についてだが、真に教師なしの状況であれば、データXから得られたパターンYのその後の生物学的解釈も、手法の良し悪しも本来議論できない。ほとんどの場合、研究者は結果を解釈する別のラベル情報をヒントとして事前に持っており、手法の評価に利用することから、真に教師なしの状況で解析することなどほとんどありえない。

また、2.タスクによる説明については、教師あり次元圧縮を利用して教師なし学習のようにパターンを見る解析、例えば、ラベルの通りにクラスタが分離する部分空間が存在するかを確認するような解析もある[22]。また逆に、予測を教師なし学習の枠組みで行うことも可能であり、例えば、事前に学習データXtrainPCAを行い、学習された射影行列Vtrainを、新たに得られた行列XnewにかけてXnewのスコア(Xnew Vtrain)とする解析もある。このような解析は、2017年にLi, H.らがReference Component Analysis(RCA23])と名付けたが、それより以前から情報検索の分野ではFolding-in[24]という名前で利用されている。NMFでも同様に、学習データXの分解で得られたVtrainXnewの分解に利用する、NMFによる転移学習がある[25, 26, 27, 28, 29]。また、データ行列に含まれる計測されなかった欠損値を補完する解析の場合は、行列分解であっても、やっていることとしては予測問題である。まとめると、以上のことから、教師ありなしの違いは射影行列の推定にラベルを使ったかどうかの違いでしかなく、タスクで区別することは常にできるわけではない。

また、例え射影行列の推定にラベルを使ったとしても、どの程度そのラベルを参考にしたのかという議論もある。これが3. ラベルによる説明の曖昧さであり、線形回帰モデルのように、Yを定数(教師)として、データ行列XのスコアXVがこのYの値となるべく一致するように射影行列Vを最適化するのであれば議論はないが、PLSCCAのように、XYも一度低次元に射影してスコアにする行列同時分解においては、XのスコアもYのスコアも共に変数であり、最適化対象である。このような場合、YによりXの射影行列Vが学習されるだけでなく、XによりYの射影行列Wも学習されるため、これではXYのどちらが教師で生徒なのかわからない。このようなモデルを教師あり学習というのは、実際にやっていることとニュアンスに乖離があり、Raj, B.は“Softly” Supervisedという言葉を使っている[30]。行列同時分解におけるラベル情報の影響は、あくまで程度問題であり、XにありもしないパターンがYからの一方的な影響により偽陽性的に作り出される訳ではないことに注意してほしい。

上記のように、教師ありなしという言い方は、時として本質を見失う危険性をはらんでいる。しかしながら、両アプローチで代表されるタスクや手法が各々あり、それらを指し示すインデックスとして便宜上そういった言葉が必要な場面があることも事実であることから、ここでは教師ありという言葉を、3.のように“Softly” Supervised なモデルも含め、モデルがラベル情報を使っているという意味で使うことにする。

教師あり学習のメリットとしては、教師あり学習の方が、研究者人口が多く、理論的発展が先行しており、Open Source Software(OSS)も良く整備されている印象がある。例えばscikit-learn[31]などの機械学習フレームワークでは、各教師ありモデルの実行ワークフローが素晴らしく体系化されている。また、機械学習分野でおそらく最も重要な概念である、汎化性能(XnewにおけるYnewの予測性能)は、Cross Validation(CV)で定量的に評価でき、目的がはっきりしているため作業に曖昧さが少なく、データXとラベルYのセットを用意できさえすれば、比較的誰でも参入しやすい。ただし、デメリットとしては、ラベルがないと使えない点、データが大規模になるほどラベル作成コストが無視できなくなる点、またラベル情報の作成に曖昧さや恣意性が入りやすい点が挙げられる。また、少数のサンプルで超高次元データを解析する状況(p>>n問題)や、誤ったラベルが含まれている状況では、精度が大幅に落ちることが報告されている[32]。良くも悪くもラベルの影響を受けるところが、教師あり学習の特徴だと言える。

一方、教師なし学習のメリットとしては、ラベルを利用しないモデルであるため、ラベル作成のコストを省いて取り組むことができ、また事前知識に寄らない新たなパターンの発見が期待される。データの品質管理(Quality Control)のためにまずは教師なし学習を試して、データの分布や性質を調べる探索的データ解析(Explanatory Data Analysis; EDA)は、その後どのようなモデリングを行うにせよ、まずは最初に行うべき作業である。一方、デメリットとしては、得られた結果(パターン)の解釈が経験的な要素が多く、主観が入りやすいことである。ラベルに従った構造をラベルがなくても取り出せるという主張は、多くの教師なしモデルの論文でよく見る論調であるが、「その研究者の望んだラベルに従うY」になるようにデータの選別や前処理、パラメーターを選べるため、手作業でモデルを過学習させてしまう危険性もあり、データや仮説検定手法を取捨選択して有意な結果を導こうとするp-hackingと同様、研究者にとって都合の良い解析結果を作成できる余地があることから、客観性の担保が難しい。また、あるデータで試行錯誤して、特徴量を抽出した手順は汎用的でない場合が多いため、別のデータでは意味をなさず、作業が煩雑になるほど職人芸化してしまい、解析の再現性が損なわれる点もある。ここで「再現できないものは科学ではない」[33]とまで言うのは厳しすぎるかもしれないが、誰かが開発した教師なしモデルを、別の研究者が別のデータで試す際に、同じことが再現できるか、開発者が想定している最高のパフォーマンスを引き出せているかがわからない。また職人芸は自動化できないので、「100個のデータで同じことをする」というタスクにも向かない。

上記のような両者のメリット・デメリットを理解した上で、お互いを連携させることで、より良い解析が期待できる。例えば、教師なし学習で教師あり学習をサポートする話として、教師あり学習の学習データの前処理として、教師なし学習(例:PCA)を行う特徴量エンジニアリングが挙げられる。一般的にデータの次元が大きいほどモデルの性能が落ちる「次元の呪い」という現象があるため、事前に教師なし学習で次元を減らすことで、教師あり学習の性能を改善できる。また深層学習のような複雑な構造のモデルでは、最適化するパラメーターの値が極端に小さくなることでアンダーフローを起こす勾配消失、または大きくなることでオーバーフローを起こす勾配爆発という現象があるが、事前の教師なし学習が計算の安定に寄与することが経験的に知られている[34]。また、前処理の教師なし学習のパラメーターも汎化性能が高くなるように選択すれば、教師なし特有の恣意的な作業もない。教師なし学習で得られた構造をデータのラベル作成(アノテーション)に活用しても良いので、その後は、ラベルを利用した教師ありモデルの活用も視野に入れることが可能となる。また、現実世界では、データの一部分だけラベルが付いているという状況もあるため、こういった状況では、半教師モデルという、両者のハイブリッドな手法が活躍する[35]。

逆に、教師あり学習で教師なし学習をサポートする話として、パラメーター推定の客観化・自動化が挙げられる。教師なし学習での試行錯誤の末、データXから取り出されたパターンYは、さらに様々な作業を経て妥当性が評価され、意味ある面白いパターンだと主張されるわけだが、最終的にデータXとラベル(“元”データから得られたパターン)Yがペアになった状態は、教師ありの状況に他ならない。この状況をうまく利用し、XからクラスタラベルYを生成し、XYを別の教師あり学習でCVすることで、最適なクラスタ数を自動探索する手法が幾つか提案されている[36, 37]。このような方法は、自己教師あり学習とも呼ばれ、クラスタ数や興味があるパターンの選出を恣意的に行う教師なし学習の弱点を教師あり学習でうまくカバーしており、教師なし学習における自動化(AutoML)の鍵にもなるかもしれない。

Known/Unknown/Wanted/Unwanted分類

上記のように、教師あり学習はラベル作成時に、教師なし学習は結果の解釈時に恣意性が入る。また、そもそも自分が知りたいことだけを調べる研究という行為自体が、言ってしまえば恣意性の塊なので、我々は恣意性から逃れることはできないと思う。そのため、ここではやや開き直り、恣意性も肯定的にとらえた上で、上記の教師のありなしとは違った、もう少し役に立つ分類法も紹介する(図4)。

図4:Known/Unknown/Wanted/Unwanted分類

Wanted/Unwantedは、その変動がその研究者にとって好ましいか否か、Known/Unknownは、どのサンプルにどのような変動があるのかを研究者が把握しているか否かを意味する。

2017年にストックホルムで開催されたHuman Cell Atlas Computational Methods MeetingでNir Yosefは、データには4つの変動、すなわち、1.既知の望ましい変動(Known/Wanted)、2.既知の望ましくない変動(Known/Unwanted)、3.未知の望ましい変動(Unknown/Wanted)、4.未知の望ましくない変動(Unknown/Unwanted)が含まれると説明している[38, 39]。

ここでWanted/Unwantedの区別は、研究者が恣意的に決めるものである。例えば、1細胞RNA-Seqデータで細胞型ごとの変動を見たい時に、細胞周期による変動も含まれていた場合、その人にとって細胞周期は邪魔なUnwantedな変動だと言えるが、細胞周期を研究対象としている人にとっては、その変動こそがWantedであるため、これらの分類は研究者によって異なる。ここではその分類の仕方の優劣は議論しない。

Known/Unknownの違いは、そういう変動がデータに含まれていることを、その研究者が把握しているかどうかの違いである。例えば、細胞のラベル情報や、遺伝子のパスウェイ情報などは、そのデータに紐づいたKnownな情報である。データに含まれているかもしれないその他の変動要因は、まだ調べないとわからないのであればUnknownとする。ただし、前述したように、完全なUnknownな状況は手の施しようがないので、実際はあくまで手がかり程度の情報(例:マーカー遺伝子)はある状態を指す。

Wantedな変動をどうモデリングするかについてだが、前述の教師ありなし議論と関連付けると、Known/Wantedは教師あり学習、Unknown/Wantedは教師なし学習で取り出されるパターンである。EDAの過程で知識がアップデートされることでKnown/UnwantedやUnknown/Wantedが、Known/Wantedに切り替わることもある。データ解析でやりたいことは、あくまで最終的にその研究者のKnown/Wantedなパターンを取り出すことであり、それを取り出すためのヒントはなんでも使えば良い。例えば、細胞型が未知の1細胞RNA-Seqデータに含まれる細胞型を見つけたい問題などでは、マーカー遺伝子の発現がUnknown/Wantedな変動であり、Known/Wantedは細胞型が同定された時にその細胞型に従った変動である。Unknown/Wantedな変動をよく調べることで、細胞型が同定されることは、Unknown/Wantedな変動 がKnown/Wantedな変動に切り替わったことを意味する。このKnown/Wantedなラベルをさらにモデルに組み込むかというところで、上記のラベルの利用に関する恣意性で意見が分かれるところであるが、自分の見解としては、「ラベルという情報もノイズを含んだカテゴリカルな1データでしかないので、特に区別せず使えるものは何でも使えば良いのでは」と考えている。例えば、ラベルを与えて、ラベルを見つける問題をモデルに解かせるのはただのカンニングでしかないが、それ以外の解析、例えば、ラベルに従った特徴量の抽出や、もっと下流の解析への利用にその特徴量を利用する際においては、ラベルとは無関係な変動も多く含む教師なしパターンよりも、よりはっきりとしたパターンだけが取れてくる教師あり学習の方が便利な状況もあるだろう。

Unwantedな変動のモデリングについては、基本的な考え方はWantedと同じだが、最終的にそのUnwantedな変動を推定した後にデータから取り除く(Regress outという)ことでデータの値を補正したり、Unwantedな変動とWantedな変動を分離することで、よりWantedな変動検出の精度を向上させることを考える。行列同時分解は、データからKnown/Unwantedな変動を取り除くのに便利である。例えば、複数バッチある1細胞RNA-Seqをそのままマージして解析すると、細胞型など研究者が見たい変動よりも、計測器具、試薬、計測日など実験環境の微妙な違いによる人為的な変動の方が大きくなってしまうバッチ効果を例に挙げると、Seurat[40]やLIGER[41]といった手法では、バッチごとにデータ行列を分離しておき、「細胞型・細胞状態のような生物学的な変動はデータ間で再現性があるが、バッチごとの人為的な変動には再現性がない」という仮定のもとで、行列同時分解を適用することで、バッチ効果を回避することができる。また、データからUnknown/Unwantedな変動を除去する手法としては、対照群と処置群とでデータ行列が2つあった時に、処置の有無とは無関係に両群に含まれる交絡バイアスを取り除くscPLS[42]、Contrastive PCA [43]といった手法がある。具体的にどのサンプルの遺伝子にそのような交絡因子があるのか把握していなくても、モデルとしてそのような仮定を入れることで、交絡バイアスを取り除いた結果だけを得ることができるのである。なお、行列同時分解的には、前者の解析は共通因子だけを見ようとする解析、後者の解析は共通因子を取り除こうとする解析に対応する。

Knownな変動もUnknownな変動も同時にモデルに組み込むことは可能である。例えば、Remove Unwanted Variation from RNA-Seq Data(RUV-Seq44])や、Surrogate Variable Analysis(SVA45])、Factorial Single-cell Latent Variable Model(f-scLVM46])などは、共に(1細胞)RNA-Seqデータにおける正規化やDifferential Expression Genes(DEGs)検出を行うツールであり、対照群と処置群のような群情報(Known/Wanted)に従って、変動する遺伝子群を検出するが、オプションでKnown/Unwanted(バッチの違い、QC尺度のばらつき)やUnknown/Unwanted(例:ERCC-spikein mixやハウスキーピング遺伝子のばらつき)も同時に考慮できる。また、例えUnknown/Unwantedのヒントが全くなくても、少なくとも完全にランダムなノイズではなく、なんらかの原因によって発生する、構造を持ったノイズだと想定されるため、データ行列からKnown/Unwantedな変動を差し引いた残差に対してSVDを実行し、分散が大きい成分をデータ行列からRegress Outするという考え方もある[44]。

正則化

上記の教師あり学習では、データXも事前情報Yも対等に扱っていたが、データと事前情報のどちらをどの程度信頼するのかを正則化の枠組みで調整できるモデルもある。通常正則化とは、過学習の解消や、多重線形性があるデータでの数値計算の安定化の目的で、目的関数とは別にペナルティ項(正則化項)を追加する機械学習のテクニックの総称である。一方、ここで紹介するグラフ(ラプラシアン)正則化[47]という手法は、正則化項を利用してさらに事前情報を取り組める。ここでは、X側はPCANMFなどの行列分解を適用し、Y側は事前情報のグラフデータとして、ラプラシアン固有マップという次元圧縮法を適用する。この時に、Xの行列分解で得られる因子行列とYのラプラシアン固有マップで得られる因子行列が共通だと仮定し(図5)、二つの目的関数を重み付けで足し合わせて1つの目的関数にした上で、まとめて最適化する。メインの目的関数側の最小化問題(行列分解)と、正則化項側の最大化問題(ラプラシアン固有マップ)は拮抗しており、これらのバランスは重みパラメーターλ(0≤λ≤1、大きい値にするほどより事前知識を反映した結果になる)によって調整される。このような目的関数を混ぜるアプローチは、機械学習分野では常套手段であり[48, 49]、両者の性質を併せ持ったような共通因子が得られるため、ノイジーなXであっても、Yでサポートすることで、望ましいパターンが取り出せる可能性がある。例えば、miRNAと疾患の関係[50]や、ヒトマイクロバイオーム(例:腸内細菌叢)と疾患の関係[51]など、一部の例を除いてほとんど何もわかっていないスパースなデータに対して、miRNA-miRNA類似度(例:ターゲット遺伝子の重複度合い)や、疾患-疾患類似度(例:疾患オントロジー上のセマンティック類似度)を事前知識としてグラフ正則化で取り込むことにより、上記の関係性の予測精度が向上した例がある。

図5:グラフ正則化

メインの行列分解の目的関数に、事前情報のラプラシアン固有マップの目的関数を重み付けで足し合わせる。両目的関数に共通因子を仮定することで、両者の性質を併せ持つ結果が得られる。

他にもグラフ正則化と類似したテクニックとして、ヘッシアン固有マップを利用したヘッシアン正則化[52]、事前情報がテンソルの場合のグラフ正則化であるハイパーグラフラプラシアン正則化[53]、Hilbert-Schmidt Independence Criterion(HSIC54])、Kernel Target Alignment(KTA55])、Maximum Mean Discrepancy(MMD56])など、カーネル関数で非線形に射影された高次元空間上でのXYの非類似度を正則化に利用したものがある。また、クロネッカー積カーネルによる正則化は、vecトリックというテクニックで、高速に計算できるエレガントな解法である(KronRLS[57])。

3行列以上での行列同時分解

2行列での行列同時分解を拡張して、3つ以上の行列でも同時分解を行うことができる。なお、アルファベットが枯渇するため、ここでは3つ以上の行列は各々Xi(サイズ:n×pi1imm≥3)とし、2行列の時と同様に、これらは同じ行を共有しているとする。例えば、このようなデータ集合は、3つ以上のオミックスを、共通の空間で計測したものマルチオミックスデータ[58]や、同じ種類のデータであってもバッチが異なるデータ集合の解析[40, 41]などで利用されている。

CIAや、PLSCCAの3行列以上の拡張としては、Multiple CIA(MCIA59, 60])、Multiset PLS(MPLS61])、Multiset CCA(MCCA40, 58, 62, 63, 64, 65])がある。ここではMCCAだけを説明する。通常のCCAでは、中心化された2行列XYの射影先での相関最大化が目的関数であったのに対し、MCCAでは、中心化されたデータ集合X1, X2, ..., Xmの射影先での「総当たりの相関の和」が最大になるように射影行列をV1, V2, ..., Vm推定する(図6)。

  

(10) max V 1 , V 2 , V m i = 1 m j = 1 ,   j i m t r ( V i T Σ ij V j )

図6:m行列におけるMCIA、MPLS、MCCA

共通のk次元空間に全行列を射影し、総当たりでのスコア間共分散(または相関)の和が最大になるように、射影行列をもとめる。

ただし、 Σ ij = 1 n X i T X j は、2行列XiXjの相互共分散行列であり、拘束条件として、全てのiにおいて V i T Σ ii V i = I k Ikk×kの単位行列)とする。なお、この総当たりの相関の和をどのように計算するのかは、最適化アルゴリズムによるところではあるが、一般化固有値分解(Generalized EVD; GEVD)を利用した手法Sum of Correlation(SUMCOR)[62, 63]では、全てのΣijの対角化を以下のように一度に行う。まず、自分自身を含む1からmまでの全組み合わせでの相互共分散行列と、拘束条件に関係する行列を以下のように、ブロック行列としてまとめる。

  

(11) C = [ Σ 11 Σ 12 Σ 21 Σ 22 Σ 1 m Σ 2 m Σ m 1 Σ m 2 Σ mm ]

  

(12) D = [ Σ 11 0 0 Σ 22 0 0 0 0 Σ mm ]

次に、ラグランジュ未定乗数法より、以下のようにGEVDとすることで、V=(V1, V2, …, VmTを一度にもとめる。

  

(13) CV = ΛVD  

ただし、Λは対角要素に全組み合わせのCCAの目的関数の値(相関係数)を格納した、(k×m)×(k×m)の対角行列である。

JointNMF7, 8, 9, 41]の場合の3行列以上の拡張は、よりシンプルに行える(図7)。通常のNMFと同様、データ集合X1, X2, ..., Xmや、分解後に得られる因子行列UV1, V2, ..., Vmが非負値と仮定した際に、以下のように共通因子Uの更新は、MU則においてXiViの数が増えるだけであり、   

(14) U U i = 1 m X i V i i = 1 m UV i T V i
Viの更新も、Xiごとに以下のように更新するだけで良い。

  

(15) V i V i X i T U V i U T U

図7:m行列におけるJointNMF

共通因子Uを仮定し、MU則で全因子行列を逐次的に更新する。

上記のSeurat[40]やLIGER[41]は、既に3種類以上の1細胞オミックスデータに適用可能であり、各々MCCAとintegrative NMF(JointNMFの拡張)が利用されている。また、マルチオミックスデータ解析フレームワークであるmixOmics[58]が提供しているモデルの1つDIABLOも、MCCAの一種Generalized CCA(GCCA)を利用している。

よりヘテロな行列同時分解

上記のように、行が共通する複数の行列の同時分解は、これまで幾つも提案されてきている。一方、実際の生命科学データでは、行が共通する行列ばかりではなく、ある行列では列に関わる他のデータ行列があり、さらにその行列には、行が共通するデータ行列があり...という風に、より複雑な繋がり方をしている。ここでは、そういったよりヘテロなデータ構造にも適用できる行列分解アルゴリズムを紹介する。

まず、行列同時分解と、正則化項での事前知識の取り込みを組み合わせた手法が挙げられる。このようなアプローチは、行が共通した複数の行列同時分解がメインの解きたい問題として、他にも任意の行列の行・列に関する付加情報も加え、メインの問題を増強(Augment)するため、Augmented Multi-view Learningと呼ばれることもある[66]。例えばMCCAにラプラス正則化やヘッセ正則化を組み合わせたGraph Multi-view CCA[67]や、Hessian Multi-view CCA[68, 69]がある。Joint NMFでも同様に、Graph regularized Multi-view NMF[70]がある。また、複数行列とそれら全てにラベル情報も付随する状況では、複数の判別分析を同時に解くモデルを適用することもできる[58, 71, 72]。

Collective Matrix Factorization(CMF73, 74, 75, 76, 77, 78])というより汎用的な行列分解の定式化では、どの行列の分解もメインの目的関数、サブの目的関数(正則化項)とは区別せずに、統一的に分解する(図8)。多くのCMFの分解アルゴリズムはNMFMU則)ベースであり、行・列問わず、繋がりがあるデータ同士で共通因子を設定することで、互いに関連づけた解を得る。このようなヘテロなデータを活用した例は、遺伝子に関するあらゆるデータをCMFで統合することで、遺伝子-疾患の予測精度を向上させた例[74, 75, 76, 78]や、1細胞RNA-Seqの欠損値補完に利用したもの[77]などが挙げられる。

図8:CMF

行・列問わず、繋がりがあるデータ同士では共通因子を設定することで、互いに関連づけた解を得ることができる。

おわりに

今回は、行列が2つ以上ある状況で、どのようなアルゴリズムが適用できるかを議論した。第1回で紹介したPCA/SVDICANMFは2行列以上にも拡張でき、第1回で導入した「パターンの和としての行列分解」、「射影としての行列分解」という2通りの理解の仕方が、ここでも役立つことを示した。複数の行列を取り込む際に、人が事前に設定したラベルを利用することに関しての恣意性に関してどのような議論があるのかを、著者の私見を交えて述べさせていただいた。

行列同時分解自体は、行を共有する行列が直線的に増えていくことに対応しているが、各種正則化テクニックと組み合わせたり、CMFに拡張することで、行だけでなく列を共有する行列さえも取り込める。ただしそれでも、これらが想定するデータが複雑化していく過程はあくまで平面的であり、遺伝子発現×疾患のような二項関係は表現できても、遺伝子発現×疾患×臓器のような多項関係を表現するのには限界がある。後者は、テンソル(多次元配列)というデータ構造であり、行列(同時)分解と同様に、テンソルに対しても分解アルゴリズムが存在し、データ中に含まれる因子行列(パターン)を取り出すことができる。第3回では、このテンソル分解を紹介する。

References
略語リスト

・PCA

Principal Component Analysis

・SVD

Singular Value Decomposition

・NMF

Non-negative Matrix Factorization

・ICA

Independent Component Analysis

・PLS

Partial Least Squares

・CCA

Canonical Correlation Analysis

・MICA

Multimodal Independent Component Analysis

・JointNMF

Joint Non-negative Matrix Factorization

・GroupICA

Group Independent Component Analysis

・GSVD

Generalized Singular Value Decomposition

・CIA

Co-inertia Analysis

・PLS-C

Partial Least Squares Correlation

・NIPALS

Nonlinear Iterative Partial Least Squares

・SIMPLS

Statistically Inspired Modification of Partial Least Squares

・PLS-R

Partial Least Squares Regression

・PLS-DA

Partial Least Squares Discriminant Analysis

・MU則

Multiplicative Update Rule

・FMA

Functional Mode Analysis

・LDA

Linear Discriminant Analysis

・RCA

Reference Component Analysis

・OSS

Open Source Software

・CV

Cross Validation

・EDA

Explanatory Data Analysis

・RUV-Seq

Remove Unwanted Variation from RNA-Seq Data

・SVA

Surrogate Variable Analysis

・f-scLVM

Factorial Single-cell Latent Variable Model

・DEGs

Differential Expression Genes

・HSIC

Hilbert-Schmidt Independence Criterion

・KTA

Kernel Target Alignment

・MMD

Maximum Mean Discrepancy

・MCIA

Multiple Co-inertia Analysis

・MPLS

Multiset Partial Least Squares

・MCCA

Multiset Canonical Correlation Analysis

・GEVD

Generalized Eigen Value Decomposition

・SUMCOR

Sum of Correlation

・GCCA

Generalized Canonical Correlation Analysis

・CMF

Collective Matrix Factorization

著者略歴

露崎 弘毅
2015年、東京理科大学生命創薬科学科博士後期課程終了。博士(薬科学)。同年より、理化学研究所情報基盤センターバイオインフォマティクス研究開発ユニット(現在の所属1)に在籍。現在、基礎科学特別研究員及びJSTさきがけ研究員を兼任。パッケージングに特化したハッカソンBio “Pack”athonを主催。本年度BioconductorのアジアカンファレンスであるBioC Asia 2021を主催予定。
ホームページ:https://sites.google.com/view/kokitsuyuzaki

 
© 2021 Japan Society for Bioinformatics

This article is licensed under a Creative Commons [Attribution-NonCommercial-ShareAlike 4.0 International] license.
https://creativecommons.org/licenses/by-nc-sa/4.0/
feedback
Top