「大人の教養・知識・気付き」を伸ばすブログ

一流の大人(ビジネスマン、政治家、リーダー…)として知っておきたい、教養・社会動向を意外なところから取り上げ学ぶことで“気付く力”を伸ばすブログです。

MENU

統計的機械学習の数理100問(01/X)

 いい加減時代の潮流に乗ろうということで機械学習を学びたいと思う。またRはともかくとしてPythonは未経験であるため、丁度良い書籍として

を用いることにする。

0. 線形代数

0.1 逆行列

 係数行列A\in\mathbb{R}^{m\times n}およびベクトル\boldsymbol{b}\in \mathbb{R}^{m}からA\boldsymbol{x}=\boldsymbol{b}を満たすような\boldsymbol{x}\in \mathbb{R}^nを求める問題を考える。
 Aまたは[A|\boldsymbol{b}]について

  • ルール1:ある行全体を非零定数で割る
  • ルール2:ある2つの行を入れ替える
  • ルール3:ある行の何倍かを他の行に加える

を施すことでAB\in\mathbb{R}^{m\times n}に変形できることをA\sim Bで表すこととする。
 すべての成分が0でない行ベクトルの最初の非零成分を主成分と言い、そのうち下記の条件を満たす行列を標準形という:

  • [\tex:0]の行ベクトルは最下段にある
  • 0でない行ベクトルの主成分は1である
  • 各行の主成分は下の行ほどそれより上の行の主成分よりも右にある
  • 主成分を含む列の主成分以外の成分は0である

任意の行列A\in\mathbb{R}^{m\times n}に対して標準形が一意に定まる。


ルール1から3を用いて標準形を計算することを掃き出し法という。行列Aの標準形の主成分の数を階数(Rank)という。定義から階数は\min\{m,n\}以下である。
 Aが正方でその標準形が単位行列になるとき、Aは正則であるという。またA\in\mathbb{R}^{m\times n}が正則であるとき、大きさがn単位行列Iを右の列に置いた行列[A|I]の標準形を[I|B]と書くとき、A,\ Bを互いに逆行列であるといい、A^{-1}=B,\ B^{-1}=Aと書く。

0.2 行列式

 正方行列Aに対し、行列式\det(A)を以下で定義する:

 まずAが正則でない場合、\det(A)=0とする。Aが正則ならば、単位行列Iに対して\det(I)=1とし、標準形からもとの行列Aを求める過程で、以下の手順を施すことで最終的に得た\det(A)の値を行列式と定義する。

  1. ある行全体を非零定数\alpha倍するとき、\det(A)\alpha倍する
  2. ある2行を入れ替えるとき、\det(A)-1倍する
  3. ある行の\beta倍を他の行から引くときには、\det(A)の値を変えない

行列式について、以下が成り立つ:

 正方行列A,\ Bについて、


\begin{aligned}
\det(AB)=\det(A)\det(B),\ \det(^{t}A)=\det(A)
\end{aligned}

が成立する。

0.3 一次独立性

 \boldsymbol{a}_1,\cdots, \boldsymbol{a}_n\in\mathbb{R}^{m}を列ベクトルにもつ行列A\in\mathbb{R}^{m\times n}に対して、連立方程式A\boldsymbol{x}=\boldsymbol{0}\boldsymbol{x}=\boldsymbol{0}\in\mathbb{R}^{n}以外の解をもたないとき、\boldsymbol{a}_1,\cdots, \boldsymbol{a}_nは一次独立であるといい、そうでない場合には一時従属であるという。
 階数は一次独立な列ベクトルの最大数と解釈できる。階数には以下が成り立つ:

 A\in\mathbb{R}^{m\times n}, B\in\mathbb{R}^{n\times l}として、以下が成り立つ:


\begin{aligned}
rank(AB)&\leq \min\{rank(A),rank(B) \}\\
rank(^{t}A)&=rank(A)\leq \min\{m,n\}
\end{aligned}

0.4 ベクトル空間とその次元

 x\in\mathbb{R}^nの部分集合で、


