広告 統計学 統計学入門

【線形代数】固有値分解をゼロからわかりやすく解説!

2026年4月19日

固有値分解タイトル2

どうも。こんにちは。
ケミカルエンジニアのこーしです。

本日は、「固有値分解」をゼロからわかりやすく解説していきます。

統計学や機械学習を学んでいると「固有値」「固有ベクトル」によく出会います。
私自身、学生時代から何度か線形代数を学びましたが、センスがないためか期間が空くとすぐに忘れてしまいます。

そこで、本記事では「定義→求め方→具体例→対角化→固有値分解」と一歩ずつ丁寧に解説し、固有値分解についてザッと復習できるようにしています。

また、統計学や機械学習では対称行列(分散共分散行列など)を扱うことが多いため、対称行列の場合の特別な性質と具体例も解説したいと思います。

この記事を書いた人

プロフィール231130

こーし(@mimikousi)

固有値・固有ベクトルとは

\( n \times n \) の正方行列 \( A \) に対して、

$$
A \boldsymbol{v} = \lambda \boldsymbol{v} \quad (\boldsymbol{v} \neq \boldsymbol{0})
$$

を満たすスカラー \( \lambda \) を固有値、ゼロでないベクトル \( \boldsymbol{v} \) を固有ベクトル と呼びます。

固有値変換

上図のように、通常、行列 \( A \) をベクトルに掛けると、ベクトルは向きも大きさも変わります

しかし固有ベクトル \( \boldsymbol{v} \) は特別で、\( A \) を掛けても向きが変わらず、大きさだけが \( \lambda \) 倍されます。

  •  \( \lambda > 1 \):同じ方向に伸びる
  •  \( 0 < \lambda < 1 \):同じ方向に縮む
  •  \( \lambda < 0 \):向きが反転して伸縮する
  •  \( \lambda = 0 \):ゼロベクトルに潰れる

 

固有値と固有ベクトルの求め方

定義式 \( A\boldsymbol{v} = \lambda\boldsymbol{v} \) の右辺を左辺に移項すると、

$$
(A - \lambda I)\boldsymbol{v} = \boldsymbol{0}
$$

となります(\( I \)は単位行列です。)

\( \boldsymbol{v} \neq \boldsymbol{0} \) なる解が存在する条件は、\((A - \lambda I)\)が逆行列を持たなければ良いため、

$$
\det(A - \lambda I) = 0
$$

となります。これを特性方程式と呼びます。

固有値・固有ベクトルの求め方

1. 特性方程式\( \det(A - \lambda I) = 0 \) を解いて、固有値 \( \lambda_1, \lambda_2, \ldots, \lambda_n \) を求める
2. 各 \( \lambda_i \) を \( (A - \lambda_i I)\boldsymbol{v} = \boldsymbol{0} \) に代入し、固有ベクトル \( \boldsymbol{v}_i \) を求める

 

具体例(2×2行列)

次の行列 \( A \) の固有値と固有ベクトルを求めてみましょう。

$$
A = \begin{pmatrix} 4 & 2 \\ 1 & 3 \end{pmatrix}
$$

Step 1:特性方程式を立てる

$$
A - \lambda I = \begin{pmatrix} 4-\lambda & 2 \\ 1 & 3-\lambda \end{pmatrix}
$$

$$
\begin{aligned}
det(A - \lambda I) &= (4-\lambda)(3-\lambda) - 2 \cdot 1 \\[5pt]
&= \lambda^2 - 7\lambda + 10 \\[5pt]
&= 0
\end{aligned}
$$

 

Step 2:固有値を求める

$$
\lambda^2 - 7\lambda + 10 = (\lambda - 5)(\lambda - 2) = 0
$$

$$
\lambda_1 = 5, \quad \lambda_2 = 2
$$

 

Step 3:固有ベクトルを求める

求めた固有値\(\lambda_1\)、\(\lambda_2\)を\((A - \lambda I)\boldsymbol{v} = \boldsymbol{0}\)に代入して解きます。

