行列を徹底攻略!

2025/01/25 活動報告 行列

行列とは、数を長方形に並べたものです。この概念は非常にシンプルですが、数学、物理学、コンピューターサイエンスなど、幅広い分野で重要な役割を果たしています。この章では、行列を「縦ベクトル」の集合として捉え、その基本的な性質を解説します。

目次
  1. 1. 行列とは:縦ベクトルの集合としての理解
    1. 1.1. 行列の定義と表記
    2. 1.2. 縦ベクトルとしての行列
    3. 1.3. 行列の様々な種類
    4. 1.4. ベクトル空間との関連
    5. 1.5. 行列演算の基本
    6. 1.6. 具体例による理解
  2. 2. 行列の積:線形変換の合成
    1. 2.1. 行列の積の定義
    2. 2.2. 行列の積の計算例
    3. 2.3. 線形変換との関連
    4. 2.4. 行列の積の非可換性
    5. 2.5. 特殊な行列の積
    6. 2.6. 実践的な応用例
  3. 3. 逆行列:線形変換の逆操作
    1. 3.1. 逆行列の定義
    2. 3.2. 逆行列の計算方法
      1. 3.2.1. 掃き出し法(ガウスの消去法)
      2. 3.2.2. 余因子行列を用いる方法
    3. 3.3. 逆行列の性質
    4. 3.4. 逆行列の応用
    5. 3.5. 逆行列が存在しない場合
  4. 4. 固有値と固有ベクトル:行列の特性を捉える
    1. 4.1. 固有値と固有ベクトルの定義
    2. 4.2. 固有値の計算方法
      1. 具体例
    3. 4.3. 固有ベクトルの計算方法
      1. 具体例
    4. 4.4. 対角化
    5. 4.5. 固有値と固有ベクトルの応用
    6. 4.6. 注意点
  5. 5. 転置行列:行と列の入れ替え
    1. 5.1. 転置行列の定義
    2. 5.2. 転置行列の例
    3. 5.3. 転置行列の性質
    4. 5.4. 転置行列の応用
    5. 5.5. 特殊な行列と転置
    6. 5.6. 実践的な例
  6. 6. 二次形式:行列を用いた多変数関数の表現
    1. 6.1. 二次形式の定義
    2. 6.2. 行列による二次形式の表現
    3. 6.3. 対称行列による表現
    4. 6.4. 二次形式の応用
    5. 6.5. 二次形式の正定値性と負定値性
    6. 6.6. 実践的な例
  7. 7. 共分散行列:多変量データの変動を捉える
    1. 7.1. 共分散の定義
    2. 7.2. 共分散行列の定義
    3. 7.3. 共分散行列の計算方法
    4. 7.4. 共分散行列の性質
    5. 7.5. 共分散行列の応用
    6. 7.6. 共分散行列と相関行列
    7. 7.7. 実践的な例
  8. 8. 直交行列と対称行列:特別な性質を持つ行列
    1. 8.1. 直交行列の定義
    2. 8.2. 直交行列の性質
    3. 8.3. 対称行列の定義
    4. 8.4. 対称行列の性質
    5. 8.5. 直交行列と対称行列の応用
    6. 8.6. 実践的な例
  9. 9. 主成分分析:高次元データの次元削減
    1. 9.1. 主成分分析の目的
    2. 9.2. 主成分分析の原理
    3. 9.3. 主成分分析の手順
    4. 9.4. 主成分分析の応用
    5. 9.5. 主成分の解釈
    6. 9.6. 注意点
  10. 10. 特異値分解:行列の分解と低ランク近似
    1. 10.1. 特異値分解の定義
    2. 10.2. 特異値分解の計算方法
    3. 10.3. 特異値分解の性質
    4. 10.4. 特異値分解の応用
    5. 10.5. 低ランク近似
    6. 10.6. 実践的な例
  11. 11. 多変量正規分布:多変量データの確率分布
    1. 11.1. 多変量正規分布の定義
    2. 11.2. 多変量正規分布の性質
    3. 11.3. 多変量正規分布の応用
    4. 11.4. 共分散行列と多変量正規分布
    5. 11.5. 実践的な例

1. 行列とは:縦ベクトルの集合としての理解

1.1. 行列の定義と表記

まず、行列の定義を明確にしましょう。m行n列の行列 $A$ は、以下のように表されます。

$$ A = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix} $$

ここで、$a_{ij}$ は行列 $A$ の i行j列成分 と呼ばれます。行列のサイズは m × n と表記されます。mとnが等しい場合、その行列は 正方行列 と呼ばれます。

1.2. 縦ベクトルとしての行列

行列を理解する上で重要な視点は、「行列は複数の縦ベクトルの集合である」と考えることです。上の行列 $A$ を例に取ると、各列はそれぞれ一つの縦ベクトルを形成します。つまり、

$$ A = \begin{pmatrix} \mathbf{a_1} & \mathbf{a_2} & \cdots & \mathbf{a_n} \end{pmatrix} $$ ここで、$\mathbf{a_j}$ は以下のような縦ベクトルです。

$$ \mathbf{a_j} = \begin{pmatrix} a_{1j} \\ a_{2j} \\ \vdots \\ a_{mj} \end{pmatrix} $$

この視点を持つことで、行列の演算や特性をより直感的に理解することができます。特に、線形変換を理解する際に、この考え方は非常に重要です。

1.3. 行列の様々な種類

行列には様々な種類があり、それぞれの特性が異なっています。いくつか例を挙げます。

  • 正方行列:行数と列数が等しい行列です。特に、対角成分のみが0でない対角行列や、対角成分がすべて1の単位行列は重要です。
  • ゼロ行列:すべての成分が0である行列です。
  • 行ベクトル/列ベクトル:それぞれ1行または1列からなる行列です。
  • 三角行列:対角成分より上がすべて0の上三角行列、または下がすべて0の下三角行列です。

1.4. ベクトル空間との関連

行列の各列は、ベクトル空間におけるベクトルと見なすことができます。ベクトル空間は、ベクトルの足し算とスカラー倍が定義できる集合です。行列は、ベクトル空間における線形変換を表現するための道具としても利用されます。

1.5. 行列演算の基本

行列に対する基本的な演算には、以下のようなものがあります。

  • :同じサイズの行列同士で、対応する成分同士を足し合わせることで行います。
  • スカラー倍:行列の各成分にスカラー値を掛けます。
  • :後述しますが、行列の積は少し複雑な規則に従います。

これらの演算を理解することで、行列を使ったより高度な計算が可能になります。

1.6. 具体例による理解

例えば、以下の2つの行列AとBを考えてみましょう。

$$ A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} $$

これらの行列を縦ベクトルとして見ると、

$$ A = \begin{pmatrix} \begin{pmatrix} 1 \\ 3 \end{pmatrix} & \begin{pmatrix} 2 \\ 4 \end{pmatrix} \end{pmatrix}, \quad B = \begin{pmatrix} \begin{pmatrix} 5 \\ 7 \end{pmatrix} & \begin{pmatrix} 6 \\ 8 \end{pmatrix} \end{pmatrix} $$