{\displaystyle 
\begin{eqnarray}
 \left\{
    \begin{array}{l}
       x,y\in V\Longrightarrow x+y\in V,\\
       a\in\mathbb{R}\Longrightarrow ax\in V
    \end{array}
  \right.
\end{eqnarray}
}

が成立するようなV\subset\in\mathbb{R}^n\mathbb{R}^nの部分空間と呼ぶ。
 V,\ Wをそれぞれ\mathbb{R}^n,\ \mathbb{R}^mの部分空間、A\in\mathbb{R}^{m\times n}として、写像


\begin{aligned}
V\ni x \mapsto Ax\in W
\end{aligned}

線型写像という。たとえば像\{Ax|x\in V\}および核\{x\in V| Ax=0\}Vの部分空間になる。
 線型写像には以下が成り立つ:

 V,\ Wをそれぞれ\mathbb{R}^n,\ \mathbb{R}^mの部分空間として、行列A\in\mathbb{R}^{m\times n}による線形写像V\rightarrow Wの像と核はそれぞれW,\ Vの部分空間であって、それらの次元の和はnである。またその像の次元はAの階数に一致する。

0.5 固有値固有ベクトル

 正方行列A\in\mathbb{R}^{n\times n}について、


\begin{aligned}
Ax=\lambda x,\ \lambda\in\mathbb{C},\ x\in\mathbb{R}^n
\end{aligned}

を考え、これについてx\neq 0が成立するとき、x\neq 0固有値\lambda\in\mathbb{C}固有ベクトルという。
 一般に、


\begin{aligned}
(A-\lambda I)x=0の解が x=0のみ&\Leftrightarrow A-\lambda Iの各列が一次独立\\
&\Leftrightarrow A-\lambda Iが正則
\end{aligned}

から、


\begin{aligned}
\lambdaがAの固有値である \Leftrightarrow \det(A-\lambda I)=0
\end{aligned}

 一般にA\in\mathbb{R}^{n\times n}の固有値が[tex:\lambda_1,\cdots,\lambda_nであれば、それらは固有方程式\det(A-tI)=(\lambda_1-t)\cdots(\lambda_n-t)=0の解であり、t=0とおけば、\det(A)=\lambda_1\cdots\lambda_nが成立する。
 正方行列A\in\mathbb{R}^{n\times n}の前後に正則行列とその逆行列を掛けると対角行列になるとき、Aは対角化可能という。

0.6 正規直交基底と直交行列

 ベクトル空間V\boldsymbol{u},\boldsymbol{v}\in V内積およびノルムをそれぞれ


\begin{aligned}
^{t}\boldsymbol{u}\boldsymbol{v}&=\displaystyle{\sum_{i=1}^{n}u_iv_i},\\
\|\boldsymbol{u}\|&=\sqrt{^{t}\boldsymbol{u}\boldsymbol{u}}
\end{aligned}

で定義する。
 この下でVの基底\boldsymbol{u}_1,\cdots,\boldsymbol{u}_nに対し


{\displaystyle 
\begin{eqnarray}
 ^{t}\boldsymbol{u}_{i}\boldsymbol{u}_{j}=\left\{
    \begin{array}{l}
       0,\ i\neq j,\\
       1,\ i=j
    \end{array}
  \right.
\end{eqnarray}
}

であるとき、\boldsymbol{u}_1,\cdots,\boldsymbol{u}_nVの正規直交基底であるという。

正規直交基底の構成法:Gram-Schmidtの正規直交化法

 Vの基底\boldsymbol{u}_1,\cdots,\boldsymbol{u}_nから正規直交基底\boldsymbol{v}_1,\cdots,\boldsymbol{v}_nを以下で構成する:


\begin{aligned}
\boldsymbol{v}_1&=\displaystyle{\frac{1}{\|\boldsymbol{u}_1\|}}\boldsymbol{u}_1,\\
\boldsymbol{v}_{k}^{\prime}&=\boldsymbol{u}_{k}-\sum_{i=1}^{k-1}(\boldsymbol{u}_{k},\boldsymbol{u}_{i})\boldsymbol{u}_{i},\ \boldsymbol{v}_{k}=\displaystyle{\frac{\boldsymbol{v}_{k}^{\prime}}{\|\boldsymbol{v}_{k}^{\prime}\|}}
\end{aligned}

 各列が直交し、大きさが1であるような正方行列を直交行列という。U\in\mathbb{R}^{n\times n}を直交行列とすれば、^{t}UU単位行列になる。したがって、


\begin{aligned}
^{t}U=U^{-1}
\end{aligned}

が成り立つ。またこの両辺の行列式1で、また転置しても行列式の値は等しいから、\det(U)1または-1である。またベクトル空間V\ni \boldsymbol{x}に直交行列Uを掛ける線形写像V\ni x\mapsto Ux\in V直交変換という。直交変換ではベクトル空間の任意の2元の間における内積を変えない。

0.7 対称行列の対角化

 i\gt jを満たすすべての(i,j)成分が0であるような正方行列を上三角行列という。これに対して

 正方行列A\in\mathbb{R}^{n\times n}は適当な直交行列Pを用いてP^{-1}APを上三角にすることができる。

が成り立つ。ここでAが対称行列、すなわち^{t}A=Aならば、


\begin{aligned}
^{t}(P^{-1}AP)&=^{t}P ^{t}A ^{t}P^{-1}\\
&=P^{-1}AP
\end{aligned}

と、P^{-1}APもまた対称行列である。すなわちPを用いて三角化に加え対角化もできていることになる。
 対称行列では、異なる固有空間に含まれるベクトルは直交する。実際、\lambda,\mu\in\mathbb{R}A固有値、またx\in V_{\lambda},\ y\in V_{\mu}に対して


\begin{aligned}
\lambda ^{t}\boldsymbol{x}\boldsymbol{y}&=^{t}(\lambda\boldsymbol{x})\boldsymbol{y}\\
&=^{t}(A\boldsymbol{x})\boldsymbol{y}=^{t}\boldsymbol{x} ^{t}A\boldsymbol{y}\\
&=^{t}\boldsymbol{x}A\boldsymbol{y}=^{t}\boldsymbol{x}(\mu\boldsymbol{y})\\
&=\mu ^{t}\boldsymbol{x}\boldsymbol{y}
\end{aligned}

さらに\lambda\neq\muであるから、^{t}\boldsymbol{x}\boldsymbol{y}=0が成立する。またP^{-1}APが対角行列となるためには、Pの各列ベクトルが一次独立な固有ベクトルであることが必要十分条件であった。したがって

同じ固有空間に含まれるベクトルを直交するように選べば、n個のベクトルすべてがちょっこうすることになる。更に大きさをすべて1に選ぶことでPを直交行列にできる

ことが分かる。さらに

 大きさがnの対称行列Aについて以下は同値である:

  1. A=^{t}BBであるような行列B\in\mathbb{R}^{m\times n}が存在する
  2. 任意の\boldsymbol{x}\in\mathbb{R}^nについて^{t}\boldsymbol{x}A\boldsymbol{x}\geq0
  3. Aのすべての固有値が非負である
プライバシーポリシー お問い合わせ