\( \lambda_1 = 5 \) の場合:

$$
\begin{aligned}
(A - 5I)\boldsymbol{v} &= \begin{pmatrix} 4-5 & 2 \\ 1 & 3-5 \end{pmatrix}\boldsymbol{v} \\[5pt]
&= \begin{pmatrix} -1 & 2 \\ 1 & -2 \end{pmatrix}\boldsymbol{v}\\[5pt]
&= \boldsymbol{0}
\end{aligned}
$$

第1行より \( -x_1 + 2x_2 = 0 \)、すなわち \( x_1 = 2x_2 \)。

\( x_2 = 1 \) とおくと、

$$
\boldsymbol{v}_1 = \begin{pmatrix} 2 \\ 1 \end{pmatrix}
$$

\( \lambda_2 = 2 \) の場合:

$$
\begin{aligned}
(A - 2I)\boldsymbol{v} &= \begin{pmatrix} 4-2 & 2 \\ 1 & 3-2 \end{pmatrix}\boldsymbol{v}\\[5pt]
&= \begin{pmatrix} 2 & 2 \\ 1 & 1 \end{pmatrix}\boldsymbol{v}\\[5pt]
&= \boldsymbol{0}
\end{aligned}
$$

第1行より \( 2x_1 + 2x_2 = 0 \)、すなわち \( x_1 = -x_2 \)。

\( x_2 = 1 \) とおくと、

$$
\boldsymbol{v}_2 = \begin{pmatrix} -1 \\ 1 \end{pmatrix}
$$

固有値・固有ベクトルを求めることができました。

 

検算

実際に \( A\boldsymbol{v}_1 = \lambda_1 \boldsymbol{v}_1 \) を確かめてみましょう。

$$
\begin{aligned}
A\boldsymbol{v}_1 &= \begin{pmatrix} 4 & 2 \\ 1 & 3 \end{pmatrix}\begin{pmatrix} 2 \\ 1 \end{pmatrix}\\[5pt]
&= \begin{pmatrix} 10 \\ 5 \end{pmatrix}\\[5pt]
&= 5\begin{pmatrix} 2 \\ 1 \end{pmatrix}\\[5pt]
&= \lambda_1 \boldsymbol{v}_1 \quad \\[5pt]
\end{aligned}
$$

 

行列の対角化

\( n \times n \) 行列 \( A \) が \( n \) 個の線形独立な固有ベクトル \( \boldsymbol{v}_1, \boldsymbol{v}_2, \ldots, \boldsymbol{v}_n \) を持つとき、

$$
P = \begin{pmatrix} \boldsymbol{v}_1 & \boldsymbol{v}_2 & \cdots & \boldsymbol{v}_n \end{pmatrix}
$$
$$
\Lambda = \begin{pmatrix} \lambda_1 & & \\ & \lambda_2 & \\ & & \ddots & \\ & & & \lambda_n \end{pmatrix}
$$

とおくと、

$$
AP = P\Lambda
$$

が成り立ちます。

なぜなら、

$$
\begin{aligned}
AP &= A\begin{pmatrix} \boldsymbol{v}_1 & \cdots & \boldsymbol{v}_n \end{pmatrix}\\[5pt]
&= \begin{pmatrix} A\boldsymbol{v}_1 & \cdots & A\boldsymbol{v}_n \end{pmatrix}\\[5pt]
&= \begin{pmatrix} \lambda_1\boldsymbol{v}_1 & \cdots & \lambda_n\boldsymbol{v}_n \end{pmatrix}\\[5pt]
&= P\Lambda
\end{aligned}
$$

と変形できるからです。

ここで、\( P \) が正則(逆行列が存在する)なら、両辺に左から \( P^{-1} \) を掛けて、

$$
P^{-1}AP = \Lambda
$$

となります。これが行列の対角化です。

 

しかし、すべての正方行列が対角化できるわけではありません。

対角化可能であるための十分条件は、「\( n \) 個の相異なる固有値を持つこと」です。

また、後述する対称行列は必ず対角化可能です。

 

ここで、先ほどの具体例を対角化してみましょう。

先ほどの例では、

$$
P = \begin{pmatrix} 2 & -1 \\ 1 & 1 \end{pmatrix}, \quad
\Lambda = \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix}
$$

\( P \) の逆行列を求めます。\( \det(P) = 2 \cdot 1 - (-1) \cdot 1 = 3 \) より、

$$
P^{-1} = \frac{1}{3}\begin{pmatrix} 1 & 1 \\ -1 & 2 \end{pmatrix}
$$

 ここで、\( P^{-1}A P \) を計算します。

$$
\begin{aligned}
P^{-1}A &= \frac{1}{3}\begin{pmatrix} 1 & 1 \\ -1 & 2 \end{pmatrix}\begin{pmatrix} 4 & 2 \\ 1 & 3 \end{pmatrix}\\[5pt]
&= \frac{1}{3}\begin{pmatrix} 5 & 5 \\ -2 & 4 \end{pmatrix}
\end{aligned}
$$

$$
\begin{aligned}
P^{-1}AP &= \frac{1}{3}\begin{pmatrix} 5 & 5 \\ -2 & 4 \end{pmatrix} \begin{pmatrix} 2 & -1 \\ 1 & 1 \end{pmatrix}\\[5pt]
&= \frac{1}{3}\begin{pmatrix} 15 & 0 \\ 0 & 6 \end{pmatrix}\\[5pt]
&= \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix}\\[5pt]
&=  \Lambda \quad
\end{aligned}
$$

 

固有値分解

\( n \times n \) の正方行列 \( A \) が \( n \) 個の線形独立な固有ベクトルを持つとき、

$$
AP = P\Lambda
$$

この両辺に右から \( P^{-1} \) を掛けると、

$$
A = P\Lambda P^{-1}
$$

となります。これが固有値分解です。

  • \( P \):固有ベクトルを列に並べた \( n \times n \) 行列
  • \( \Lambda \):固有値を対角に並べた \( n \times n \) 対角行列
  • \( P^{-1} \):\( P \) の逆行列

 

固有値分解の意味

固有値分解は、行列 \( A \) による変換を次の3ステップに分解しています。

$$
A\boldsymbol{x} = P\Lambda P^{-1}\boldsymbol{x}
$$

固有値分解の意味

1. \( P^{-1}\boldsymbol{x} \):固有ベクトルを基底とする座標系に変換する
2. \( \Lambda(\cdot) \):各固有ベクトル方向に \( \lambda_i \) 倍だけ伸縮する
3. \( P(\cdot) \):もとの座標系に戻す

つまり、適切な座標系で見れば、行列の変換は単なる「各軸方向の伸縮」に過ぎないというのが、「固有値分解」の本質的なメッセージです。

 

ここで、固有値分解の意味を少し丁寧に説明していきます。

例えば、ベクトル \( \boldsymbol{x} = \begin{pmatrix} 3 \\ 1 \end{pmatrix} \) と書くとき、私たちは暗黙的に標準基底

$$
\boldsymbol{e}_1 = \begin{pmatrix} 1 \\ 0 \end{pmatrix}, \quad \boldsymbol{e}_2 = \begin{pmatrix} 0 \\ 1 \end{pmatrix}
$$

を使って「\( \boldsymbol{e}_1 \) 方向に3、\( \boldsymbol{e}_2 \) 方向に1」と表現しています。

つまり \( \boldsymbol{x} = 3\boldsymbol{e}_1 + 1\boldsymbol{e}_2 \) です。

では、基底を標準基底ではなく、固有ベクトル \( \boldsymbol{v}_1, \boldsymbol{v}_2 \) に変えたらどうなるでしょうか。

同じ \( \boldsymbol{x} \) を

$$
\boldsymbol{x} = c_1 \boldsymbol{v}_1 + c_2 \boldsymbol{v}_2
$$

と表すための係数 \( c_1, c_2 \) を求めたい、ということです。

この式を行列で書くと、

$$
\boldsymbol{x} = \begin{pmatrix} \boldsymbol{v}_1 & \boldsymbol{v}_2 \end{pmatrix} \begin{pmatrix} c_1 \\ c_2 \end{pmatrix} = P \boldsymbol{c}
$$

両辺に左から \( P^{-1} \) を掛けると、

$$
\boldsymbol{c} = P^{-1}\boldsymbol{x}
$$

つまり、固有値分解の1ステップ目の \( P^{-1}\boldsymbol{x} \) は、「\( \boldsymbol{x} \) を固有ベクトル基底で表したときの座標」そのものなのです。

 

固有値分解の具体例

先ほどの具体例
$$
A = \begin{pmatrix} 4 & 2 \\ 1 & 3 \end{pmatrix},  \quad P = \begin{pmatrix} 2 & -1 \\ 1 & 1 \end{pmatrix}, 
$$
$$
P^{-1} = \frac{1}{3}\begin{pmatrix} 1 & 1 \\ -1 & 2 \end{pmatrix}, \quad \Lambda = \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix}
$$

を使い、\( \boldsymbol{x} = \begin{pmatrix} 3 \\ 1 \end{pmatrix} \) に対して \( A\boldsymbol{x} = P\Lambda P^{-1}\boldsymbol{x} \) を1ステップずつ確認してみましょう。

 

Step 1:\( P^{-1}\boldsymbol{x} \) —— 固有ベクトル座標に変換

$$
\boldsymbol{c} = P^{-1}\boldsymbol{x} = \frac{1}{3}\begin{pmatrix} 1 & 1 \\ -1 & 2 \end{pmatrix}\begin{pmatrix} 3 \\ 1 \end{pmatrix} = \begin{pmatrix} \frac{4}{3} \\ -\frac{1}{3} \end{pmatrix}
$$

これは「\( \boldsymbol{v}_1 \) 成分が \( 4/3 \)、\( \boldsymbol{v}_2 \) 成分が \( -1/3 \)」を意味します。

実際に検算すると、

$$
\begin{aligned}
c_1 \boldsymbol{v}_1 + c_2 \boldsymbol{v}_2 &= \frac{4}{3}\begin{pmatrix} 2 \\ 1 \end{pmatrix} + \left(-\frac{1}{3}\right)\begin{pmatrix} -1 \\ 1 \end{pmatrix}\\[5pt]
&= \begin{pmatrix} \frac{8}{3} + \frac{1}{3} \\ \frac{4}{3} - \frac{1}{3} \end{pmatrix}\\[5pt]
&= \begin{pmatrix} 3 \\ 1 \end{pmatrix}\\[5pt]
&= \boldsymbol{x} \quad
\end{aligned}
$$

 

Step 2:\( \Lambda P^{-1}\boldsymbol{x}\) —— 各固有ベクトル方向に固有値倍する

$$
\Lambda P^{-1}\boldsymbol{x} = \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} \frac{4}{3} \\ -\frac{1}{3} \end{pmatrix} = \begin{pmatrix} \frac{20}{3} \\ -\frac{2}{3} \end{pmatrix}
$$

\( \boldsymbol{v}_1 \) 成分は \( \lambda_1 = 5 \) 倍されて \( 4/3 \to 20/3 \)

\( \boldsymbol{v}_2 \) 成分は \( \lambda_2 = 2 \) 倍されて \( -1/3 \to -2/3 \)。

対角行列なので各軸が独立にスケーリングされるだけとなり、ここが固有値分解の「うれしさ」です。

 

Step 3:\( P(\Lambda P^{-1}\boldsymbol{x}) \) —— 標準座標に戻す

$$
\begin{aligned}
P\begin{pmatrix} \frac{20}{3} \\ -{2}{3} \end{pmatrix} &= \frac{20}{3}\begin{pmatrix} 2 \\ 1 \end{pmatrix} + \left(-\frac{2}{3}\right)\begin{pmatrix} -1 \\ 1 \end{pmatrix}\\[5pt]
&= \begin{pmatrix} \frac{40}{3} + \frac{2}{3} \\ \frac{20}{3} - \frac{2}{3} \end{pmatrix}\\[5pt]
&= \begin{pmatrix} 14 \\ 6 \end{pmatrix}
\end{aligned}
$$

 

直接 \( A\boldsymbol{x} \) を計算しても同じ結果になります。

$$
A\boldsymbol{x} = \begin{pmatrix} 4 & 2 \\ 1 & 3 \end{pmatrix}\begin{pmatrix} 3 \\ 1 \end{pmatrix} = \begin{pmatrix} 14 \\ 6 \end{pmatrix} \quad
$$

 

対称行列の固有値分解

統計学や機械学習では、対称行列を扱う場面が非常に多くあります。

対称行列

  • 分散共分散行列 \( S = \frac{1}{n-1}X^\top X \)
  • 相関行列
  • グラム行列 \( X^\top X \), \( XX^\top \)
    など

対称行列(\( A = A^\top \))の固有値分解には、一般の行列にはない3つの重要な性質があります。

3つの重要な性質

性質①:固有値はすべて実数

性質②:異なる固有値に対応する固有ベクトルは直交する

性質③:直交行列で対角化できる(スペクトル定理)

 

スペクトル定理

性質①②から、固有ベクトルを正規化(長さ1に)すれば、固有ベクトル行列 \( V \) は直交行列(\( V^\top V = V V^\top = I \))になります。

\( V = \begin{pmatrix} \boldsymbol{v}_1 & \boldsymbol{v}_2 & \cdots & \boldsymbol{v}_n \end{pmatrix} \) とすると、

$$
V^\top = \begin{pmatrix} \boldsymbol{v}_1^\top \\ \boldsymbol{v}_2^\top \\ \vdots \\ \boldsymbol{v}_n^\top \end{pmatrix}
$$

行列の積の定義から、\( V^\top V \) の \( (i, j) \) 成分は「\( V^\top \) の第 \( i \) 行」と「\( V \) の第 \( j \) 列」の内積です。つまり、

$$
(V^\top V)_{ij} = \boldsymbol{v}_i^\top \boldsymbol{v}_j
$$

これが性質②(直交性)と正規化の条件からすべての \( i, j \) について

$$
\boldsymbol{v}_i^\top \boldsymbol{v}_j = \begin{cases} 1 & (i = j) \\ 0 & (i \neq j) \end{cases}
$$

を満たします。右辺は単位行列 \( I \) の \( (i, j) \) 成分そのものなので、

$$
V^\top V = I \quad
$$

ここで、実対称行列 \( A = A^\top \) に対して、固有ベクトル行列は直交行列 \( V \) となるので、

$$
A V =V \Lambda
$$

  • \( V \):正規直交固有ベクトルを列に並べた直交行列(\( V^\top V = I \))
  • \( \Lambda \):固有値の対角行列

の両辺に左から\(V^\top\)を掛けて、

$$
V^\top A V = \Lambda
$$

すなわち、実対称行列は直交行列で対角化できます。

これをスペクトル定理と呼びます。

 

スペクトル分解(対称行列の固有値分解)

スペクトル定理を \( A = \) の形に書き直したものがスペクトル分解です。

両辺に左から \( V \)、右から \( V^\top \) を掛けると、

$$
A = V\Lambda V^\top
$$

一般の固有値分解 \( A = P\Lambda P^{-1} \) では、 \( P^{-1} \) を計算する必要があったのに対し、対称行列では転置するだけで済みます。

どちらも同じ等式を別の角度から見ているだけですが、

  • 対角化は「\( A \) の構造を単純にする操作」
  • 固有値分解は「\( A \) を成分に分解する表現」

として使い分けます。

また、スペクトル分解の行列表現 \( A = V\Lambda V^\top \) は、\( \Lambda \) が対角行列であるため、固有値ごとの項の和に展開できます。

まず 、\( V\Lambda \) を計算すると、\( V \) の各列に対応する固有値がスカラー倍されます。

$$
V\Lambda = \begin{pmatrix} \lambda_1\boldsymbol{v}_1 & \lambda_2\boldsymbol{v}_2 & \cdots & \lambda_n\boldsymbol{v}_n \end{pmatrix}
$$

次に、行列の積は「左の列ベクトル × 右の行ベクトル」の和としても計算できるため、

$$
\begin{aligned}
A &= V\Lambda V^\top\\[5pt]
&= \begin{pmatrix} \lambda_1\boldsymbol{v}_1 & \lambda_2\boldsymbol{v}_2 & \cdots & \lambda_n\boldsymbol{v}_n \end{pmatrix} \begin{pmatrix} \boldsymbol{v}_1^\top \\ \boldsymbol{v}_2^\top \\ \vdots \\ \boldsymbol{v}_n^\top \end{pmatrix}\\[5pt]
&= \lambda_1\boldsymbol{v}_1\boldsymbol{v}_1^\top + \lambda_2\boldsymbol{v}_2\boldsymbol{v}_2^\top + \cdots + \lambda_n\boldsymbol{v}_n\boldsymbol{v}_n^\top\\[5pt]
&= \sum_{i=1}^{n}\lambda_i\boldsymbol{v}_i\boldsymbol{v}_i^\top \quad 
\end{aligned}
$$

と展開できます。

ここで、各項に現れる \( \boldsymbol{v}_i\boldsymbol{v}_i^\top \) は射影行列と呼ばれ、任意のベクトルから \( \boldsymbol{v}_i \) 方向の成分だけを取り出す行列です。

よって、スペクトル分解は「各直交方向への射影を、固有値で重み付けして足し合わせたもの」と解釈できます。

 

主成分分析(PCA)への適用

主成分分析(PCA)では、データの共分散行列 \( S \) にこのスペクトル分解を適用します。

元のデータ行列から各変数の平均を引いた中心化データ行列を \( X \)(\( n \times p \)、\( n \):サンプル数、\( p \):変数の数)とすると、共分散行列は

$$
S = \frac{1}{n-1}X^\top X
$$

と表されます。

\( S \) は実対称かつ半正定値であるため、すべての固有値は \( \lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_p \geq 0 \) を満たします。

各固有値はその固有ベクトル方向の分散に対応するため、固有値の大きい方向ほどデータの情報を多く持ちます。

上位 \( k \) 項までで和を打ち切れば、

$$
S \approx \sum_{i=1}^{k}\lambda_i\boldsymbol{v}_i\boldsymbol{v}_i^\top
$$

となり、分散(固有値)の大きい方向だけを残した近似が得られます。

これがPCAにおける次元削減の本質です。

スペクトル定理やスペクトル分解は、主成分分析(PCA)や特異値分解(SVD)の理論的基盤となる非常に重要な定理です。

詳細は、次回以降のブログで紹介したいと思います。

 

具体例(3×3 対称行列)

ここで、3×3 の対称行列でスペクトル分解の3つの重要な性質を確認してみましょう。

$$
A = \begin{pmatrix} 2 & 1 & 0 \\ 1 & 3 & 1 \\ 0 & 1 & 2 \end{pmatrix}
$$

性質①:固有値はすべて実数

まず、固有値を求めます。

$$
\det(A - \lambda I) = \det\begin{pmatrix} 2-\lambda & 1 & 0 \\ 1 & 3-\lambda & 1 \\ 0 & 1 & 2-\lambda \end{pmatrix}
$$

サラスの法則より、

$$
\begin{aligned}
&(2-\lambda)(3-\lambda)(2-\lambda) - (2-\lambda) -(2-\lambda) \\[5pt]
&=(2-\lambda)\{(3-\lambda)(2-\lambda) - 2\} \\[5pt]
&= (2-\lambda)\{(\lambda^2 - 5\lambda + 6) - 2\}\\[5pt]
&= (2-\lambda)(\lambda^2 - 5\lambda + 4)\\[5pt]
&= (2-\lambda)(\lambda - 1)(\lambda - 4) = 0
\end{aligned}
$$

