はじめに
機械学習の学習をはじめました。調べたこと学んだことを記録しています。
1.行列の種類と特徴
機械学習の学習で出会ったものをまとめます。学習が進めば編集する予定です。
2.固有値分解
2.1. 固有値と固有ベクトル
正方行列$A$、スカラ$\lambda$、0ベクトルでないベクトル$\vec{x}$に対して以下が成り立つとき、
$$
A\vec{x}=\lambda\vec{x}
$$
$\lambda$を行列$A$の固有値、$\vec{x}$を行列$A$の固有ベクトルといいます。
2.2. 固有値分解
正方行列$A$が固有値$\lambda$、固有ベクトル$\vec{v}$を持つとき、
\begin{align}
A &=V\Lambda V^{-1} \\
\end{align}
\\
ただし、
\Lambda = \begin{pmatrix}
\lambda_1 & & \\
&\lambda_2 & \\
& & \ddots
\end{pmatrix}
V = \begin{pmatrix}
\vec{v_1} & \vec{v_2} & \cdots \\
\end{pmatrix}
と変形することを固有値分解といいます。で、
$A=V\Lambda V^{-1}$は 正方行列=正則行列・対角行列・正則行列 の形になります。
2.3. 固有値分解のメリット
- 行列の特徴が見えやすくなります。
- ゼロに近い固有値は行列全体に与える影響が小さいため、この固有値を無視すること(次元削減)で、高精度で近似計算できます。近似することで、計算コストが下げられたり、データ量が減らせたりします。
- $A^n$の計算がラク。
3.特異値分解
3.1.固有値分解に似せて説明してみる
正方行列$AA^T$が固有値$\sigma$、固有ベクトル$\vec{u}$を持つとき、
AA^T=USS^TU^{-1} \\
\\
ただし、
S = \begin{pmatrix}
\sigma_1 & & \\
&\sigma_2 & \\
& & \ddots
\end{pmatrix}
U = \begin{pmatrix}
\vec{u_1} & \vec{u_2} & \cdots \\
\end{pmatrix}
と変形できます。おなじく、
正方行列$A^TA$が固有値$\sigma$、固有ベクトル$\vec{v}$を持つとき、
A^TA=VS^TSV^{-1} \\
\\
ただし、
S = \begin{pmatrix}
\sigma_1 & & \\
&\sigma_2 & \\
& & \ddots
\end{pmatrix}
V = \begin{pmatrix}
\vec{v_1} & \vec{v_2} & \cdots \\
\end{pmatrix}
と変形できます。これらを使い、
A=USV^{-1} \\
と変形できます。これを特異値分解といいます。$A$は正方行列である必要はありません。($AA^T$は常に正方行列(対称行列)になります。)で、
$AA^T=USS^TU^{-1}$は 対称行列=直交行列・対角行列・直交行列 の形になります。$A^TA$も同様です。詳細は参考サイトのほうでご確認いただければと思います。$U$、$V$は直交行列なので、
$A =USV^{-1} =USV^T$=直交行列・対角行列・直交行列
となります。
3.2.特異値分解のメリット
- 行列$A$が正方行列でなくても、固有値分解のメリットを享受できます。
- $AA^T$や$A^TA$が分析対象として意味のある行列のときに、シンプルな形で表現できます。計算機で扱いやすい、といえます。意味のある行列ですが、$AA^T$は分散共分散行列を表せるようです(参考サイト4より)。
4.参考にしたサイト様
1 線形代数レクチャーノート
2 理数アラカルト
3 対角化、固有値分解、特異値分解、そしてジョルダン標準形
4 ダンゴムシでもわかる特異値分解
おわりに
筆者は、数学もQiitaも素人です。いろいろ気を付けて記載しているつもりですが、誤り等指摘していただけると泣いて喜びます。
蛇足
上記はすべて実数の世界で考えています。ネットで調べていると複素数の話が出てくるのですが、難しいのでスルーしています。