Undefined control sequence: \DeclareMathOperator at position 57: …{#1}}
% 演算子の定義
\̲D̲e̲c̲l̲a̲r̲e̲M̲a̲t̲h̲O̲p̲e̲r̲a̲t̲o̲r̲{\im}{ \text{Im…
% 太字のalias
\newcommand{\b}[1]{\boldsymbol{#1}}
% 演算子の定義
\DeclareMathOperator{\im}{ \text{Im} }
\DeclareMathOperator{\rank}{ \text{rank} }
\DeclareMathOperator{\span}{ \text{Span} }
\DeclareMathOperator{\Ker}{ \text{Ker} }像 Im \text{Im} Im ¶ Aで移れる範囲を像 \im A という。値域(range)と言うこともあるらしい。より正確には:
集合X X X から集合Y Y Y への写像
f : X ⟶ Y f: X \longrightarrow Y f : X ⟶ Y におけるX X X を 定義域 、Y Y Y を値域 という。
x ∈ X x \in X x ∈ X にy ∈ Y y \in Y y ∈ Y が対応するとき、y y y をf f f によるx x x の 像 といい、
と書く。
x x x がX X X のすべての元をわたるとき、f ( x ) f(x) f ( x ) 全体の作るY Y Y の部分集合をf f f の 像 といい、Im f \text{Im} f Im f と表す。
Im f = { f ( x ) ∣ x ∈ X } \mathop{\text{Im}} f = \{f(x) \mid x \in X \} Im f = { f ( x ) ∣ x ∈ X } Im f = Y \mathop{\text{Im}} f = Y Im f = Y のとき、f f f は 全射 であるという。またx 1 , x 2 ∈ X , x 1 ≠ x 2 x_1, x_2 \in X, x_1 \neq x_2 x 1 , x 2 ∈ X , x 1 = x 2 に対してf ( x 1 ) ≠ f ( x 2 ) f(x_1) \neq f(x_2) f ( x 1 ) = f ( x 2 ) が成り立つとき、f f f は 単射 であるという。
n n n 次元ベクトル空間V n V^n V n からm m m 次元ベクトル空間V m V^m V m への写像f : x → A x f: \boldsymbol{x} \to A \boldsymbol{x} f : x → A x があるとする。ここでA A A はm × n m\times n m × n 行列である。
V n V^n V n のf f f による像になっているV m V^m V m のベクトル全体の集合、すなわち
{ y ∣ y ∈ V m , y = A x ( x ∈ V m ) } \{ \boldsymbol{y} \mid \boldsymbol{y} \in V^m, \boldsymbol{y} = A\boldsymbol{x} (\boldsymbol{x} \in V^m) \} { y ∣ y ∈ V m , y = A x ( x ∈ V m )} はV m V^m V m の部分空間となり、これを 像 という。
Im = Span ¶ 数x 1 , … , x n x_1, \dots, x_n x 1 , … , x n を色々な値にしたときの線形和 x_1 \b{a}_1 + \cdots + x_n \b{a}_n = A \b{x} が \im A であり、 \b{a}_1, \dots, \b{a}_n が張る線型部分空間 \span \{ \b{a}_1, \dots, \b{a}_n \} でもある
Undefined control sequence: \im at position 1: \̲i̲m̲ ̲A = \span \{ \b…
\im A = \span \{ \b{a}_1, \dots, \b{a}_n \} = x_1 \b{a}_1 + \cdots + x_n \b{a}_n = A\b{x}最小二乗推定量β ^ = ( X ⊤ X ) − 1 X ⊤ y \hat{\boldsymbol{\beta}} = (X^\top X)^{-1} X^\top \boldsymbol{y} β ^ = ( X ⊤ X ) − 1 X ⊤ y
をy ^ = X β ^ \hat{\boldsymbol{y}} = X \hat{\boldsymbol{\beta}} y ^ = X β ^ に代入すると
y ^ = X ( X ⊤ X ) − 1 X ⊤ ⏟ P y = P y \hat{\boldsymbol{y}} = \underbrace{ X (X^\top X)^{-1} X^\top }_{P} \boldsymbol{y}
= P \boldsymbol{y} y ^ = P X ( X ⊤ X ) − 1 X ⊤ y = P y つまり、ベクトルy \boldsymbol{y} y を行列P = X ( X ⊤ X ) − 1 X ⊤ P = X (X^\top X)^{-1} X^\top P = X ( X ⊤ X ) − 1 X ⊤ で射影したものとみなすことができる。
この行列P P P は対称行列で、P 2 = P P^2=P P 2 = P となる。対称行列でP 2 = P P^2=P P 2 = P となる行列を射影行列という。
射影行列は、X X X の列空間 \im X にベクトルを正射影するという性質がある。y \boldsymbol{y} y の \im X への射影がy ^ \hat{\boldsymbol{y}} y ^ で、垂線の足が誤差u \boldsymbol{u} u となる。
最小二乗法はy \boldsymbol{y} y から \im X への射影を求める操作であると捉えることができる。
A x = 0 A\boldsymbol{x} = \boldsymbol{0} A x = 0 に移ってくるようなx \boldsymbol{x} x の集合をA A A の 核(kernel) あるいは 零空間(null space) と呼び、Ker A \mathop{ \text{Ker} } A Ker A と書く
Ker A = { x ∣ A x = 0 } \mathop{ \text{Ker} } A
= \{ \boldsymbol{x} \mid A\boldsymbol{x} = \boldsymbol{0} \} Ker A = { x ∣ A x = 0 } 核はベクトル空間であり、その次元は 退化次数 (nullity)とも呼ばれる(つまり、 \dim \Ker A = \mathop{\text{nullity}} A )
幾何学的な解釈としては、カーネルは写像A A A で結果がぺちゃんこに潰される方向。
ぺちゃんこに潰れない行列の場合、 \Ker A は0次元(原点0 \boldsymbol{0} 0 のみ)
n n n 次元ベクトル空間V n V^n V n からm m m 次元ベクトル空間V m V^m V m への写像f : x → A x f: \boldsymbol{x} \to A \boldsymbol{x} f : x → A x があるとする。ここでA A A はm × n m\times n m × n 行列である。
f f f によってV m V^m V m の零ベクトルに写されるようなV n V^n V n のベクトル全体の集合、すなわち
{ x ∣ y ∈ V n , A x = 0 } \{ \boldsymbol{x} \mid \boldsymbol{y} \in V^n, \ A \boldsymbol{x} = \boldsymbol{0} \} { x ∣ y ∈ V n , A x = 0 } をf f f (またはA A A )の 核 といい、 \Ker A またはf − 1 ( 0 ) f^{-1}(\boldsymbol{0}) f − 1 ( 0 ) またはA − 1 ( 0 ) A^{-1}(\boldsymbol{0}) A − 1 ( 0 ) と表す。
ランク ¶ m × n m\times n m × n 行列A A A に対し、A A A が定義する線形写像
A : R n → R m A: \mathbb{R}^n \to \mathbb{R}^m A : R n → R m の像空間の次元のことを ランク(階数) といい、 \rank A と表す。
Undefined control sequence: \rank at position 1: \̲r̲a̲n̲k̲ ̲A := \dim \im A…
\rank A := \dim \im A
= \dim \span\{ \boldsymbol{a}_1, \dots, \boldsymbol{a}_n \}A ∈ R m × n A \in \mathbb{R}^{m\times n} A ∈ R m × n なら、m m m 次元の定義域からn n n 次元の値域に移す写像なので、
Undefined control sequence: \rank at position 1: \̲r̲a̲n̲k̲ ̲A \leq m\\
\ran…
\rank A \leq m\\
\rank A \leq n\\
\therefore \rank A \leq \min (m,n)ランクの求め方 ¶ 線形写像を定める行列に行基本変形を行って階段行列を作ったとき、零ベクトルでない行の数がランクに相当する。
例(ランクの求め方)
3次実正方行列A A A により定められる線形写像f ( x ) = A x ( x ∈ R 3 ) f(x) = Ax \ (x\in \mathbb{R}^3) f ( x ) = A x ( x ∈ R 3 ) があるとする。
ここでA A A は
A = ( 1 2 3 2 3 4 3 4 5 ) A = \begin{pmatrix}
1 & 2 & 3\\
2 & 3 & 4\\
3 & 4 & 5\\
\end{pmatrix} A = ⎝ ⎛ 1 2 3 2 3 4 3 4 5 ⎠ ⎞ とする。この線形写像f f f のランク(行列A A A のランク)を求めたいとする。
1. 行基本変形で階段行列を作る
1行目を2倍して2行目から引く
( 1 2 3 0 − 1 − 2 3 4 5 ) \begin{pmatrix}
1 & 2 & 3\\
0 & -1 & -2\\
3 & 4 & 5\\
\end{pmatrix} ⎝ ⎛ 1 0 3 2 − 1 4 3 − 2 5 ⎠ ⎞ 1行目を3倍して3行目から引く
( 1 2 3 0 − 1 − 2 0 − 2 − 4 ) \begin{pmatrix}
1 & 2 & 3\\
0 & -1 & -2\\
0 & -2 & -4\\
\end{pmatrix} ⎝ ⎛ 1 0 0 2 − 1 − 2 3 − 2 − 4 ⎠ ⎞ 2行目を2倍して3行目から引く
( 1 2 3 0 − 1 − 2 0 0 0 ) \begin{pmatrix}
1 & 2 & 3\\
0 & -1 & -2\\
0 & 0 & 0\\
\end{pmatrix} ⎝ ⎛ 1 0 0 2 − 1 0 3 − 2 0 ⎠ ⎞ 階段行列になった。
2. 零ベクトルでない行ベクトルの数を数える
零ベクトルでない行の数は2であるので、rank f = rank A = 2 \operatorname{rank} f = \operatorname{rank} A = 2 rank f = rank A = 2
import numpy as np
A = np.array([
[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
])
np.linalg.matrix_rank(A)ベクトル空間の1次独立なベクトルの最大個数を次元という
次元定理 ¶ m × n m\times n m × n 行列A A A について、
Undefined control sequence: \Ker at position 6: \dim \̲K̲e̲r̲ ̲A + \dim \im A …
\dim \Ker A + \dim \im A = nが成り立つ。
Undefined control sequence: \Ker at position 59: …derbrace{ \dim \̲K̲e̲r̲ ̲A }_{ぺちゃんこに潰れる次…
\begin{align}
\underbrace{ n }_{元の次元}
- \underbrace{ \dim \Ker A }_{ぺちゃんこに潰れる次元}
= \underbrace{ \dim \im A }_{残った次元}
\end{align}次元定理(線形写像ver.) ¶ n n n 次元ベクトル空間X X X とm m m 次元ベクトル空間Y Y Y があるとして、
を線形写像とすると、次元定理は以下のように表される。
dim Im f + dim Ker f = dim X \dim \mathop{\text{Im}} f + \dim \mathop{\text{Ker}} f = \dim X dim Im f + dim Ker f = dim X また
から、同値の定理として
rank f + nullity f = n \mathop{\text{rank}} f + \mathop{\text{nullity}} f = n rank f + nullity f = n とも表される