$$
\lambda_1 = 4, \quad \lambda_2 = 2, \quad \lambda_3 = 1
$$

 

性質②:固有ベクトルの直交性

\( \lambda_1 = 4 \) のとき:

$$
(A - 4I)\boldsymbol{v} = \begin{pmatrix} -2 & 1 & 0 \\ 1 & -1 & 1 \\ 0 & 1 & -2 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}
$$

第1行:\( -2x_1 + x_2 = 0 \Rightarrow x_2 = 2x_1 \)

第3行:\( x_2 - 2x_3 = 0 \Rightarrow x_3 = x_1 \)

\( x_1 = 1 \) とおいて正規化すると、

$$
\boldsymbol{v}_1 = \frac{1}{\sqrt{6}}\begin{pmatrix} 1 \\ 2 \\ 1 \end{pmatrix}
$$

\( \lambda_2 = 2 \) のとき:

$$
(A - 2I)\boldsymbol{v} = \begin{pmatrix} 0 & 1 & 0 \\ 1 & 1 & 1 \\ 0 & 1 & 0 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}
$$

第1行:\( x_2 = 0 \)

第2行:\( x_1 + x_3 = 0 \Rightarrow x_3 = -x_1 \)

\( x_1 = 1 \) とおいて正規化すると、

$$
\boldsymbol{v}_2 = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 0 \\ -1 \end{pmatrix}
$$

\( \lambda_3 = 1 \) のとき:

$$
(A - I)\boldsymbol{v} = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 1 \\ 0 & 1 & 1 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}
$$

第1行:\( x_1 + x_2 = 0 \Rightarrow x_2 = -x_1 \)

第3行:\( x_2 + x_3 = 0 \Rightarrow x_3 = x_1 \)

\( x_1 = 1 \) とおいて正規化すると、

$$
\boldsymbol{v}_3 = \frac{1}{\sqrt{3}}\begin{pmatrix} 1 \\ -1 \\ 1 \end{pmatrix}
$$

ここで、求めた固有ベクトルの内積を計算しみましょう。

$$
\boldsymbol{v}_1^\top \boldsymbol{v}_2 = \frac{1}{\sqrt{6}\sqrt{2}}(1 \cdot 1 + 2 \cdot 0 + 1 \cdot (-1)) = 0 \quad 
$$

$$
\boldsymbol{v}_1^\top \boldsymbol{v}_3 = \frac{1}{\sqrt{6}\sqrt{3}}(1 \cdot 1 + 2 \cdot (-1) + 1 \cdot 1) = 0 \quad
$$

$$
\begin{aligned}
\boldsymbol{v}_2^\top \boldsymbol{v}_3 &= \frac{1}{\sqrt{2}\sqrt{3}}(1 \cdot 1 + 0 \cdot (-1) + (-1) \cdot 1)\\[5pt]
&= 0 \quad
\end{aligned}
$$

よって、異なる固有値に対応する固有ベクトルは直交することがわかります。

 

性質③:直交行列で対角化 \( A = V\Lambda V^\top \)