と表すことができます。 この章では、行列を縦ベクトルの集合として捉えることで、その基本的な性質と演算を理解しました。この考え方は、行列の応用を理解する上で非常に重要になります。次の章では、行列の積について詳しく見ていきましょう。

2. 行列の積:線形変換の合成

行列の積は、行列演算の中でも特に重要な概念であり、線形変換の合成を表現するために使われます。この章では、行列の積の定義、計算方法、およびその背後にある幾何学的解釈について詳しく解説します。

2.1. 行列の積の定義

行列の積は、単純な成分ごとの掛け算ではなく、少し複雑なルールに従います。行列 $A$ が m × n の行列であり、行列 $B$ が n × p の行列であるとき、その積 $AB$ は m × p の行列となります。積 $AB$ の i行j列成分 は、行列 $A$ の i行 と行列 $B$ の j列 の内積として計算されます

具体的には、行列 $A$ の $i$ 行目のベクトルを $\mathbf{a}_i^T = (a_{i1}, a_{i2}, ..., a_{in})$ とし、行列 $B$ の $j$ 列目のベクトルを $\mathbf{b}_j = (b_{1j}, b_{2j}, ..., b_{nj})^T$ とすると、積 $AB$ の $ij$ 成分 $(AB)_{ij}$ は以下のようになります。

$(AB)_{ij} = \mathbf{a}_i^T \mathbf{b}_j = \sum_{k=1}^{n} a_{ik} b_{kj} = a_{i1}b_{1j} + a_{i2}b_{2j} + \cdots + a_{in}b_{nj}$

2.2. 行列の積の計算例

具体的な例を通して、行列の積の計算方法を理解しましょう。

例えば、以下の2つの行列 $A$ と $B$ の積 $AB$ を計算します。

$$ A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} $$

積 $AB$ は、以下のように計算されます。

$$ AB = \begin{pmatrix} (1\times5 + 2\times7) & (1\times6 + 2\times8) \\ (3\times5 + 4\times7) & (3\times6 + 4\times8) \end{pmatrix} = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix} $$

このように、行列の積は、行と列の内積を計算することで得られます。

2.3. 線形変換との関連

行列の積は、線形変換の合成を表現するために使われます。線形変換とは、ベクトル空間の構造を保つ写像のことです。行列は、あるベクトルを別のベクトルに変換する線形変換を表すことができます。

例えば、あるベクトル $\mathbf{x}$ に行列 $A$ を掛けることは、そのベクトル $\mathbf{x}$ を線形変換によって別のベクトル $A\mathbf{x}$ に変換することと解釈できます。さらに、ベクトル $A\mathbf{x}$ に行列 $B$ を掛けることは、さらに別のベクトル $B(A\mathbf{x}) = (BA)\mathbf{x}$ に変換することとなります。 つまり、行列の積 $BA$ は、線形変換 $A$ の後に線形変換 $B$ を行うという複合的な変換を表しています。この考え方は、コンピュータグラフィックスや機械学習など、多くの分野で応用されています。

2.4. 行列の積の非可換性

重要な点として、一般的に行列の積は可換ではないということを理解しておく必要があります。つまり、$AB \neq BA$ が成り立つ場合が多いです。行列の積の順番を変えると、結果が異なることに注意が必要です。これは、線形変換の合成において、変換を行う順番が結果に影響を与えることを意味します。

2.5. 特殊な行列の積

  • 単位行列:単位行列 $I$ は、任意の行列 $A$ に対して $AI=A$ および $IA=A$ を満たす特殊な行列です。
  • ゼロ行列:ゼロ行列 $O$ は、任意の行列 $A$ に対して $AO=O$ および $OA=O$ を満たします。

これらの性質は、行列の計算を行う上で非常に役立ちます。

2.6. 実践的な応用例

行列の積は、以下のような場面で活用されます。

  • コンピュータグラフィックス:3次元空間における回転や平行移動などの変換を行列で表現し、これらの変換を合成する際に使用します。
  • 機械学習:ニューラルネットワークにおける層間の重み計算や、特徴量変換などに利用されます。
  • 連立一次方程式:連立一次方程式を行列の形で表現し、解を求める際に使用します。

このように、行列の積は理論的にも実践的にも非常に重要な概念であり、様々な分野でその応用が見られます。

この章では、行列の積の定義、計算方法、線形変換との関連性、およびその非可換性について詳しく解説しました。次の章では、逆行列について見ていきましょう。

3. 逆行列:線形変換の逆操作

逆行列とは、ある正方行列に対して、その行列との積が単位行列になるような行列のことです。逆行列は、連立一次方程式を解いたり、線形変換の逆操作を行ったりする際に重要な役割を果たします。この章では、逆行列の定義、計算方法、およびその応用について詳しく解説します。

3.1. 逆行列の定義

正方行列 $A$ に対して、その逆行列 $A^{-1}$ は、以下の関係を満たす行列として定義されます。

$$AA^{-1} = A^{-1}A = I$$

ここで、$I$ は単位行列です。この式は、行列 $A$ とその逆行列 $A^{-1}$ を掛けると、どちらの順序で掛けても単位行列になることを示しています。

ただし、すべての正方行列に逆行列が存在するわけではありません。逆行列が存在する行列を 正則行列 または 可逆行列 と呼び、逆行列が存在しない行列を 特異行列 または 非可逆行列 と呼びます。

3.2. 逆行列の計算方法

逆行列を計算する方法はいくつかありますが、ここでは代表的な方法を2つ紹介します。

3.2.1. 掃き出し法(ガウスの消去法)

掃き出し法は、連立一次方程式を解く際にも用いられる手法で、逆行列を求める際にも有効です。まず、対象となる行列 $A$ と単位行列 $I$ を並べて、拡張行列 $[A|I]$ を作成します。次に、基本変形を繰り返して、左側の行列を単位行列 $I$ に変形します。このとき、右側の行列が元の行列 $A$ の逆行列 $A^{-1}$ になります。

例として、以下の行列 $A$ の逆行列を求めてみましょう。

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

  1. 拡張行列を作成します。 $$[A|I] = \begin{pmatrix} 2 & 1 &|& 1 & 0 \\ 1 & 1 &|& 0 & 1 \end{pmatrix}$$
  2. 基本変形を行います。
    • 1行目を1/2倍します。 $$\begin{pmatrix} 1 & 1/2 &|& 1/2 & 0 \\ 1 & 1 &|& 0 & 1 \end{pmatrix}$$
    • 2行目から1行目を引きます。 $$\begin{pmatrix} 1 & 1/2 &|& 1/2 & 0 \\ 0 & 1/2 &|& -1/2 & 1 \end{pmatrix}$$
    • 2行目を2倍します。 $$\begin{pmatrix} 1 & 1/2 &|& 1/2 & 0 \\ 0 & 1 &|& -1 & 2 \end{pmatrix}$$
    • 1行目から2行目の1/2倍を引きます。 $$\begin{pmatrix} 1 & 0 &|& 1 & -1 \\ 0 & 1 &|& -1 & 2 \end{pmatrix}$$
  3. 左側が単位行列になったので、右側が逆行列です。

したがって、$A$ の逆行列 $A^{-1}$ は、

$$ A^{-1} = \begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix} $$

となります。

3.2.2. 余因子行列を用いる方法

余因子行列を用いる方法は、特に2x2や3x3の行列に対して有効です。

  1. 行列式を計算します。行列 $A$ の行列式を $\det(A)$ と表します。2x2行列の場合は、$A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$に対して $\det(A) = ad-bc$ となります。
  2. 余因子行列を計算します。行列 $A$ の余因子行列 $\text{adj}(A)$ は、各成分をその余因子で置き換えた行列を転置したものです。
  3. 逆行列は、$A^{-1} = \frac{1}{\det(A)} \text{adj}(A)$ で計算できます。

3.3. 逆行列の性質

逆行列には、以下のような重要な性質があります。

  • 逆行列の一意性:正則行列の逆行列は一意に定まります。
  • 積の逆行列:$(AB)^{-1} = B^{-1}A^{-1}$ が成り立ちます。
  • 転置行列の逆行列:$(A^T)^{-1} = (A^{-1})^T$ が成り立ちます。

3.4. 逆行列の応用

逆行列は、以下のような場面で活用されます。

  • 連立一次方程式の解:連立一次方程式 $A\mathbf{x} = \mathbf{b}$ の解は、$\mathbf{x} = A^{-1}\mathbf{b}$ で求めることができます。
  • 線形変換の逆操作:線形変換 $A$ で変換されたベクトルを元のベクトルに戻す際に、逆行列 $A^{-1}$ を利用します。
  • 画像処理:画像処理における変形や復元処理に逆行列が利用されます。

3.5. 逆行列が存在しない場合

行列式 $\det(A)$ が0である場合、行列 $A$ は逆行列を持ちません。これは、行列 $A$ による線形変換が情報を失っている(次元を縮退させている)ことを意味します。このような場合、連立一次方程式の解は存在しないか、無限に存在することになります。

この章では、逆行列の定義、計算方法、性質、およびその応用について詳しく解説しました。逆行列は、線形代数の重要な概念であり、様々な分野で活用されています。次の章では、固有値と固有ベクトルについて見ていきましょう。

4. 固有値と固有ベクトル:行列の特性を捉える

固有値と固有ベクトルは、行列の持つ重要な特性を表現する概念です。これらの概念は、行列の線形変換に対する挙動を分析したり、行列を対角化したりする際に不可欠です。この章では、固有値と固有ベクトルの定義、計算方法、およびその応用について詳しく解説します。

4.1. 固有値と固有ベクトルの定義

正方行列 $A$ に対して、以下の式を満たすスカラー値 $\lambda$ と零ベクトルではないベクトル $\mathbf{v}$ を考えます。

$$A\mathbf{v} = \lambda\mathbf{v}$$

この式を満たす $\lambda$ を行列 $A$ の 固有値 といい、対応するベクトル $\mathbf{v}$ を 固有ベクトル といいます。この式は、行列 $A$ による線形変換が、固有ベクトル $\mathbf{v}$ の方向を変化させず、単に $\lambda$ 倍するだけであることを意味しています。

4.2. 固有値の計算方法

固有値 $\lambda$ を求めるためには、上記の定義式を少し変形します。 $$A\mathbf{v} = \lambda\mathbf{v}$$ $$\Leftrightarrow A\mathbf{v} - \lambda\mathbf{v} = \mathbf{0}$$ $$\Leftrightarrow (A - \lambda I)\mathbf{v} = \mathbf{0}$$

ここで、$I$ は単位行列です。この式が零ベクトル $\mathbf{v}$ 以外にも解を持つためには、行列 $(A - \lambda I)$ の行列式が0である必要があります。つまり、

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

この式を 固有方程式 といい、この方程式を解くことで、固有値 $\lambda$ を求めることができます。固有方程式は、通常、$\lambda$ に関する多項式になります。この多項式は 特性多項式 と呼ばれます

具体例

例えば、行列 $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ の固有値を求めてみましょう。

  1. $(A-\lambda I)$ を計算します。

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

  1. 固有方程式を立てます。

$$\det(A - \lambda I) = (2-\lambda)^2 - 1^2 = \lambda^2 - 4\lambda + 3 = 0$$

  1. 固有方程式を解きます。

$$(\lambda - 1)(\lambda - 3) = 0$$

したがって、固有値は $\lambda_1 = 1$ と $\lambda_2 = 3$ となります。

4.3. 固有ベクトルの計算方法

固有値 $\lambda$ が求まったら、それぞれの固有値に対応する固有ベクトル $\mathbf{v}$ を求めることができます。固有ベクトルは、定義式 $A\mathbf{v} = \lambda\mathbf{v}$ を満たすベクトルとして求めることができます。

具体例

前の例の行列 $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ について、固有値 $\lambda_1 = 1$ に対応する固有ベクトルを求めましょう。

$$ A\mathbf{v}_1 = \lambda_1\mathbf{v}_1 \Leftrightarrow \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} \begin{pmatrix} v_{11} \\ v_{12} \end{pmatrix} = 1\begin{pmatrix} v_{11} \\ v_{12} \end{pmatrix} $$

これを解くと、$v_{11} + v_{12} = 0$ となるため、$\mathbf{v}_1 = \begin{pmatrix} 1 \\ -1 \end{pmatrix}$ が固有ベクトルの1つとなります。 同様に、$\lambda_2 = 3$ に対する固有ベクトルは、$\mathbf{v}_2 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$ となります。

4.4. 対角化

固有値と固有ベクトルを利用すると、行列を対角化することができます。対角化とは、ある行列を、対角成分のみが0でない行列(対角行列)に変換することです。

行列 $A$ が $n$ 個の線形独立な固有ベクトル $\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n$ を持つ場合、これらの固有ベクトルを列ベクトルとする行列 $P = [\mathbf{v}_1 \ \mathbf{v}_2 \ \cdots \ \mathbf{v}_n]$ を作成します。このとき、

$$P^{-1}AP = D$$

となる対角行列 $D$ が存在します。対角行列 $D$ の対角成分は、行列 $A$ の固有値 $\lambda_1, \lambda_2, \dots, \lambda_n$ となります。 対角化は、行列のべき乗計算や、連立微分方程式を解く際に非常に役立ちます。

4.5. 固有値と固有ベクトルの応用

固有値と固有ベクトルは、以下のような場面で活用されます。

  • 主成分分析:多次元データをより少ない次元に圧縮する際に使用します。
  • PageRankアルゴリズム:Googleの検索アルゴリズムで、ウェブページの重要度を評価する際に使用します。
  • 振動解析:機械や構造物の振動モードを解析する際に使用します。
  • 量子力学:量子状態を記述する際に使用します。

