Help us understand the problem. What is going on with this article?

固有値分解、特異値分解のメリット(機械学習の学習 #1)

More than 1 year has passed since last update.

はじめに

機械学習の学習をはじめました。調べたこと学んだことを記録しています。

1.行列の種類と特徴

機械学習の学習で出会ったものをまとめます。学習が進めば編集する予定です。
行列まとめ.png

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も素人です。いろいろ気を付けて記載しているつもりですが、誤り等指摘していただけると泣いて喜びます。

蛇足

上記はすべて実数の世界で考えています。ネットで調べていると複素数の話が出てくるのですが、難しいのでスルーしています。

MA-fn
SIerに勤めるアラフォー。システムの監視とヘルプデスクをやってます。JDLA e資格2019#2取得。2020年度は量子コンピュータを学びます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした