ベイジアン研究所

技術(人工知能、数学等)と心理の話をしています。

【線形代数学入門】正則行列

  1. 記事の目的以下の記事で行列の演算に関して述べた。本記事では行列の割り算に対応するものが存在する行列である正則行列について解説する。

camelsan.hatenablog.com

camelsan.hatenablog.com

2. 正方行列
ここでは行列の型が(n,n)型(縦と横の大きさが同じ)行列を考える。(n,n,)型の行列を[tex:n次の正方行列という。

正方行列の成分で、特にa_{ii}の成分を対角成分と呼ぶ。

f:id:camelsan:20210123220752p:plain
図1 対角成分

正方行列同士では、常に和、減法、積いずれも常に定義可能である。

2. 単位行列
正方行列で、対角成分が全て1、それ以外の成分が全て0の行列を単位行列と呼ぶ。
即ち次のような行列である(記号でEと表す)。

E=\begin{pmatrix}1&0&\dots&0 \\ 0&1&\dots&0\\ \vdots &\vdots&&\vdots\\ 0&0&\dots&1\end{pmatrix}

行列に単位行列をかけても、変化ない。即ち、

AE=EA=A

である。

3. 正則行列
通常の数の場合、a零出ない限り、ax=xa=1となる数x即ちa^{-1}がちょうどひとつ存在した。行列の場合事情が少し複雑になる。行列Aに対し、AX=EとなるXについて考える。
Xが存在する例:

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

とすると、

X=\begin{pmatrix}1&-1\\-1&2\end{pmatrix}

とすれば良い。実際、

AX=\begin{pmatrix}2&1 \\ 1&3\end{pmatrix}\begin{pmatrix}1&-1\\-1&2\end{pmatrix}=\begin{pmatrix}2-1&-2+2\\1-1&-1+2\end{pmatrix}=\begin{pmatrix}1&0\\0&1\end{pmatrix}

Xが存在しない例:

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

とすると、AX=EとなるXは存在しない。
証明

X=\begin{pmatrix}x_{11}&x_{12}\\x_{21}&x_{22}\end{pmatrix}

として、AX=Eとする。即ち

\begin{pmatrix}1&2\\2&4\end{pmatrix}\begin{pmatrix}x_{11}&x_{12}\\x_{21}&x_{22}\end{pmatrix}=\begin{pmatrix}1&0\\0&1\end{pmatrix}

左辺を計算して、

\begin{pmatrix}x_{11}+2x_{21}&x_{12}+2x_{22}\\2x_{11}+4x_{21}&2x_{12}+4x_{22}\end{pmatrix}=\begin{pmatrix}1&0\\0&1\end{pmatrix}

行列が等しいことの定義より(型と各成分の値が等しい)次の4本の式が得られる。

x_{11}+2x_{21}=1\tag{1}
x_{12}+2x_{22}=0\tag{2}
2x_{11}+4x_{21}=0\tag{3}
2x_{12}+4x_{22}=1\tag{4}

(1)、(3)式より((3)式の両辺を2で割る)、

x_{11}+2x_{21}=1\tag{5}
x_{11}+2x_{21}=0\tag{6}

1\neq 0より、(5)、(6)式を同時に満たすx_{11}, x_{21}は存在しない。よってAX=Eを満たすXは存在しない。

Xが存在する行列を次のように名前をつける。

n次行列Aに対し、XA=AX=Eとなる行列Xが存在するとき、A正則行列という。さらに、XA逆行列という。

Aが正則ならば、その逆行列は一つしかない。
証明:二つの行列X,Yが共に行列Aであったと仮定する。このとき、

\begin{split}X&=XE\ \ \ \ (\text{単位行列の性質)}\\&=X(AY)\ \ \ \ (Y\text{は}A\text{の逆行列なので})\\&=(XA)Y\ \ \ \ (\text{行列の積の分配法則より})\\&=EY\ \ \ \ (X\text{は}A\text{の逆行列なので})\\&=Y\ \ \ \ (\text{単位行列の性質)}\end{split}

となる。

よって、A逆行列A^{-1}と表す。

さらに、正則行列正則行列の積も正則行列である。
証明:二つの正則行列ABとする。このとき、AB逆行列B^{-1}A^{-1}である。

区分けされた行列に関して次が成り立つ。区分けをしたとき、区分けされた各行列も正方行列になるとき、この区分けを対称区分けという。

正方行列の対称区分け

A=\begin{pmatrix}A_{11}&A_{12}\\0&A_{22}\end{pmatrix}

において、[texA{11}]、[tex:A{22}]が正則ならば、Aも正則である。
証明:実際に、A逆行列は次のように与えられる。

A^{-1}=\begin{pmatrix}A_{11}^{-1}&-A_{11}^{-1}A_{12}A_{22}^{-1}\\0&A_{22}^{-1}\end{pmatrix}

次の記事

camelsan.hatenablog.com

4. 参考文献
[1] 線型代数入門

線型代数入門 (基礎数学) [ 斎藤正彦 ]

価格:2,090円
(2021/12/6 21:07時点)
感想(2件)

【線形代数学入門】行列の演算(区分け)

1. 記事の目的
以下の記事で行列の演算(積)について述べた。本記事では大きい型の行列をそれより小さい型の行列の演算(特に積)へと帰着させるテクニックである、行列の区分けについて解説する。

camelsan.hatenablog.com

2. 区分けの例
次の行列を考える。

A=\begin{pmatrix}1&2&5&6\\-3&-1&2&0\\3&8&-4&2\end{pmatrix}

Aの中の行列を、図1のように区画に分ける。

f:id:camelsan:20210122221403p:plain
図1 区分け
区分けした各ブロックの行列を次のように記号で置く。

\begin{split}A_{11}=\begin{pmatrix}1&2&5\\-3&-1&2\end{pmatrix}, A_{12}=\begin{pmatrix}0\\2 \end{pmatrix}, \\ A_{21}=\begin{pmatrix}3&8&-4\end{pmatrix}, A_{22}=\begin{pmatrix}2\end{pmatrix}\end{split}

区分けを行ったAを次のように表すこととする。

A=\begin{pmatrix}A_{11}&A_{12}\\A_{21}&A_{22}\end{pmatrix}

3. 行列の区分け
一般の(l,m)型の行列Aに関して述べる。Ap-1個の横線とq-1個の縦線によって、pq個の区画に分ける。上からs番目、左からt番目の区画の行列をA_{st}とするとき、Aは次のように表される。

A=\begin{pmatrix}A_{11}&A_{12}&\dots&A_{1q}\\A_{21}&A_{22}&\dots&A_{2q}\\ \vdots&\vdots&&\vdots\\A_{p1}&A_{p2}&\dots&A_{pq} \end{pmatrix}

3. 区分けされた行列の積
区分けされた二つの行列の積が、区分けされた行列の成分A_{st}を一つの数とみなして、あたかも普通の行列の積として計算できることを以下で見る。

まず、自然数の分割について説明する。例えば3という数は他の自然数の和として

\begin{split}3&=1+1+1\\&=2+1\end{split}

などと表すことができる。3をこのように表したとき、右辺お(1,1,1)(2,1)などのくみのことを3の分割という。一般に、自然数nに対して

n=l_1+l_2+\dots+l_s

と表したときに(l_1,\dots,l_s自然数)、(l_1,\dots,l_s)自然数nの分割という。

(l,m)型行列Aに対し、lmの分割

l=l_1+l_2+\dots+l_p\tag{1}
m=m_1+m_2+\dots+m_q\tag{2}

をとり、区分けされた行列の区画A_{st}(l_s,m_t)型行列であるとする。(m,n)型行列Bに関しても同様にして、mnの分割

m=m_1+m_2+\dots+m_q\tag{3}
n=n_1+n_2+\dots+n_r\tag{4}

をとり、区分けされた行列の区画B_{tu}(m_t,n_u)型行列であるとする。

注意 : mの分割の仕方は、ABで同じものでなくてはならない(積が定義できなくなるため)。即ち(2)と(3)は各m_1,\dots,m_qも等しくなければならない。

C=AB (ABの結果となりうる(l,m)型行列)をpr個の区画に分ける(区画分けしたときの結果が通常の行列の積と同様にpr個の区画になると予想している)。

C=\begin{pmatrix}C_{11}&C_{12}&\dots&C_{1r}\\ C_{21}&C_{22}&\dots&C_{2r}\\ \vdots &\vdots&&\vdots\\C_{p1}&C_{p2}&\dots&C_{pr} \end{pmatrix}

ここで、C_{su}(l_s,n_u)型であるとする。このとき通常の行列の積のように次が成り立つ。

C_{su}=A_{s1}B_{1u}+A_{s2}B_{2u}+\dots +A_{sq}B_{qu}\tag{5}

(5)の証明:
(5)の両辺が同じ型であることを示す。  A_{st}(l_s,m_t) 型、 B_{tu}(m_t,n_u)(t=1,\dots,q)であるから、積A_{st}B_{tu}は定義され、さらにtによらず、全て(l_s,n_u)型である。従って和 A_{s1}B_{1u}+\dots +A_{sq}B_{qu}(l_s,n_u)型行列で、左辺と同じ型である。
(5)の対応する成分が等しいことを示す。(\alpha,\beta)成分が等しいことを示す。

i=l_1+l_2+\dots+l_{s-1}+\alpha, k=n_1+n_2+\dots+n_{u-1}+\beta\tag{6}

と置くと、

C_{su}(\alpha,\beta)成分
=C(i,k)成分 (図2参照)
=\displaystyle\sum_{j=1}^m a_{ij}b_{jk} (C=ABより)

f:id:camelsan:20210123100159p:plain
図2 等式の図解
一方,

\begin{split}A_{st}B_{tu}\text{の}(\alpha,\beta)\text{成分}&=(A_{st}\text{の}\alpha\text{行目})(B_{tu}\text{の}\beta\text{列目}) \\ &=(A\text{の}i\text{行目の}m_1+\dots+m_{t-1}+1\text{成分から}m_1+\dots+m_t\text{成分目})(B\text{の}k\text{列目の}m_1+\dots+m_{t-1}+1\text{成分から}m_1+\dots+m_t\text{成分目}) \\ &=\begin{pmatrix}a_{(l_1+\dots+l_{s-1}+\alpha)(m_1+\dots+m_{t-1}+1)}&\dots&a_{(l_1+\dots+l_{s-1}+\alpha)(m_1+\dots+m_{t-1}+m_t)}\end{pmatrix}\begin{pmatrix}b_{(m_1+\dots+m_{t-1}+1)(n_1+\dots+n_{u-1}+\beta)}\\ \vdots \\ b_{(m_1+\dots+m_{t-1}+m_t)(n_1+\vdots+n_{u-1}+\beta)}\end{pmatrix} \\ &=\displaystyle\sum_{j=m_1+\dots+m_{t-1}+1}^{m_1+\dots+m_t} a_{(l_1+\dots+l_{s-1}+\alpha)j} b_{j(n_1+\dots+n_{u-1}+\beta)} \\ &=\displaystyle\sum_{j=m_1+\dots+m_{t-1}+1}^{m_1+\dots+m_t} a_{ij} b_{jk} \ \ \ \ \text{((6)式より)}\end{split}

よって

\begin{split}&(A_{s1}B_{1u}+\dots+A_{sq}B_{qu}\text{の}(\alpha,\beta)\text{成分}) \\ &=\displaystyle\sum_{j=1}^{m_1} a_{ij} b_{jk}+\displaystyle\sum_{j=m_1+1}^{m_1+m_2} a_{ij} b_{jk}+\dots+\displaystyle\sum_{j=m_1+\dots+m_{q-1}+1}^{m_1+\dots+m_q} a_{ij} b_{jk} \\ &=\displaystyle\sum_{j=1}^{m_1+\dots+m_q} a_{ij} b_{jk} \\ &=\displaystyle\sum_{j=1}^m a_{ij} b_{jk} \ \ \ \ \text{((2)式より)}\end{split}

従って

C_{su}\text{の}(\alpha,\beta)\text{成分}=A_{s1}B_{1u}+\dots+A_{sq}B_{qu}\text{の}(\alpha,\beta)\text{成分}

より、(5)の各成分が等しいので、(5)の等式が成立する。

4. 具体例
2つの行列を

A=\begin{pmatrix}2&0&0 \\ 0&-1&0 \\ 0&0&3\end{pmatrix},B=\begin{pmatrix}-1&0&0 \\ 0&2&0 \\ 0&0&1\end{pmatrix}

とする。ABを図3 のように区分けすると、ABは次のように計算できる。

f:id:camelsan:20210123124723p:plain
図3 区分け

\begin{split}AB&=\begin{pmatrix}\begin{pmatrix}2&0 \\ 0&-1\end{pmatrix}\begin{pmatrix}-1&0\\0&2\end{pmatrix}+\begin{pmatrix}0\\ 0\end{pmatrix}\begin{pmatrix}0& 0\end{pmatrix} & \begin{pmatrix}2&0 \\ 0&-1\end{pmatrix}\begin{pmatrix}0\\0\end{pmatrix}+\begin{pmatrix}0\\ 0\end{pmatrix}\begin{pmatrix}1\end{pmatrix} \\  \begin{pmatrix}0&0 \end{pmatrix}\begin{pmatrix}-1&0\\0&2\end{pmatrix}+\begin{pmatrix}3\end{pmatrix}\begin{pmatrix}0&0\end{pmatrix}& \begin{pmatrix}0&0 \end{pmatrix}\begin{pmatrix}0\\0\end{pmatrix}+\begin{pmatrix}3\end{pmatrix}\begin{pmatrix}1\end{pmatrix}\end{pmatrix} \\ &=\begin{pmatrix}\begin{pmatrix}-2&0 \\ 0&-2\end{pmatrix}+\begin{pmatrix}0&0 \\ 0&0\end{pmatrix} &\begin{pmatrix}0&0 \end{pmatrix}+\begin{pmatrix}0&0 \end{pmatrix} \\ \begin{pmatrix}0\\0 \end{pmatrix}+\begin{pmatrix}0\\0 \end{pmatrix} & \begin{pmatrix}0 \end{pmatrix}+\begin{pmatrix}3 \end{pmatrix} \end{pmatrix}\ \\ &=\begin{pmatrix}-2&0&0 \\ 0&-2&0 \\ 0&0&3\end{pmatrix}\end{split}

5. 参考文献
[1] 線型代数入門

線型代数入門 (基礎数学) [ 斎藤正彦 ]

価格:2,090円
(2021/12/6 21:07時点)
感想(2件)

【線形代数学入門】行列の演算(積)

1. 記事の目的
以下の記事で行列の演算(和とスカラー倍)について述べた。本記事では行列の積に関して解説する。

camelsan.hatenablog.com

2. 行列の積
A(l,m)型行列、B(m,n)型行列であるとき、積AB(l,n)型行列として次のように定義する。(l,n)型行列AB(i,j)成分は、

\displaystyle\sum_{s=1}^m a_{is}b_{sj}=a_{i1}b_{1j}+a_{i2}b_{2j}+\dots +a_{im}b_{mj}\tag{1}

とする。

(1)式の作り方は次のように考えられる。Aの第i\textbf{a}Bの第j\textbf{b}を取り出す。

\textbf{a}=\begin{pmatrix}a_{i1} & a_{i2} &\dots & a_{im} \end{pmatrix}, \textbf{b}=\begin{pmatrix}b_{1j} \\ b_{2j} \\ \vdots \\ b_{mj} \end{pmatrix}

\textbf{a}の一番上の成分と\textbf{b}の一番左の成分をかけた値、\textbf{a}の上から2番目の成分と\textbf{b}の左から2番目の成分をかけた値、・・・、\textbf{a}の1番下の成分と\textbf{b}の一番左の成分をかけた値、を全て加える。Aの行の長さと、Bの列の長さが同じことから、ちょうど1成分づつ掛け合わされる(逆に言えば、この状況が満たされないとき行列の積は定義されない)。

Aの行の取り出し方はl通り、Bの列の取り出し方はn通りあることから、行列の成分の数はl\times n個なので、(l,n)型行列となる。

ABが定義できたとしても、積BAは定義できるとは限らない。
例:

A=\begin{pmatrix}1 & 2\end{pmatrix},B=\begin{pmatrix} 3 & 2 \\ 1 & 5 \end{pmatrix}

のとき、

\begin{split}AB&=\begin{pmatrix}1&2\end{pmatrix}\begin{pmatrix}3&2\\1&5\end{pmatrix}=\begin{pmatrix}1\times 3+2\times 1 &1\times 2+2\times 5 \end{pmatrix} \\ &=\begin{pmatrix}3+2 &2+10\end{pmatrix}=\begin{pmatrix}5&12\end{pmatrix}\end{split}

となる。

BA=\begin{pmatrix}3&2\\1&5\end{pmatrix}\begin{pmatrix}1&2\end{pmatrix}

は、Aの列の長さとBの行の長さが異なるので、定義ができない。

BAが定義できたとしても、ABと等しいとは限らない。
例:

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

のとき、

\begin{split}AB&=\begin{pmatrix}1&2\\3&4\end{pmatrix}\begin{pmatrix}2&2\\4&3\end{pmatrix}=\begin{pmatrix}1\times 2+2\times 4 &1\times 2+2\times 3 \\3\times 2+4\times 4 & 3\times 2+4\times 3 \end{pmatrix} \\ &=\begin{pmatrix}2+8 &2+6\\ 6+16 & 6+12\end{pmatrix}=\begin{pmatrix}10&8 \\ 22&18\end{pmatrix}\end{split}

となる。一方で、BAは定義可能だが、

\begin{split}AB&=\begin{pmatrix}2&2\\4&3\end{pmatrix}\begin{pmatrix}1&2\\3&4\end{pmatrix}=\begin{pmatrix}2\times 1+2\times 3 &2\times 2+2\times 4 \\4\times 1+3\times 3 & 4\times 2+3\times 4 \end{pmatrix} \\ &=\begin{pmatrix}2+6 &4+8\\ 4+9 & 8+12\end{pmatrix}=\begin{pmatrix}8&12 \\ 13&20\end{pmatrix}\neq AB\end{split}

である。

3. 行列の積の演算法則
行列の積に関して次の演算法則が成り立つ。
A(k,l)型、Bが[(l,m)]型、C(m,n)型の行列ならば

(AB)C=A(BC)\tag{2}

証明:行列が等しいことの定義より、(2)式の両辺の形が等しく、対応する成分が同じであることを示す。ABの型は(k,m)型で、(AB)Cの型は(k,n)型より左辺の型は(k,n)型である。また、BCの型は(l,n)型でA(BC)の型は(k,l)型より右辺の型は(k,l)型である、よって両辺の型は等しい。

A = \begin{pmatrix}
a_{11} & \cdots & a_{1q} & \cdots & a_{1l}\\
\vdots & \ddots & & & \vdots \\
a_{p1} & & a_{pq} & & a_{pl} \\
\vdots & & & \ddots & \vdots \\
a_{k1} & \cdots & a_{kq} & \cdots & a_{kl}
\end{pmatrix},B=\begin{pmatrix}
b_{11} & \cdots & b_{1r} & \cdots & b_{1m}\\
\vdots & \ddots & & & \vdots \\
b_{q1} & & b_{qr} & & b_{qm} \\
\vdots & & & \ddots & \vdots \\
b_{l1} & \cdots & b_{lr} & \cdots & b_{lm}
\end{pmatrix},C=\begin{pmatrix}
c_{11} & \cdots & c_{1s} & \cdots & c_{1n}\\
\vdots & \ddots & & & \vdots \\
c_{r1} & & c_{rs} & & c_{rn} \\
\vdots & & & \ddots & \vdots \\
c_{m1} & \cdots & c_{ms} & \cdots & c_{mn}
\end{pmatrix}

とする。AB(p,r)成分は、

\displaystyle\sum_{q=1}^l a_{pq}b_{qr}

より、(AB)C(p,s)成分は、

\begin{split}\displaystyle\sum_{r=1}^m\{(\displaystyle\sum_{q=1}^l a_{pq}b_{qr})c_{rs}\}&=\displaystyle\sum_{r=1}^m \{(a_{p1}b_{1r}+\dots + a_{pl}b_{lr})c_{rs}\} \\ &=\displaystyle\sum_{r=1}^m (a_{p1}b_{1r}c_{rs}+\dots + a_{pl}b_{lr}c_{rs}) \\ &=\displaystyle\sum_{r=1}^m a_{p1}b_{1r}c_{rs}+\dots +\displaystyle\sum_{r=1}^m a_{pl}b_{lr}c_{rs} \\&=\displaystyle\sum_{q=1}^l(\displaystyle\sum_{r=1}^m a_{pq}b_{qr}c_{rs})\end{split}

一方、BC(q,s)成分は、

\displaystyle\sum_{r=1}^m b_{qr}c_{rs}

であるから、A(BC)(p,s)成分は

\displaystyle\sum_{q=1}^l\{\displaystyle\sum_{r=1}^m a_{pq}(b_{qr}c_{rs})\}=\displaystyle\sum_{q=1}^l(\displaystyle\sum_{r=1}^m a_{pq}b_{qr}c_{rs})

従って、(AB)CA(BC)(p,s)成分は等しい。よって、(AB)C=A(BC)

行列の積と和に関して、次の演算法則が成り立つ。
A(k,l)型、BC(l,m)型の行列ならば

A(B+C)=AB+AC\tag{3}

AB(k,l)型、C(l,m)型の行列ならば

(A+B)C=AC+BC\tag{4}

A(k,l)型の行列ならば

AO_{l,n}=O_{k,n}, O_{n,k}A=O_{n,l}\tag{5}

(3)の証明:

A = \begin{pmatrix}
a_{11} & \cdots & a_{1q} & \cdots & a_{1l}\\
\vdots & \ddots & & & \vdots \\
a_{p1} & & a_{pq} & & a_{pl} \\
\vdots & & & \ddots & \vdots \\
a_{k1} & \cdots & a_{kq} & \cdots & a_{kl}
\end{pmatrix},B=\begin{pmatrix}
b_{11} & \cdots & b_{1r} & \cdots & b_{1m}\\
\vdots & \ddots & & & \vdots \\
b_{q1} & & b_{qr} & & b_{qm} \\
\vdots & & & \ddots & \vdots \\
b_{l1} & \cdots & b_{lr} & \cdots & b_{lm}
\end{pmatrix},C=\begin{pmatrix}
c_{11} & \cdots & c_{1r} & \cdots & c_{1m}\\
\vdots & \ddots & & & \vdots \\
c_{q1} & & c_{qr} & & c_{qm} \\
\vdots & & & \ddots & \vdots \\
c_{l1} & \cdots & c_{lr} & \cdots & c_{lm}
\end{pmatrix}

とする。B+C(l,m)型の行列で、A(B+C)(k,m)型の行列である。一方ABAC(k,m)型の行列で、AB+AC(k,m)型の行列である。よって両辺の行列の型は等しい。

B+C=\begin{pmatrix}
b_{11}+c_{11} & \cdots & b_{1r}+c_{1r} & \cdots & b_{1m}+c_{1m}\\
\vdots & \ddots & & & \vdots \\
b_{q1}+c_{q1} & & b_{qr}+c_{qr} & & b_{qm}+c_{qm} \\
\vdots & & & \ddots & \vdots \\
b_{l1}+c_{l1} & \cdots & b_{lr}+c_{lr} & \cdots & b_{lm}+c_{lm}
\end{pmatrix}

よりA(B+C)(p,r)成分は

\displaystyle\sum_{q=1}^l a_{pq}(b_{qr}+c_{qr})=\displaystyle\sum_{q=1}^l a_{pq}b_{qr}+\displaystyle\sum_{q=1}^l a_{pq}c_{qr}

一方、AB(p,r)成分は、

\displaystyle\sum_{q=1}^l a_{pq}b_{qr}

AC(p,r)成分は、

\displaystyle\sum_{q=1}^l a_{pq}c_{qr}

よりAB+AC(p,r)成分は、

\displaystyle\sum_{q=1}^l a_{pq}b_{qr}+\displaystyle\sum_{q=1}^l a_{pq}c_{qr}

である。従って、A(B+C)AB+ACの各成分は等しいので、A(B+C)=AB+AC

(4)の証明:

A = \begin{pmatrix}
a_{11} & \cdots & a_{1q} & \cdots & a_{1l}\\
\vdots & \ddots & & & \vdots \\
a_{p1} & & a_{pq} & & a_{pl} \\
\vdots & & & \ddots & \vdots \\
a_{k1} & \cdots & a_{kq} & \cdots & a_{kl}
\end{pmatrix},B=\begin{pmatrix}
b_{11} & \cdots & b_{1q} & \cdots & b_{1l}\\
\vdots & \ddots & & & \vdots \\
b_{p1} & & b_{pq} & & b_{pl} \\
\vdots & & & \ddots & \vdots \\
b_{k1} & \cdots & b_{kq} & \cdots & b_{kl}
\end{pmatrix},C=\begin{pmatrix}
c_{11} & \cdots & c_{1r} & \cdots & c_{1m}\\
\vdots & \ddots & & & \vdots \\
c_{q1} & & c_{qr} & & c_{qm} \\
\vdots & & & \ddots & \vdots \\
c_{l1} & \cdots & c_{lr} & \cdots & c_{lm}
\end{pmatrix}

とする。A+B(k,l)型の行列で、(A+B)C(k,m)型の行列である。一方ACBC(k,m)型の行列で、AC+BC(k,m)型の行列である。よって両辺の行列の型は等しい。

A+B=\begin{pmatrix}
a_{11}+b_{11} & \cdots & a_{1q}+b_{1q} & \cdots & a_{1l}+b_{1l}\\
\vdots & \ddots & & & \vdots \\
a_{p1}+b_{p1} & & a_{pq}+b_{pq} & & a_{pl}+b_{pl} \\
\vdots & & & \ddots & \vdots \\
a_{k1}+b_{k1} & \cdots & a_{kq}+b_{kq} & \cdots & a_{kl}+b_{kl}
\end{pmatrix}

より(A+B)C(p,r)成分は、

\displaystyle\sum_{q=1}^l (a_{pq}+b_{qr})c_{qr})=\displaystyle\sum_{q=1}^l a_{pq}c_{qr}+\displaystyle\sum_{q=1}^l b_{pq}c_{qr}