4.6. 注意点

  • 実数行列でも、固有値が複素数になる場合があります。
  • 固有ベクトルは、定数倍しても固有ベクトルとなります。
  • 同じ固有値に対して、複数の線形独立な固有ベクトルが存在する場合があります。

この章では、固有値と固有ベクトルの定義、計算方法、対角化、およびその応用について詳しく解説しました。固有値と固有ベクトルは、行列の特性を理解するための重要な概念であり、様々な分野で活用されています。次の章では、転置行列について見ていきましょう。

5. 転置行列:行と列の入れ替え

転置行列とは、ある行列の行と列を入れ替えて得られる行列のことです。転置行列は、行列の性質を理解したり、行列計算を簡略化したりする際に重要な役割を果たします。この章では、転置行列の定義、性質、およびその応用について詳しく解説します。

5.1. 転置行列の定義

行列 $A$ の転置行列 $A^T$ は、行列 $A$ の $i$ 行 $j$ 列成分を、$A^T$ の $j$ 行 $i$ 列成分とするように、行と列を入れ替えて得られる行列です。

つまり、行列 $A$ が $m \times n$ の行列である場合、転置行列 $A^T$ は $n \times m$ の行列になります。

$$ A = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix} $$

であるとき、転置行列 $A^T$ は、

$$ A^T = \begin{pmatrix} a_{11} & a_{21} & \cdots & a_{m1} \\ a_{12} & a_{22} & \cdots & a_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} & a_{2n} & \cdots & a_{mn} \end{pmatrix} $$

と表されます。

5.2. 転置行列の例

具体的な例を見て、転置行列の概念を理解しましょう。

例えば、行列 $A$ が以下のようであるとします。

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

このとき、転置行列 $A^T$ は、

$$ A^T = \begin{pmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{pmatrix} $$

となります。このように、転置行列は、元の行列の行と列を入れ替えることで得られます。

5.3. 転置行列の性質

転置行列には、以下のような重要な性質があります。

  1. 二重転置:$(A^T)^T = A$ が成り立ちます。つまり、転置行列を再度転置すると、元の行列に戻ります。
  2. 和の転置:$(A + B)^T = A^T + B^T$ が成り立ちます。つまり、行列の和を計算してから転置するのと、転置してから和を計算するのは同じ結果になります。
  3. スカラー倍の転置:$(\alpha A)^T = \alpha A^T$ が成り立ちます。つまり、スカラー倍してから転置するのと、転置してからスカラー倍するのは同じ結果になります。
  4. 積の転置:$(AB)^T = B^T A^T$ が成り立ちます。つまり、行列の積を計算してから転置するのと、転置してから積を計算する場合は、積の順序が逆になることに注意する必要があります。
  5. 逆行列の転置:$(A^{-1})^T = (A^{-1})^T$ が成り立ちます。つまり、逆行列を計算してから転置するのと、転置してから逆行列を計算するのは同じ結果になります。

5.4. 転置行列の応用

転置行列は、以下のような場面で活用されます。

  • ベクトルの内積:2つのベクトル $\mathbf{a}$ と $\mathbf{b}$ の内積は、転置行列を用いて $\mathbf{a}^T \mathbf{b}$ または $\mathbf{b}^T \mathbf{a}$ と表すことができます。
  • 二次形式:二次形式を行列を用いて表現する際に、転置行列が利用されます(後述)。
  • 共分散行列:統計学における共分散行列を計算する際に、転置行列が利用されます(後述)。
  • 機械学習:機械学習の様々なアルゴリズムで転置行列が利用されます。特に、線形回帰や主成分分析などで使用されます。

5.5. 特殊な行列と転置

  • 対称行列:$A^T = A$ を満たす正方行列を 対称行列 といいます。対称行列は、多くの場面で重要な役割を果たします。例えば、共分散行列や、グラフ理論における隣接行列などが対称行列になります。
  • 直交行列:$A^T = A^{-1}$ を満たす正方行列を 直交行列 といいます。直交行列は、回転や鏡面反射などの幾何学的な変換を表す際に利用されます。

5.6. 実践的な例

例えば、あるデータセットを行列で表現した場合、各変数を列に、各観測値を行に配置することが一般的です。この場合、転置行列を取ることで、変数を行に、観測値を列に配置することができます。これは、異なる観点からデータを見るのに役立ちます。

この章では、転置行列の定義、性質、およびその応用について詳しく解説しました。転置行列は、行列計算やデータ分析において非常に重要なツールです。次の章では、二次形式について見ていきましょう。

6. 二次形式:行列を用いた多変数関数の表現

二次形式とは、多変数関数の一種で、各項が変数の2次の項で構成されるものです。二次形式は、幾何学、最適化、統計学など、多くの分野で重要な役割を果たします。特に、行列を用いることで、二次形式を簡潔に表現し、解析することが可能になります。この章では、二次形式の定義、行列による表現、およびその応用について詳しく解説します。

6.1. 二次形式の定義

n個の変数 $x_1, x_2, \dots, x_n$ を持つ二次形式 $Q(x_1, x_2, \dots, x_n)$ は、以下のように表されます。

$$ Q(x_1, x_2, \dots, x_n) = \sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} x_i x_j $$

ここで、$a_{ij}$ は係数です。この式は、すべての2次の組み合わせの項の和を表しています。

6.2. 行列による二次形式の表現

二次形式は、行列を用いてより簡潔に表現することができます。変数 $x_1, x_2, \dots, x_n$ を要素とする列ベクトル $\mathbf{x}$ を定義し、係数 $a_{ij}$ を要素とする正方行列 $A$ を定義します。すると、二次形式 $Q$ は、以下のように表すことができます。

$$ Q(\mathbf{x}) = \mathbf{x}^T A \mathbf{x} $$

ここで、$\mathbf{x}^T$ はベクトル $\mathbf{x}$ の転置です。行列 $A$ は 二次形式の係数行列 と呼ばれます。

例えば、2つの変数 $x_1$ と $x_2$ を持つ二次形式を考えてみましょう。

$$ Q(x_1, x_2) = a_{11}x_1^2 + a_{12}x_1x_2 + a_{21}x_2x_1 + a_{22}x_2^2 $$

このとき、ベクトル $\mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix}$ と、行列 $A = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix}$ を用いると、

$$ Q(\mathbf{x}) = \begin{pmatrix} x_1 & x_2 \end{pmatrix} \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \mathbf{x}^T A \mathbf{x} $$

と表すことができます。

6.3. 対称行列による表現

二次形式の係数行列 $A$ は、対称行列であることが一般的です。なぜなら、対称行列でない場合でも、

$$ Q(\mathbf{x}) = \mathbf{x}^T A \mathbf{x} = \mathbf{x}^T \frac{A + A^T}{2} \mathbf{x} $$

が成り立ち、常に $A$ の対称部分 $\frac{A + A^T}{2}$ だけが二次形式に影響するためです。したがって、二次形式の係数行列は、対称行列であると仮定することが一般的です。

