
232 8 章 線形代数
理論的には違いは 0 になるはずだが、実際には計算の大雑把さに驚くことがある。
8.3 行列の分解
行列 A の
行列 B, C への分解は、除算の一種である。既に説明したように、正則行列 M には逆行列 M
−1
があるので、単位行列 I は I = MM
−1
のように分解できる。これは、一部の行列(I など)は、分解でき
ることを証明している。実際、多数の分解方法を持つ行列がある。単位行列の場合、正則行列の数だけ異な
る分解方法があるということになる。
行列の分解はデータサイエンスでは重要な抽象化であり、特徴の簡潔な表現方法やトピックモデリング
などの考え方に通じる。分解は、LU 分解などの特殊な形を通じて、線形方程式を解く際に重要な役割を果
たす。
残念ながら、分解を計算するのは難しい。整数の素因数分解は難しい問題だが、浮動小数点数を使うこと
が認められるときにはその複雑さは解消される。行列の分解はさらに難しいことがわかっている。行列に
よっては分解が不可能な場合がある。特に、X と Y の次元が決められているときに M = XY に分解する
のは難しい。
8.3.1 特徴行列を分解する理由
重要な機械学習アルゴリズムの多くは、行列の分解として考えることができる。n × m の特徴行列 A を
与えられたとする。通常の慣習に従い、A の行は要素を表し、列は特徴を表す。
ここで、行列 A は分解できるものとする。つまり、B を n × k 行列、C を k × m 行列とするとき、A