$$
V = \begin{pmatrix} \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{3}} \\ \frac{2}{\sqrt{6}} & 0 & \frac{-1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & \frac{-1}{\sqrt{2}} & \frac{1}{\sqrt{3}} \end{pmatrix}, \quad
\Lambda = \begin{pmatrix} 4 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 1 \end{pmatrix}
$$

\( V \) は直交行列なので \( V^{-1} = V^\top \) であり、

$$
A = V\Lambda V^\top
$$

と書くことができます。

 

実際に計算して確かめてみましょう。

Step 1:\( V\Lambda \) を計算する

対角行列 \( \Lambda \) を右から掛けることは、\( V \) の各列を対応する固有値でスケーリングする操作です。

$$
V\Lambda = \begin{pmatrix} \frac{4}{\sqrt{6}} & \frac{2}{\sqrt{2}} & \frac{1}{\sqrt{3}} \\ \frac{8}{\sqrt{6}} & 0 & \frac{-1}{\sqrt{3}} \\ \frac{4}{\sqrt{6}} & \frac{-2}{\sqrt{2}} & \frac{1}{\sqrt{3}} \end{pmatrix}
$$

(第1列 \( \times 4 \)、第2列 \( \times 2 \)、第3列 \( \times 1 \))

 

Step 2:\( (V\Lambda) V^\top \) を計算する

\( V^\top \) は \( V \) の行と列を入れ替えたものです。

$$
V^\top = \begin{pmatrix} \frac{1}{\sqrt{6}} & \frac{2}{\sqrt{6}} & \frac{1}{\sqrt{6}} \\ \frac{1}{\sqrt{2}} & 0 & \frac{-1}{\sqrt{2}} \\ \frac{1}{\sqrt{3}} & \frac{-1}{\sqrt{3}} & \frac{1}{\sqrt{3}} \end{pmatrix}
$$

\( (V\Lambda)V^\top \) の各要素は、\( V\Lambda \) の行と \( V^\top \) の列(= \( V \) の行)の内積で求まります。

代表的な要素を計算すると、

(1,1) 要素:

$$
\begin{aligned}
&\frac{4}{\sqrt{6}} \cdot \frac{1}{\sqrt{6}} + \frac{2}{\sqrt{2}} \cdot \frac{1}{\sqrt{2}} + \frac{1}{\sqrt{3}} \cdot \frac{1}{\sqrt{3}}\\[5pt]
&= \frac{4}{6} + \frac{2}{2} + \frac{1}{3}\\[5pt]
&= \frac{2}{3} + 1 + \frac{1}{3}\\[5pt]
&= 2 \quad 
\end{aligned}
$$

(1,2) 要素:

$$
\begin{aligned}
&\frac{4}{\sqrt{6}} \cdot \frac{2}{\sqrt{6}} + \frac{2}{\sqrt{2}} \cdot 0 + \frac{1}{\sqrt{3}} \cdot \frac{-1}{\sqrt{3}}\\[5pt]
&= \frac{8}{6} + 0 - \frac{1}{3}\\[5pt]
&= \frac{4}{3} - \frac{1}{3}\\[5pt]
&= 1 \quad 
\end{aligned}
$$

(2,2) 要素:

$$
\begin{aligned}
&\frac{8}{\sqrt{6}} \cdot \frac{2}{\sqrt{6}} + 0 \cdot 0 + \frac{-1}{\sqrt{3}} \cdot \frac{-1}{\sqrt{3}}\\[5pt]
&= \frac{16}{6} + 0 + \frac{1}{3}\\[5pt]
&= \frac{8}{3} + \frac{1}{3}\\[5pt]
&= 3 \quad 
\end{aligned}
$$

残りの要素も同様に計算すると、

$$
V\Lambda V^\top = \begin{pmatrix} 2 & 1 & 0 \\ 1 & 3 & 1 \\ 0 & 1 & 2 \end{pmatrix} = A \quad 
$$

よって、直交行列で対角化、固有値分解できることがわかりました。

 

参考文献

1.スモールデータ解析と機械学習

本記事では特に、こちらの書籍を参考にしました。

機械学習を言葉多めでわかりやすく解説してくれる書籍で、線形代数のTipsも盛りだくさんです。

 

2.意味がわかる線形代数

初心者向けの線形代数の参考書です。

「意味」を理解することに重きを置いているため、統計学や機械学習へ応用する際にとても重宝します。

統計学や機械学習で詰まったらこの本に立ち戻ると良いと思います。

 

  • この記事を書いた人
  • 最新記事

こーし

■ケミカルエンジニア
■化学メーカー勤務
■現場配属の生産技術
■化学工学技士、統計検定1級など
■化学工学 × データサイエンス
pythonと数理統計学を勉強中!

-統計学, 統計学入門
-,