6.4. 二次形式の応用

二次形式は、以下のような場面で活用されます。

  • 楕円や双曲線の表現:2次元における二次形式は、楕円や双曲線を表現するために使用されます。
  • 最適化問題:最適化問題において、関数の極値を求める際に、二次形式が用いられます。特に、最小二乗法や勾配法などで使用されます。
  • 統計学:多変量解析において、共分散行列や相関行列を扱う際に、二次形式が利用されます(後述)。
  • 機械学習:機械学習における様々なアルゴリズムで、二次形式が使用されます。例えば、SVM(サポートベクターマシン)やカーネル法などで使用されます。
  • 物理学:物理学におけるエネルギー表現や、振動系の解析などで使用されます。

6.5. 二次形式の正定値性と負定値性

二次形式の係数行列 $A$ が対称行列である場合、二次形式の 正定値性負定値性 を定義することができます。

  • 正定値:すべての零ベクトルではないベクトル $\mathbf{x}$ に対して $Q(\mathbf{x}) > 0$ が成り立つとき、$Q$ は正定値であるといいます。このとき、行列 $A$ も正定値行列と呼ばれます。
  • 負定値:すべての零ベクトルではないベクトル $\mathbf{x}$ に対して $Q(\mathbf{x}) < 0$ が成り立つとき、$Q$ は負定値であるといいます。このとき、行列 $A$ も負定値行列と呼ばれます。
  • 半正定値:すべてのベクトル $\mathbf{x}$ に対して $Q(\mathbf{x}) \geq 0$ が成り立つとき、$Q$ は半正定値であるといいます。このとき、行列 $A$ も半正定値行列と呼ばれます。
  • 半負定値:すべてのベクトル $\mathbf{x}$ に対して $Q(\mathbf{x}) \leq 0$ が成り立つとき、$Q$ は半負定値であるといいます。このとき、行列 $A$ も半負定値行列と呼ばれます。

正定値性や負定値性は、最適化問題において、関数の極値が最小値か最大値かを判断する上で重要な情報となります。

6.6. 実践的な例

例えば、あるシステムのエネルギー関数が二次形式で表される場合、そのエネルギーが最小になる状態を求めることができます。また、統計学における分散共分散行列は、変数の変動を二次形式として表現することができます。

この章では、二次形式の定義、行列による表現、応用、および正定値性や負定値性について詳しく解説しました。二次形式は、多変数関数の特性を理解する上で重要な概念であり、様々な分野で活用されています。次の章では、共分散行列について見ていきましょう。

7. 共分散行列:多変量データの変動を捉える

共分散行列とは、多変量データにおける各変数間の共分散を成分とする正方行列です。共分散行列は、データセットの変動を捉え、変数間の相関関係を分析する上で非常に重要なツールです。この章では、共分散行列の定義、計算方法、性質、およびその応用について詳しく解説します。

7.1. 共分散の定義

まず、共分散の定義を確認しましょう。2つの変数 $X$ と $Y$ の共分散 $\text{Cov}(X, Y)$ は、以下のように定義されます。

$$ \text{Cov}(X, Y) = E[(X - E[X])(Y - E[Y])] $$

ここで、$E[X]$ は変数 $X$ の期待値(平均)を表します。共分散は、2つの変数がどの程度同時に変動するかを表す指標です。

  • 共分散が正の場合:$X$ が増加する傾向があるとき、$Y$ も増加する傾向があります。
  • 共分散が負の場合:$X$ が増加する傾向があるとき、$Y$ は減少する傾向があります。
  • 共分散が0の場合:$X$ と $Y$ の間には線形な相関関係がないといえます。

7.2. 共分散行列の定義

$n$ 個の変数を持つ多変量データ $\mathbf{X} = (X_1, X_2, \dots, X_n)$ があるとします。共分散行列 $\Sigma$ は、各変数の組の共分散を成分とする $n \times n$ の正方行列です。具体的には、共分散行列 $\Sigma$ の $ij$ 成分 $\Sigma_{ij}$ は、変数 $X_i$ と $X_j$ の共分散 $\text{Cov}(X_i, X_j)$ で定義されます。

$$ \Sigma = \begin{pmatrix} \text{Cov}(X_1, X_1) & \text{Cov}(X_1, X_2) & \cdots & \text{Cov}(X_1, X_n) \\ \text{Cov}(X_2, X_1) & \text{Cov}(X_2, X_2) & \cdots & \text{Cov}(X_2, X_n) \\ \vdots & \vdots & \ddots & \vdots \\ \text{Cov}(X_n, X_1) & \text{Cov}(X_n, X_2) & \cdots & \text{Cov}(X_n, X_n) \end{pmatrix} $$

共分散行列の対角成分は、各変数の分散を表します。つまり、$\Sigma_{ii} = \text{Var}(X_i) = \text{Cov}(X_i, X_i)$ となります。

7.3. 共分散行列の計算方法

実際には、データセットから共分散行列を推定する必要があります。データセットが $m$ 個の観測値を持つ場合、各観測値は $n$ 個の変数の値を持っています。このデータセットを行列 $X$ で表現すると、以下のように表されます。

$$ X = \begin{pmatrix} x_{11} & x_{12} & \cdots & x_{1n} \\ x_{21} & x_{22} & \cdots & x_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{mn} \end{pmatrix} $$

ここで、$x_{ij}$ は $i$ 番目の観測値における $j$ 番目の変数の値です。 各変数の平均値 $\bar{x}_j$ を計算し、データ行列から平均値を引いた行列 $\tilde{X}$ を作成します。

$$ \tilde{X} = \begin{pmatrix} x_{11} - \bar{x}_1 & x_{12} - \bar{x}_2 & \cdots & x_{1n} - \bar{x}_n \\ x_{21} - \bar{x}_1 & x_{22} - \bar{x}_2 & \cdots & x_{2n} - \bar{x}_n \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} - \bar{x}_1 & x_{m2} - \bar{x}_2 & \cdots & x_{mn} - \bar{x}_n \end{pmatrix} $$

共分散行列 $\Sigma$ は、以下の式で推定することができます。

$$ \Sigma = \frac{1}{m-1} \tilde{X}^T \tilde{X} $$

ここで、$\tilde{X}^T$ は行列 $\tilde{X}$ の転置です。因子 $(m-1)$ は、不偏分散を求めるために使用されます。

7.4. 共分散行列の性質

共分散行列には、以下のような重要な性質があります。

  1. 対称行列である:共分散行列は必ず対称行列になります。つまり、$\Sigma = \Sigma^T$ が成り立ちます。これは、$\text{Cov}(X_i, X_j) = \text{Cov}(X_j, X_i)$ であるためです。
  2. 半正定値行列である:共分散行列は、必ず半正定値行列になります。つまり、任意のベクトル $\mathbf{v}$ に対して、$\mathbf{v}^T \Sigma \mathbf{v} \geq 0$ が成り立ちます。
  3. 対角成分は分散である:共分散行列の対角成分は、各変数の分散を表します。つまり、$\Sigma_{ii} = \text{Var}(X_i)$ となります。
  4. 非対角成分は共分散である:共分散行列の非対角成分は、対応する変数間の共分散を表します。

