1行定義
特異値分解とは、どんな形の行列も、2つの直交行列と、特異値を大きい順に対角に並べた行列の積に分解する手法のことです。
くわしく
特異値分解(SVD)は、行列を扱う線形代数の基本的な手法で、機械学習では次元削減やデータ圧縮に使われます。行と列の数が異なる行列にも使えるのが特徴です。
分解のしかた
m行n列の行列Aを、次の3つの行列の積に分けます。
A = U Σ Vᵀ
UとVは直交行列で、それぞれ行の側(たとえばユーザー)と列の側(たとえば商品)の軸を表します。Σは対角線上にだけ値をもつ行列で、その値を特異値と呼びます。特異値は0以上で、大きい順に並べます。特異値が大きい成分ほど、元の行列の主要な特徴を担っています。
低ランク近似
上位k個の特異値と、それに対応するUとVの列だけを残すと、元の行列をより少ない数値で近似できます。kを小さくするほどデータは小さくなりますが、再現の精度は下がります。このように切り詰めた近似が、二乗誤差の意味で最もよい近似になることは、1936年にエッカートとヤングが示しました。
身近な例では、画像を表す行列の上位の成分だけを残すと、大まかな絵柄を保ったままデータを圧縮できます。
ほかの手法との関係
- 主成分分析:平均を引いたデータの行列を特異値分解すると、主成分の方向が求まります。実際の計算でもよく使われます。
- 潜在意味解析(LSA):文書×単語の行列を特異値分解し、文書や単語を少数の潜在的な意味の軸で表します。のちのトピックモデルにつながる考え方です。
- 推薦システム:ユーザー×商品の評価行列を低ランクの行列の積で近似し、潜在的な好みを取り出します。実際の評価行列は空欄が多いため、観測された評価だけから因子を学ぶ行列分解の手法がよく使われます。
覚え方
「回して、伸ばして、また回す」と覚えます。ベクトルに掛けると、Vᵀで向きを変え、Σで軸ごとに伸び縮みさせ、Uでまた向きを変える、という3段階になります。
G検定での出題
出題のされ方
正方行列以外にも使えること、大きい特異値の成分だけを残す低ランク近似による次元削減、主成分分析・潜在意味解析・推薦システムとの関係が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 特異値分解このページの用語 | どんな形の行列も、2つの直交行列と、特異値を大きい順に対角に並べた行列の積に分解する手法 |
| 主成分分析 | 多くの変数をもつデータを、元のばらつき(分散)をできるだけ保つ、互いに無相関な少数の合成変数にまとめる次元削減の手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
特異値分解では、行列を、直交行列、特異値を対角に並べた行列、直交行列の3つの積に分ける。
答えを見る
答え ◯ 正しい
A = UΣVᵀの形です。UとVが直交行列、Σが特異値を大きい順に対角に並べた行列です。
-
文書×単語の行列に特異値分解を適用し、文書や単語を少数の潜在的な意味の軸で表す手法を、潜在意味解析(LSA)という。
答えを見る
答え ◯ 正しい
LSAは、同じ文書によく一緒に現れる単語を1つの軸にまとめます。のちのトピックモデルにつながる考え方です。
-
特異値分解で上位k個の特異値だけを残して行列を近似するとき、kを小さくするほど、元の行列をより正確に再現できる。
答えを見る
答え × 誤り
kを小さくするほどデータは小さくなりますが、捨てる成分が増えるので再現の精度は下がります。圧縮率と精度はトレードオフです。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目8 教師なし学習)
- Carl Eckart, Gale Young, The Approximation of One Matrix by Another of Lower Rank, Psychometrika 1(3), 211–218 (1936)
- Yehuda Koren, Robert Bell, Chris Volinsky, Matrix Factorization Techniques for Recommender Systems, Computer 42(8), 30–37 (2009)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (2.8 Singular Value Decomposition)