一方、AC(p,r)成分は、

\displaystyle\sum_{q=1}^l a_{pq}c_{qr}

BC(p,r)成分は、

\displaystyle\sum_{q=1}^l b_{pq}c_{qr}

よりAC+BC(p,r)成分は、

\displaystyle\sum_{q=1}^l a_{pq}c_{qr}+\displaystyle\sum_{q=1}^l b_{pq}c_{qr}

である。従って、(A+B)CAC+BCの各成分は等しいので、(A+B)C=AC+BC

(5)の証明:
AO_{l,n}(p,r) 成分は、

\displaystyle\sum_{q=1}^n a_{pq} \cdot 0=0

より AO_{l,n}(k,n) 型の零行列である。

O_{n,k}A(p,r) 成分は、

\displaystyle\sum_{q=1}^k 0 \cdot a_{qr}=0

より O_{n,k}A(n,l) 型の零行列である。

次の記事

camelsan.hatenablog.com

camelsan.hatenablog.com

4. 参考文献
[1]線型代数入門

線型代数入門 (基礎数学) [ 斎藤正彦 ]

価格:2,090円
(2021/12/6 21:07時点)
感想(2件)

【線形代数学入門】行列の演算(和とスカラー倍)

1. 記事の目的
以下の記事で行列の定義を述べた。本記事では行列の演算(和とスカラー倍)に関して述べる。

camelsan.hatenablog.com

2. 行列の和
2つの(m,n)型行列ABに対して、行列の和A+Bを次のように定義する。A+Bの各成分は、対応するABの成分の和とする。即ち、

A=\begin{pmatrix}a_{11} & a_{12} & \dots & a_{1n} \\a_{21} & a_{22} & \dots & a_{2n} \\  \vdots & \vdots &  & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{pmatrix}, B=\begin{pmatrix}b_{11} & b_{12} & \dots & b_{1n} \\b_{21} & b_{22} & \dots & b_{2n} \\  \vdots & \vdots &  & \vdots \\ b_{m1} & b_{m2} & \dots & b_{mn} \end{pmatrix}

のとき、

A=\begin{pmatrix}a_{11}+b_{11} & a_{12}+b_{12} & \dots & a_{1n}+b_{1n} \\a_{21}+b_{21} & a_{22}+b_{22} & \dots & a_{2n}+b_{2n} \\  \vdots & \vdots &  & \vdots \\ a_{m1}+b_{m1} & a_{m2}+b_{m2} & \dots & a_{mn}+b_{mn} \end{pmatrix}

となる。

例:

A=\begin{pmatrix}1&3\\5&2\end{pmatrix}, B=\begin{pmatrix}1&1\\3&3\end{pmatrix}

のとき、

A+B=\begin{pmatrix}1+1&3+1\\5+3&2+3\end{pmatrix}=\begin{pmatrix}2&4\\8&5\end{pmatrix}

となる。

3. 行列のスカラー
縦ベクトルや横ベクトルに対して、一つの数からなる数、例えば2などをスカラーと呼ぶ。スカラー倍とは、スカラーを掛けて得られる結果のことである。実数値のスカラーcに対して、(m,n)型行列AcによるスカラーcAを次のように定義する。cAの各成分は、対応するAの成分をc倍した数とする。即ち、

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

のとき、

cA=\begin{pmatrix}ca_{11} & ca_{12} & \dots & ca_{1n} \\ca_{21} & ca_{22} & \dots & ca_{2n} \\  \vdots & \vdots &  & \vdots \\ ca_{m1} & ca_{m2} & \dots & ca_{mn} \end{pmatrix}

となる。

例:

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

のとき、

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

となる。

特に、(-1)A-Aで表し、A+((-1)B)=A+(-B)A-Bで表す。

  1. 行列の和とスカラー倍の演算法則 成分が全て0であるような(m,n)型行列を(m,n)型零行列といい、O_{m,n}と書く。mnを省略して、Oと書くこともある。

行列に関しては次の演算法則(和の結合法則、交換法則など)が成り立つ。ABC(m,n)型の行列とし、cdスカラーとする。

(A+B)+C=A+(B+C) \tag{1}
A+B=B+A \tag{2}
c(A+B)=cA+cB \tag{3}
(c+d)A=A+(B+C) \tag{4}
(cd)A=c(dA) \tag{5}
1A=A, OA=O \tag{6}

以下でこれらを証明する(数学では1点の曇りもなく正しいことを言うことを証明と言う)。

A=\begin{pmatrix}a_{11} & a_{12} & \dots & a_{1n} \\a_{21} & a_{22} & \dots & a_{2n} \\  \vdots & \vdots &  & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{pmatrix}, B=\begin{pmatrix}b_{11} & b_{12} & \dots & b_{1n} \\b_{21} & b_{22} & \dots & b_{2n} \\  \vdots & \vdots &  & \vdots \\ b_{m1} & b_{m2} & \dots & b_{mn} \end{pmatrix}, C=\begin{pmatrix}c_{11} & c_{12} & \dots & c_{1n} \\c_{21} & c_{22} & \dots & c_{2n} \\  \vdots & \vdots &  & \vdots \\ c_{m1} & c_{m2} & \dots & c_{mn} \end{pmatrix}

とする。

(1)の証明:

\begin{split}(A+B)+C &=\begin{pmatrix}a_{11}+b_{11} & a_{12}+b_{12} & \dots & a_{1n}+b_{1n} \\a_{21}+b_{21} & a_{22}+b_{22} & \dots & a_{2n}+b_{2n} \\  \vdots & \vdots &  & \vdots \\ a_{m1}+b_{m1} & a_{m2}+b_{m2} & \dots & a_{mn}+b_{mn} \end{pmatrix}+C \ \ \ \ \text{(A+Bを先に計算)}\\ &=\begin{pmatrix}(a_{11}+b_{11})+c_{11} & (a_{12}+b_{12})+c_{12} & \dots & (a_{1n}+b_{1n})+c_{1n} \\(a_{21}+b_{21})+c_{12} & (a_{22}+b_{22})+c_{22} & \dots & (a_{2n}+b_{2n})+c_{2n} \\  \vdots & \vdots &  & \vdots \\ (a_{m1}+b_{m1})+c_{m1} & (a_{m2}+b_{m2})+c_{m2} & \dots & (a_{mn}+b_{mn})+c_{mn} \end{pmatrix}\ \ \ \ \text{(和の定義)} \\ &=\begin{pmatrix}a_{11}+(b_{11}+c_{11}) & a_{12}+(b_{12}+c_{12}) & \dots & a_{1n}+(b_{1n}+c_{1n}) \\a_{21}+(b_{21}+c_{12}) & a_{22}+(b_{22}+c_{22}) & \dots & a_{2n}+(b_{2n}+c_{2n}) \\  \vdots & \vdots &  & \vdots \\ a_{m1}+(b_{m1}+c_{m1}) & a_{m2}+(b_{m2}+c_{m2}) & \dots & a_{mn}+(b_{mn}+c_{mn}) \end{pmatrix}\ \ \ \ \text{(各成分で通常の数の結合法則)} \\ &=A+(B+C) \ \ \ \ \text{(和の定義)}\end{split}

(2)の証明:

\begin{split}A+B&=\begin{pmatrix}a_{11}+b_{11} & a_{12}+b_{12} & \dots & a_{1n}+b_{1n} \\a_{21}+b_{21} & a_{22}+b_{22} & \dots & a_{2n}+b_{2n} \\  \vdots & \vdots &  & \vdots \\ a_{m1}+b_{m1} & a_{m2}+b_{m2} & \dots & a_{mn}+b_{mn} \end{pmatrix}\ \ \ \  \text{(和の定義)} \\ &=\begin{pmatrix}b_{11}+a_{11} & b_{12}+a_{12} & \dots & b_{1n}+a_{1n} \\b_{21}+a_{21} & b_{22}+a_{22} & \dots & b_{2n}+a_{2n} \\  \vdots & \vdots &  & \vdots \\ b_{m1}+a_{m1} & b_{m2}+a_{m2} & \dots & b_{mn}+a_{mn} \end{pmatrix} \ \ \  \ \text{(各成分で通常の数の交換法則)} \\ &=B+A\ \ \ \ \text{(和の定義)} \end{split}

(3)の定義:

\begin{split}c(A+B)&=c\begin{pmatrix}a_{11}+b_{11} & a_{12}+b_{12} & \dots & a_{1n}+b_{1n} \\a_{21}+b_{21} & a_{22}+b_{22} & \dots & a_{2n}+b_{2n} \\  \vdots & \vdots &  & \vdots \\ a_{m1}+b_{m1} & a_{m2}+b_{m2} & \dots & a_{mn}+b_{mn} \end{pmatrix} \ \ \ \ \text{(行列の和の定義)}\\ &=\begin{pmatrix}c(a_{11}+b_{11}) & c(a_{12}+b_{12}) & \dots & c(a_{1n}+b_{1n}) \\c(a_{21}+b_{21}) & c(a_{22}+b_{22}) & \dots & c(a_{2n}+b_{2n}) \\  \vdots & \vdots &  & \vdots \\ c(a_{m1}+b_{m1}) & c(a_{m2}+b_{m2}) & \dots & c(a_{mn}+b_{mn}) \end{pmatrix} \ \ \ \ \text{(行列のスカラー倍の定義)} \\ &=\begin{pmatrix}ca_{11}+cb_{11} & ca_{12}+cb_{12} & \dots & ca_{1n}+cb_{1n} \\ca_{21}+cb_{21} & ca_{22}+cb_{22} & \dots & ca_{2n}+cb_{2n} \\  \vdots & \vdots &  & \vdots \\ ca_{m1}+cb_{m1} & ca_{m2}+cb_{m2} & \dots & ca_{mn}+cb_{mn} \end{pmatrix} \ \ \ \ \text{(各成分で分配)} \\ &=\begin{pmatrix}ca_{11} & ca_{12} & \dots & ca_{1n} \\ca_{21} & ca_{22} & \dots & ca_{2n} \\  \vdots & \vdots &  & \vdots \\ ca_{m1} & ca_{m2} & \dots & ca_{mn} \end{pmatrix}+\begin{pmatrix}cb_{11} & cb_{12} & \dots & cb_{1n} \\cb_{21} & cb_{22} & \dots & cb_{2n} \\  \vdots & \vdots &  & \vdots \\ cb_{m1} & cb_{m2} & \dots & cb_{mn} \end{pmatrix}\ \ \ \ \text{(行列の和の定義)} \\ &=cA+cB \ \ \ \ \text{(行列のスカラー倍の定義)} \end{split}

(4)の証明:

\begin{split}(c+d)A&=\begin{pmatrix}(c+d)a_{11} & (c+d)a_{12} & \dots & (c+d)a_{1n} \\(c+d)a_{21} & (c+d)a_{22} & \dots & (c+d)a_{2n} \\  \vdots & \vdots &  & \vdots \\ (c+d)a_{m1} & (c+d)a_{m2} & \dots & (c+d)a_{mn} \end{pmatrix} \ \ \ \ \text{(行列のスカラー倍の定義)} \\ &=\begin{pmatrix}ca_{11}+da_{11} & ca_{12}+da_{12} & \dots & ca_{1n}+da_{1n} \\ca_{21}+da_{21} & ca_{22}+da_{22} & \dots & ca_{2n}+da_{2n} \\  \vdots & \vdots &  & \vdots \\ ca_{m1}+da_{m1} & ca_{m2}+da_{m2} & \dots & ca_{mn}+da_{mn} \end{pmatrix} \ \ \ \ \text{(各成分で分配)} \\ &=\begin{pmatrix}ca_{11} & ca_{12} & \dots & ca_{1n} \\ca_{21} & ca_{22} & \dots & ca_{2n} \\  \vdots & \vdots &  & \vdots \\ ca_{m1} & ca_{m2} & \dots & ca_{mn} \end{pmatrix}+\begin{pmatrix}ca_{11} & ca_{12} & \dots & ca_{1n} \\ca_{21} & ca_{22} & \dots & ca_{2n} \\  \vdots & \vdots &  & \vdots \\ ca_{m1} & ca_{m2} & \dots & ca_{mn} \end{pmatrix}\ \ \ \ \text{(行列の和の定義)} \\ &=cA+dA \ \ \ \ \text{(行列のスカラー倍の定義)} \end{split}

(5)の証明:

\begin{split}(cd)A&=\begin{pmatrix}(cd)a_{11} & (cd)a_{12} & \dots & (cd)a_{1n} \\(cd)a_{21} & (cd)a_{22} & \dots & (cd)a_{2n} \\  \vdots & \vdots &  & \vdots \\ (cd)a_{m1} & (cd)a_{m2} & \dots & (cd)a_{mn} \end{pmatrix} \ \ \ \ \text{(行列のスカラー倍の定義)} \\ &=\begin{pmatrix}c(da_{11}) & c(da_{12}) & \dots & c(da_{1n}) \\c(da_{21}) & c(da_{22}) & \dots & c(da_{2n}) \\  \vdots & \vdots &  & \vdots \\ c(da_{m1}) & c(da_{m2}) & \dots & c(da_{mn}) \end{pmatrix} \ \ \ \ \text{(各成分で分配)} \\ &=c\begin{pmatrix}da_{11} & da_{12} & \dots & da_{1n} \\da_{21} & da_{22} & \dots & da_{2n} \\  \vdots & \vdots &  & \vdots \\ da_{m1} & da_{m2} & \dots & da_{mn} \end{pmatrix} \ \ \ \text{(行列のスカラー倍の定義)} \\ &=c(dA) \ \ \ \ \text{(行列のスカラー倍の定義)} \end{split}

(6)の定義:

\begin{split}1A &=\begin{pmatrix}1\cdot a_{11} & 1\cdot a_{12} & \dots & 1\cdot a_{1n} \\1\cdot a_{21} & 1\cdot a_{22} & \dots & 1\cdot a_{2n} \\  \vdots & \vdots &  & \vdots \\ 1\cdot a_{m1} & 1\cdot a_{m2} & \dots & 1\cdot a_{mn} \end{pmatrix}\ \ \ \ \text{(行列のスカラー倍の定義)} \\ &=\begin{pmatrix}a_{11} & a_{12} & \dots & a_{1n} \\a_{21} & a_{22} & \dots & a_{2n} \\  \vdots & \vdots &  & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{pmatrix}\ \ \ \ \text{(通常の数の計算)} \\ &=A\end{split}
\begin{split}0A &=\begin{pmatrix}0a_{11}& 0a_{12} & \dots &0a_{1n} \\0a_{21}& 0a_{22} & \dots & 0a_{2n}\\  \vdots & \vdots &  & \vdots \\ 0a_{m1}& 0a_{m2}& \dots & 0a_{mn}\end{pmatrix}\ \ \ \ \text{(通常の数の計算)} \\ &= O\ \ \ \ \text{(零行列の定義)}\end{split}

次の記事:

camelsan.hatenablog.com

5. 参考文献
[1]線型代数入門

線型代数入門 (基礎数学) [ 斎藤正彦 ]

価格:2,090円
(2021/12/6 21:07時点)
感想(2件)

【線形代数学入門】概要と行列の定義

1. 記事の目的
線形代数学の解説を目的に、本記事では線形代数学の概要と線形代数学で非常に重要となる行列の定義について述べる。

2. 線形代数の概要
線形代数学とは、ベクトル空間という代数系を扱う代数学である。ベクトル空間同士の写像は行列と1体1対応があることから、行列を調べる学問分野でもある。線形代数の重要性は様々あると思うが(特に数学内では)、近年AIの理論である深層学習おいて扱われることが多い。ニューラルネットワークの流れは頂点を並べたベクトルに重み行列をかけて計算される。詳しくは過去に書いた以下の記事を参照してほしい。

camelsan.hatenablog.com

近年のAIの発展によりこのような理論の重要性はますます増している。こうした状況の中で、一般にも線形代数を理解してAIをより身近にしたいという目的もあり本記事を書くとする。まず初めに行列とは何かについて説明する。

2. 行列の定義
自然数mnに対して、m\times n個の数、a_{ij} (i1からmj1からnまで動く)を用意する。この時これらの数を縦にm個、横にn個、長方形型に並べた表のようなものを(m,n)型の行列という。これを一つの大文字Aで次のように書く。

A = \begin{pmatrix}
a_{11} & \cdots & a_{1j} & \cdots & a_{1n}\\
\vdots & \ddots & & & \vdots \\
a_{i1} & & a_{ij} & & a_{in} \\
\vdots & & & \ddots & \vdots \\
a_{m1} & \cdots & a_{mj} & \cdots & a_{mn}
\end{pmatrix}

(上からi番目、左からj番目にa_{ij}という数を置くという対応になっている。)

行列の中の1個1個の数のことを行列の成分と呼ぶ。特に、a_{ij}のことを(i,j)成分と呼ぶ。

横に1列並んだ列を、縦に1列並んだ列をという。特に、上からi番目の行を第i行、左からj番目の列を第j列という。

f:id:camelsan:20210118205317p:plain
図1 行列

成分が全て実数である行列を実行列という。

m\times nの形の行列を、(m,n)型の行列と言ったが、この行列の型が(m,n)と言ったりする。この言葉を使って、行列が等しいことを定義する。行列ABが等しいというのは、ABが同じ型で、ABの同じ場所にある成分の数の値が同じであることとする。行列ABが等しいことを記号でA=Bと書く。

特殊な形の行列には別の名前で呼ばれることが多い。(m,1)型の行列、つまり縦にm個の数を並べた表を、m項列ベクトルという。このような行列は太い小文字で描かれることが多い。すなわち

\textbf{a} = \begin{pmatrix}
a_{1} \\
\vdots \\
a_{i}\\
\vdots\\
a_{m}
\end{pmatrix}

と書く。(1,n)型の行列をn項行ベクトルという。

次の記事:

camelsan.hatenablog.com

3. 参考文献
[1] 線型代数入門

線型代数入門 (基礎数学) [ 斎藤正彦 ]

価格:2,090円
(2021/12/6 21:07時点)
感想(2件)

とある曲の歌詞から

今週のお題「大人になったなと感じるとき」

最近社会人になったばかりで、毎日あくせく働いて、自分は大人になったなぁ・・・という感覚は正直なところあまり感じていなかった。なんだったら学生の時は研究をしていた身なので今でも研究に身を置いているので学生時代とそれほど変わらない。

そんな中でも、最近とある曲を聴いて、案外自分も大人になっていたんだなぁと感じたことがある。その曲は平原綾香さんの「スマイルスマイル」という曲である。昔から平原さんの歌はとても好きでよく聴いていた。でも何故かこの曲は最近になるまで聞いたことがなかった。

とてもいい曲だなぁと聞いていたらこんな歌詞が頭に残った。
「大人になるってことは忘れてゆくことじゃない自分以外の誰かを想う気持ちが強くなるってこと」
そういえば社会人になってから、実家の母のことをより強く思うようになったり、あの頃の先生今どうしているのかな、と誰かを想うことが多くなった気がする。

子供の頃は、大人は遠い存在でいざなってみると自分は大人には程遠いような気がしている。今でも昔夢見たタイムマシンを作りたいとか、理論でなんでも解き明かせるなんて考えている。案外大人になるっていうのは心の持ち用なのかもしれない。

平原さんの「スマイルスマイル」はとても良い曲なのでぜひ聞いてほしい。Youtubeで期間限定(8年経ってもまだある)で無料で公開されている。

【深層学習入門】誤差逆伝播法

1. 記事の目的
以下の記事でニューラルネットワークの学習方法に関して概略的な解説を行なった。本記事ではニューラルネットワークの学習方法に関し、より具体的に誤差逆伝播法と呼ばれる方法に関して解説を行う。

camelsan.hatenablog.com

2. 概要
ニューラルネットワークの学習方法は、上記の記事で述べた通りだが、微分(勾配値)をプログラムの上でどのように計算するか、を説明できるのが誤差逆伝播法である。つまりニューラルネットワークの学習方法に関して、どのように実装されているかということである。各層の重みに関する勾配値を出力値から、順番に後ろの層から伝播されているように見えることから、このような名称がついている。

3. ニューラルネットワークの設定
図1のような3層からなるニューラルネットワークを考える(3層以上でも考え方は同じ)。

f:id:camelsan:20210117113202p:plain
図1 ニューラルネットワーク
損失関数を2乗和誤差とする。すなわち

E=\frac{1}{2}\displaystyle\sum_{k=1}^c (z_k-t_k)^2

とする。また、各層の活性化関数をシグモイド関数とする。すなわち

s(u)=\frac{1}{1+\mathrm{e}^{-u}}

とする(グラフを図2に示す)。

f:id:camelsan:20210117114216p:plain
図2 シグモイド関数(参考文献[1]より引用)
ここで、シグモイド関数微分は次のようになる(微分の形が分かりやすいという点で選択している)。

s^{'}(u)=s(u)(1-s(u))

以上の設定のもとで隠れ層と出力層を繋ぐ重み、入力層と隠れ層を繋ぐ重みに関する損失関数の勾配値を求める。

4. 誤差逆伝播法による勾配の計算
中間層の出力y_jは次のように計算される。

y_j = s(net_j), net_j=\displaystyle\sum_{i=1}^d w_{ij}x_i

また、出力層の出力z_kは次のように計算される。

z_k = s(net_k), net_k=\displaystyle\sum_{j=1}^d w_{jk}y_j

損失関数Ew_{jk}に関する偏微分を求める。偏微分のチェインルールより、

\frac{\partial E}{\partial w_{jk}}=\frac{\partial E}{\partial net_k}\frac{\partial net_k}{\partial w_{jk}}=\epsilon_k y_j

となる。ただし、

\epsilon_k=\frac{\partial E}{\partial net_k}=\frac{\partial E}{\partial z_k}\frac{\partial z_k}{\partial net_k}=\frac{\partial E}{\partial z_k}s^{'}(net_k)

である。損失関数とシグモイド関数微分を計算すると、

\frac{\partial E}{\partial z_k}=z_k-t_k, s^{'}(net_k)=s(net_k)(1-s(net_k))=z_k(1-z_k)

より、\epsilon_kは以下のようになる。

\epsilon_k=\frac{\partial E}{\partial z_k}s^{'}(net_k)=(z_k-t_k)z_k(1-z_k)

したがって、\frac{\partial E}{\partial w_{jk}}は次のようになる。

\frac{\partial E}{\partial w_{jk}}=(z_k-t_k)z_k(1-z_k)y_j

上式の左辺を見ると、隠れ層と出力層の間の重みに関する損失関数の勾配を、出力値から求めることができる(さらに微分値を四則演算のみで求められているので、プログラムで実装も可能である)。

続いて、損失関数Ew_{jk}に関する偏微分を求める。偏微分のチェインルールより、

\frac{\partial E}{\partial w_{ij}}=\frac{\partial E}{\partial net_j}\frac{\partial net_j}{\partial w_{ij}}=\epsilon_j x_i

となる。ここで、

\epsilon=\frac{\partial E}{\partial net_j}=\displaystyle\sum_{k=1}^c  \{\frac{\partial E}{\partial z_k}\frac{\partial z_k}{\partial net_k}\frac{\partial net_k}{\partial y_j}\}\frac{\partial y_j}{\partial net_j}=\displaystyle\sum_{k=1}^c\{\epsilon w_{jk}\}s^{'}(net_j)

である。s^{'}(net_j)=y_j(1-y_j)より、\epsilon_kは次のようになる。

\epsilon_k=(\displaystyle\sum_{k=1}^c (z_k-t_k)z_k(1-z_k)w_{jk})y_j(1-y_j)

従って、\frac{\partial E}{\partial w_{ij}}は、

\frac{\partial E}{\partial w_{ij}}=(\displaystyle\sum_{k=1}^c (z_k-t_k)z_k(1-z_k)w_{jk})y_j(1-y_j)x_i

となる。上式を見ると前の層の重みや出力値から勾配値を求めることができることがわかる。

5. 参考文献
[1] Wikipedia シグモイド関数
https://ja.wikipedia.org/wiki/シグモイド関数
[2] ディジタル画像処理