7.5. 共分散行列の応用

共分散行列は、以下のような場面で活用されます。

  • 多変量解析:多変量データにおける変数間の関係を分析する際に、共分散行列が利用されます。
  • 主成分分析:主成分分析において、データセットの変動を表現する主成分を抽出する際に、共分散行列が利用されます(後述)。
  • 機械学習:機械学習における特徴量抽出や、モデルの学習に使用されます。
  • ポートフォリオ理論:金融工学において、ポートフォリオのリスクを評価する際に、共分散行列が利用されます。
  • 画像処理:画像処理において、画像の特徴量を表現する際に、共分散行列が利用されます。

7.6. 共分散行列と相関行列

共分散行列と似た概念として、相関行列があります。相関行列は、各変数間の相関係数を成分とする行列です。相関係数は、共分散を各変数の標準偏差で割ることで計算されます。相関行列は、共分散行列を標準化することで、変数間の関係をより分かりやすく表現することができます。

7.7. 実践的な例

例えば、ある会社の従業員の給与、勤続年数、残業時間といったデータセットがあるとします。これらの変数間の共分散行列を計算することで、これらの変数間の関係を分析することができます。例えば、給与と残業時間の共分散が正の場合、残業時間が長い従業員ほど給与が高い傾向があることを意味します。

この章では、共分散行列の定義、計算方法、性質、およびその応用について詳しく解説しました。共分散行列は、多変量データの変動を捉え、変数間の相関関係を分析する上で非常に重要なツールです。次の章では、直交行列と対称行列について見ていきましょう。

8. 直交行列と対称行列:特別な性質を持つ行列

直交行列と対称行列は、それぞれ特別な性質を持つ正方行列であり、数学や工学の多くの分野で重要な役割を果たします。これらの行列は、特定の変換を表現したり、計算を簡略化したりするために用いられます。この章では、直交行列と対称行列の定義、性質、およびその応用について詳しく解説します。

8.1. 直交行列の定義

正方行列 $A$ が 直交行列 であるとは、以下の条件を満たすことをいいます。

$$ A^T A = A A^T = I $$

ここで、$A^T$ は行列 $A$ の転置であり、$I$ は単位行列です。この定義から、直交行列の逆行列は、その転置行列と等しくなることがわかります。

$$ A^{-1} = A^T $$

8.2. 直交行列の性質

直交行列には、以下のような重要な性質があります。

  1. 列ベクトル(または行ベクトル)は正規直交系をなす:直交行列の列ベクトル(または行ベクトル)は、互いに直交し、かつ大きさが1である(正規直交系をなす)という性質を持ちます。つまり、各列ベクトルの内積は、同じベクトルの場合は1、異なるベクトルの場合は0となります。
  2. 回転や鏡面反射などの変換を表す:直交行列は、幾何学的な変換(回転、鏡面反射など)を表す際に用いられます。直交行列をベクトルに掛けることで、そのベクトルを回転させたり、鏡面反射させたりすることができます。
  3. 行列式の絶対値が1である:直交行列の行列式の絶対値は1です。つまり、$\det(A) = \pm 1$ となります。行列式が1の場合は回転を表し、-1の場合は鏡面反射を表します。
  4. ベクトルの長さを変えない:直交行列による変換は、ベクトルの長さを変えません。つまり、$\|A\mathbf{v}\| = \|\mathbf{v}\|$ が成り立ちます。ここで、$\|\mathbf{v}\|$ はベクトル $\mathbf{v}$ の長さ(ユークリッドノルム)を表します。

8.3. 対称行列の定義

正方行列 $A$ が 対称行列 であるとは、以下の条件を満たすことをいいます。

$$ A^T = A $$

つまり、対称行列は、転置行列が元の行列と等しい行列です。

8.4. 対称行列の性質

対称行列には、以下のような重要な性質があります。

  1. 固有値は実数である:対称行列の固有値は、必ず実数になります。
  2. 固有ベクトルは直交する:対称行列の異なる固有値に対応する固有ベクトルは、互いに直交します。
  3. 直交対角化が可能である:対称行列は、必ず直交行列を用いて対角化することができます。つまり、ある直交行列 $P$ が存在し、$P^T A P = D$ となる対角行列 $D$ が存在します。ここで、対角行列 $D$ の対角成分は、行列 $A$ の固有値となります。
  4. 二次形式との関連:対称行列は、二次形式の係数行列として用いられます。二次形式は、$\mathbf{x}^T A \mathbf{x}$ の形で表現されます。

8.5. 直交行列と対称行列の応用

直交行列と対称行列は、以下のような場面で活用されます。

  • コンピュータグラフィックス:直交行列は、3次元空間における回転や鏡面反射などの変換を表すために使用されます。
  • 主成分分析:主成分分析において、分散が最大となる主成分を抽出する際に、対称行列の固有値と固有ベクトルが使用されます(後述)。
  • 機械学習:機械学習における様々なアルゴリズムで、直交行列や対称行列が使用されます。特に、カーネル法やSVMなどで使用されます。
  • 量子力学:量子力学における変換(ユニタリ変換)は、直交行列の複素数版であるユニタリ行列で表現されます。
  • 振動解析:機械や構造物の振動モードを解析する際に、対称行列の固有値と固有ベクトルが使用されます。

8.6. 実践的な例

例えば、3次元空間における物体の回転を表現する際には、直交行列が使用されます。また、データセットの共分散行列は対称行列になるため、主成分分析などを行う際に、対称行列の固有値と固有ベクトルの性質が利用されます。

この章では、直交行列と対称行列の定義、性質、およびその応用について詳しく解説しました。これらの行列は、数学や工学の多くの分野で重要な役割を果たします。次の章では、主成分分析について見ていきましょう。

9. 主成分分析:高次元データの次元削減

主成分分析(Principal Component Analysis: PCA)は、多変量データ解析において、高次元データをより低次元のデータに変換するための代表的な手法の一つです。PCAは、データの分散を最もよく表現する軸(主成分)を見つけ出し、これらの軸に基づいてデータを再構成することで、情報の損失を最小限に抑えつつ、データの次元を削減することができます。この章では、主成分分析の原理、手順、およびその応用について詳しく解説します。

9.1. 主成分分析の目的

主成分分析の主な目的は、以下のような点にあります。

  1. データの次元削減:高次元データを、より少ない次元で表現することで、計算コストを削減し、データの可視化を容易にします。
  2. データの構造の把握:データの分散が大きい方向に注目することで、データの重要な特徴を抽出することができます。
  3. ノイズの除去:データに含まれるノイズ成分を低減し、データの品質を向上させることができます。

9.2. 主成分分析の原理

PCAの基本原理は、データの分散が最大となる方向にデータを射影することです。具体的には、以下の手順で主成分を求めます。

  1. データの標準化:データセットの各変数を、平均が0、分散が1になるように標準化します。これにより、各変数のスケールの影響を取り除き、公平に分析することができます。
  2. 共分散行列の計算:標準化されたデータセットの共分散行列を計算します。共分散行列は、変数間の相関関係を表します。
  3. 固有値と固有ベクトルの計算:共分散行列の固有値と固有ベクトルを計算します。固有ベクトルは、データの分散が最大となる方向を表し、固有値は、その方向の分散の大きさを表します。
  4. 主成分の選択:固有値の大きい順に固有ベクトルを並べ、上位の固有ベクトルを主成分として選択します。通常、上位の主成分だけで、データセットの大部分の分散を説明できます。
  5. 次元削減:選択した主成分に基づいて、元のデータをより低い次元のデータに変換します。

9.3. 主成分分析の手順

具体的な例を通して、主成分分析の手順を詳しく見ていきましょう。

  1. データセットの準備: $m$ 個の観測値と $n$ 個の変数を持つデータセットを用意します。データセットを行列 $X$ で表現します。 $$ X = \begin{pmatrix} x_{11} & x_{12} & \cdots & x_{1n} \\ x_{21} & x_{22} & \cdots & x_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{mn} \end{pmatrix} $$
  2. データの標準化: 各変数について、平均を0、分散を1になるように標準化します。標準化されたデータを $\tilde{X}$ とします。 $$ \tilde{x}_{ij} = \frac{x_{ij} - \bar{x}_j}{\sigma_j} $$ ここで、$\bar{x}_j$ は $j$ 番目の変数の平均であり、$\sigma_j$ は $j$ 番目の変数の標準偏差です。
  3. 共分散行列の計算: 標準化されたデータ $\tilde{X}$ の共分散行列 $\Sigma$ を計算します。 $$ \Sigma = \frac{1}{m-1} \tilde{X}^T \tilde{X} $$
  4. 固有値と固有ベクトルの計算: 共分散行列 $\Sigma$ の固有値 $\lambda_1, \lambda_2, \dots, \lambda_n$ と、対応する固有ベクトル $\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n$ を計算します。 固有値は通常、$\lambda_1 \geq \lambda_2 \geq \dots \geq \lambda_n$ となるように並べます。
  5. 主成分の選択: 上位 $k$ 個の固有ベクトルを主成分として選択します($k < n$)。
  6. 次元削減: 選択した $k$ 個の主成分に対応する固有ベクトルを列とする行列 $V_k = [\mathbf{v}_1 \ \mathbf{v}_2 \ \cdots \ \mathbf{v}_k]$ を作成し、標準化されたデータ $\tilde{X}$ に掛けて、新しい低次元のデータ $\tilde{Y}$ を計算します。 $$ \tilde{Y} = \tilde{X} V_k $$ $\tilde{Y}$ は、$m$ 個の観測値と $k$ 個の主成分を持つデータとなります。

9.4. 主成分分析の応用

主成分分析は、以下のような場面で活用されます。

  • 画像処理:画像のデータ量を削減し、画像の認識や分類の精度を向上させるために使用されます。
  • 自然言語処理:テキストデータの次元を削減し、テキストの分類やクラスタリングなどのタスクを効率化するために使用されます。
  • ゲノム解析:遺伝子データの次元を削減し、遺伝子発現のパターンを解析するために使用されます。
  • 金融工学:ポートフォリオのリスクを分析するために使用されます。
  • マーケティング:顧客の購買行動データを分析するために使用されます。
  • 機械学習:特徴量抽出や、前処理として使用されます。

9.5. 主成分の解釈

主成分は、元の変数の線形結合で表されます。各主成分が、元の変数のどの程度寄与しているかを知ることで、データの解釈を深めることができます。

9.6. 注意点

  • PCAは、線形な次元削減手法であるため、非線形な構造を持つデータに対しては、効果が低い場合があります。
  • 主成分の選択は、分析の目的に合わせて慎重に行う必要があります。通常、累積寄与率を参考に、適切な数の主成分を選択します。

この章では、主成分分析の原理、手順、およびその応用について詳しく解説しました。主成分分析は、高次元データの次元削減と可視化のための強力なツールです。次の章では、特異値分解について見ていきましょう。

10. 特異値分解:行列の分解と低ランク近似

特異値分解(Singular Value Decomposition: SVD)は、任意の行列を3つの行列の積に分解する手法であり、線形代数における非常に強力なツールの一つです。SVDは、データの次元削減、ノイズ除去、行列の低ランク近似など、様々な応用を持つ重要な概念です。この章では、特異値分解の定義、計算方法、性質、およびその応用について詳しく解説します。

10.1. 特異値分解の定義

任意の $m \times n$ の行列 $A$ は、以下の3つの行列の積として分解できます。

$$ A = U \Sigma V^T $$

ここで、

  • $U$ は $m \times m$ の 直交行列 です。この行列は、左特異ベクトル を列ベクトルとして持ちます。
  • $\Sigma$ は $m \times n$ の 対角行列 です。対角成分は、特異値 と呼ばれる非負の実数で構成されます。特異値は通常、大きい順に並べられます。
  • $V$ は $n \times n$ の 直交行列 です。この行列は、右特異ベクトル を列ベクトルとして持ちます。

10.2. 特異値分解の計算方法

特異値分解は、以下のような手順で計算されます。

  1. 行列 $A^T A$ を計算: 行列 $A$ の転置 $A^T$ を用いて、行列 $A^T A$ を計算します。この行列は、$n \times n$ の正方行列になります。
  2. 行列 $A^T A$ の固有値と固有ベクトルを計算: 行列 $A^T A$ の固有値 $\lambda_1, \lambda_2, \dots, \lambda_n$ と、対応する固有ベクトル $\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n$ を計算します。固有値は、通常、大きい順に並べます。
  3. 行列 $V$ を構築: 固有ベクトル $\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n$ を列とする行列を $V$ とします。つまり、$V = [\mathbf{v}_1 \ \mathbf{v}_2 \ \cdots \ \mathbf{v}_n]$ となります。
  4. 特異値を計算: 各固有値 $\lambda_i$ の平方根 $\sigma_i = \sqrt{\lambda_i}$ を計算します。これらの値が、特異値となります。
  5. 行列 $\Sigma$ を構築: 計算した特異値 $\sigma_1, \sigma_2, \dots, \sigma_r$ を対角成分とし、それ以外の成分を0とする $m \times n$ の対角行列を $\Sigma$ とします。ここで、$r$ は行列 $A$ のランクを表します。
  6. 行列 $U$ を構築
    • ランクが$r$のとき、最初の$r$個の左特異ベクトルは、$U$の最初の$r$個の列ベクトルとして、$u_i=\frac{1}{\sigma_i}A v_i$ で計算します。
    • 残りの列ベクトルは、直交性を保つように計算します。(例えば、グラムシュミットの直交化法を使用します。)

10.3. 特異値分解の性質

特異値分解には、以下のような重要な性質があります。

  1. 任意の行列に適用可能:正方行列だけでなく、任意のサイズの行列に対して特異値分解を適用することができます。
  2. 低ランク近似:特異値を大きい順に並べ、上位の特異値に対応する行列のみを残すことで、元の行列を低ランクで近似することができます。これは、データの次元削減やノイズ除去に利用されます。
  3. 擬似逆行列:特異値分解を用いることで、正方行列でない行列や、逆行列を持たない特異な行列に対しても、擬似逆行列を計算することができます。
  4. データの構造を捉える:特異値は、データの分散の大きさを表し、特異ベクトルは、データの構造を捉えるために利用できます。

10.4. 特異値分解の応用

特異値分解は、以下のような場面で活用されます。

  • 画像処理:画像の圧縮、ノイズ除去、画像認識などに利用されます。
  • 自然言語処理:テキストデータの次元削減、潜在意味解析(LSA)、文書分類などに利用されます。
  • レコメンデーションシステム:ユーザーの購買履歴や閲覧履歴から、ユーザーに最適な商品を推薦するために利用されます。
  • 情報検索:検索クエリと文書の関連度を評価するために利用されます。
  • 機械学習:特徴量抽出、モデルの学習などに利用されます。
  • 信号処理:ノイズ除去や信号の分離などに利用されます。

10.5. 低ランク近似

特異値分解の重要な応用の1つに、行列の低ランク近似があります。特異値を大きい順に並べ、上位 $k$ 個の特異値に対応する行列のみを残して、他の特異値を0とすることで、元の行列を低ランクで近似することができます。この近似は、データの次元削減やノイズ除去に役立ちます。

$$ A \approx U_k \Sigma_k V_k^T $$

ここで、$U_k$ は $U$ の最初の $k$ 列、$V_k$ は $V$ の最初の $k$ 列からなる行列であり、$\Sigma_k$ は $\Sigma$ の最初の $k$ 個の特異値を対角成分とする行列です。

10.6. 実践的な例

例えば、ある画像を行列で表現した場合、SVDを用いて画像の低ランク近似をすることで、画像サイズを削減することができます。また、テキストデータを行列で表現した場合、SVDを用いて潜在的なトピックを抽出したり、文書間の関連度を評価することができます。

この章では、特異値分解の定義、計算方法、性質、およびその応用について詳しく解説しました。特異値分解は、行列の分解と低ランク近似のための強力なツールであり、様々な分野で活用されています。次の章では、多変量正規分布について見ていきましょう。

11. 多変量正規分布:多変量データの確率分布

多変量正規分布(Multivariate Normal Distribution)は、複数の変数を持つデータの確率分布を表すための基本的なモデルの一つです。多変量正規分布は、多くの自然現象や人工的なデータにおいて、その分布を近似するために用いられており、統計学や機械学習において非常に重要な役割を果たします。この章では、多変量正規分布の定義、性質、およびその応用について詳しく解説します。

11.1. 多変量正規分布の定義

$n$ 個の変数を持つ多変量データ $\mathbf{X} = (X_1, X_2, \dots, X_n)^T$ が、多変量正規分布に従うとは、その確率密度関数 $f(\mathbf{x})$ が以下の式で表されることをいいます。

$$ f(\mathbf{x}) = \frac{1}{(2\pi)^{n/2}|\Sigma|^{1/2}}\exp\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu})\right) $$

ここで、

  • $\mathbf{x}$ は、多変量データ$\mathbf{X}$の実現値である$n$次元列ベクトルです。
  • $\boldsymbol{\mu}$ は、$n$次元の 平均ベクトル です。各変数の平均値を要素に持ちます。
  • $\Sigma$ は、$n \times n$ の 共分散行列 です。各変数の分散と共分散を要素に持ちます。
  • $|\Sigma|$ は、共分散行列$\Sigma$の行列式です。
  • $\Sigma^{-1}$ は、共分散行列$\Sigma$の逆行列です。

多変量正規分布は、平均ベクトル$\boldsymbol{\mu}$と共分散行列$\Sigma$の2つのパラメータによって完全に決定されます。

11.2. 多変量正規分布の性質

多変量正規分布には、以下のような重要な性質があります。

  1. 周辺分布は正規分布:多変量正規分布の周辺分布は、いずれも正規分布になります。つまり、変数の一部を取り出して確率分布を考えると、それは正規分布に従います。
  2. 条件付き分布は正規分布:多変量正規分布の条件付き分布も、正規分布になります。つまり、ある変数の値が与えられた条件下での他の変数の確率分布は、正規分布に従います。
  3. 線形結合も正規分布:多変量正規分布に従う変数たちの任意の線形結合も、正規分布に従います。
  4. 再生性:互いに独立な多変量正規分布に従う変数たちの和も、多変量正規分布に従います。
  5. 等高線は楕円:多変量正規分布の確率密度が等しい点の集合(等高線)は、楕円になります。この楕円は、共分散行列 $\Sigma$ の固有ベクトルによって決定される軸を持ちます。

11.3. 多変量正規分布の応用

多変量正規分布は、以下のような場面で活用されます。

  • 統計的推論:多変量データに対して、パラメータの推定や仮説検定を行う際に、多変量正規分布が用いられます。
  • 機械学習:教師あり学習や教師なし学習のモデルとして、多変量正規分布が利用されます。例えば、ベイズ分類器やガウス混合モデルなどで使用されます。
  • 異常検知:多変量データの分布を多変量正規分布でモデル化し、その分布から大きく外れたデータを異常として検出するために利用されます。
  • 時系列解析:多変量時系列データをモデリングする際に利用されます。
  • 金融工学:金融商品の価格変動をモデル化する際に利用されます。
  • 画像処理:画像の特徴量をモデル化したり、画像のノイズを表現するために利用されます。

11.4. 共分散行列と多変量正規分布

共分散行列は、多変量正規分布において、各変数間の相関関係や分散を記述する上で重要な役割を果たします。

  • 共分散行列の対角成分:各変数の分散を表します。
  • 共分散行列の非対角成分:各変数間の共分散を表します。
  • 共分散行列が対角行列の場合:各変数間に相関がないことを意味します。つまり、各変数は独立に正規分布に従います。
  • 共分散行列の固有値と固有ベクトル:多変量正規分布の等高線である楕円の形状や向きを決定します。固有値は楕円の軸の長さを表し、固有ベクトルは軸の方向を表します。

11.5. 実践的な例

例えば、ある地域の気象データを分析する際に、気温、湿度、降水量などの変数を多変量正規分布でモデル化することができます。このモデルを用いることで、これらの変数間の関係を捉えたり、将来の気象を予測したりすることができます。また、ある製品の購買履歴データから、顧客の購買行動を多変量正規分布でモデル化することで、顧客の嗜好を分析したり、パーソナライズされたレコメンデーションを提供することができます。

この章では、多変量正規分布の定義、性質、およびその応用について詳しく解説しました。多変量正規分布は、多変量データの確率分布を表すための基本的なモデルであり、様々な分野で活用されています。